1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Copyright (c) 2016 Andreas Färber
4 * Copyright (c) 2016 BayLibre, Inc.
5 * Author: Neil Armstrong <narmstrong@kernel.org>
10 #include "meson-gxl-s905x.dtsi"
13 compatible = "nexbox,a95x", "amlogic,s905x", "amlogic,meson-gxl";
14 model = "NEXBOX A95X (S905X)";
22 stdout-path = "serial0:115200n8";
26 device_type = "memory";
27 reg = <0x0 0x0 0x0 0x80000000>;
30 vddio_card: gpio-regulator {
31 compatible = "regulator-gpio";
33 regulator-name = "VDDIO_CARD";
34 regulator-min-microvolt = <1800000>;
35 regulator-max-microvolt = <3300000>;
37 gpios = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>;
40 /* Based on P200 schematics, signal CARD_1.8V/3.3V_CTR */
45 vddio_boot: regulator-vddio_boot {
46 compatible = "regulator-fixed";
47 regulator-name = "VDDIO_BOOT";
48 regulator-min-microvolt = <1800000>;
49 regulator-max-microvolt = <1800000>;
52 vddao_3v3: regulator-vddao_3v3 {
53 compatible = "regulator-fixed";
54 regulator-name = "VDDAO_3V3";
55 regulator-min-microvolt = <3300000>;
56 regulator-max-microvolt = <3300000>;
59 vcc_3v3: regulator-vcc_3v3 {
60 compatible = "regulator-fixed";
61 regulator-name = "VCC_3V3";
62 regulator-min-microvolt = <3300000>;
63 regulator-max-microvolt = <3300000>;
66 emmc_pwrseq: emmc-pwrseq {
67 compatible = "mmc-pwrseq-emmc";
68 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
72 compatible = "pwm-clock";
74 clock-frequency = <32768>;
75 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
78 sdio_pwrseq: sdio-pwrseq {
79 compatible = "mmc-pwrseq-simple";
80 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
82 clock-names = "ext_clock";
86 compatible = "composite-video-connector";
89 cvbs_connector_in: endpoint {
90 remote-endpoint = <&cvbs_vdac_out>;
96 compatible = "hdmi-connector";
100 hdmi_connector_in: endpoint {
101 remote-endpoint = <&hdmi_tx_tmds_out>;
109 pinctrl-0 = <&ao_cec_pins>;
110 pinctrl-names = "default";
111 hdmi-phandle = <&hdmi_tx>;
115 cvbs_vdac_out: endpoint {
116 remote-endpoint = <&cvbs_connector_in>;
123 phy-handle = <&internal_phy>;
128 pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
129 pinctrl-names = "default";
133 hdmi_tx_tmds_out: endpoint {
134 remote-endpoint = <&hdmi_connector_in>;
140 pinctrl-0 = <&remote_input_ao_pins>;
141 pinctrl-names = "default";
146 pinctrl-0 = <&pwm_e_pins>;
147 pinctrl-names = "default";
148 clocks = <&clkc CLKID_FCLK_DIV4>;
149 clock-names = "clkin0";
152 /* Wireless SDIO Module */
155 pinctrl-0 = <&sdio_pins>;
156 pinctrl-1 = <&sdio_clk_gate_pins>;
157 pinctrl-names = "default", "clk-gate";
158 #address-cells = <1>;
163 max-frequency = <100000000>;
168 /* WiFi firmware requires power to be kept while in suspend */
169 keep-power-in-suspend;
171 mmc-pwrseq = <&sdio_pwrseq>;
173 vmmc-supply = <&vddao_3v3>;
174 vqmmc-supply = <&vddio_boot>;
180 pinctrl-0 = <&sdcard_pins>;
181 pinctrl-1 = <&sdcard_clk_gate_pins>;
182 pinctrl-names = "default", "clk-gate";
186 max-frequency = <50000000>;
189 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
191 vmmc-supply = <&vddao_3v3>;
192 vqmmc-supply = <&vddio_card>;
198 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
199 pinctrl-1 = <&emmc_clk_gate_pins>;
200 pinctrl-names = "default", "clk-gate";
204 max-frequency = <200000000>;
210 mmc-pwrseq = <&emmc_pwrseq>;
211 vmmc-supply = <&vcc_3v3>;
212 vqmmc-supply = <&vddio_boot>;
217 pinctrl-0 = <&uart_ao_a_pins>;
218 pinctrl-names = "default";