xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/meson8b-ec100.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright (c) 2018 Martin Blumenstingl <martin.blumenstingl@googlemail.com>.
4*4882a593Smuzhiyun */
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun/dts-v1/;
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
9*4882a593Smuzhiyun#include <dt-bindings/input/input.h>
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun#include "meson8b.dtsi"
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun/ {
14*4882a593Smuzhiyun	model = "Endless Computers Endless Mini";
15*4882a593Smuzhiyun	compatible = "endless,ec100", "amlogic,meson8b";
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	aliases {
18*4882a593Smuzhiyun		serial0 = &uart_AO;
19*4882a593Smuzhiyun	};
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun	chosen {
22*4882a593Smuzhiyun		stdout-path = "serial0:115200n8";
23*4882a593Smuzhiyun	};
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun	memory {
26*4882a593Smuzhiyun		device_type = "memory";
27*4882a593Smuzhiyun		reg = <0x40000000 0x40000000>;
28*4882a593Smuzhiyun	};
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun	emmc_pwrseq: emmc-pwrseq {
31*4882a593Smuzhiyun		compatible = "mmc-pwrseq-emmc";
32*4882a593Smuzhiyun		reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
33*4882a593Smuzhiyun	};
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun	gpio-keys {
36*4882a593Smuzhiyun		compatible = "gpio-keys-polled";
37*4882a593Smuzhiyun		#address-cells = <1>;
38*4882a593Smuzhiyun		#size-cells = <0>;
39*4882a593Smuzhiyun		poll-interval = <100>;
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun		pal-switch {
42*4882a593Smuzhiyun			label = "pal";
43*4882a593Smuzhiyun			linux,input-type = <EV_SW>;
44*4882a593Smuzhiyun			linux,code = <KEY_SWITCHVIDEOMODE>;
45*4882a593Smuzhiyun			gpios = <&gpio GPIOH_7 GPIO_ACTIVE_LOW>;
46*4882a593Smuzhiyun		};
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun		ntsc-switch {
49*4882a593Smuzhiyun			label = "ntsc";
50*4882a593Smuzhiyun			linux,input-type = <EV_SW>;
51*4882a593Smuzhiyun			linux,code = <KEY_SWITCHVIDEOMODE>;
52*4882a593Smuzhiyun			gpios = <&gpio GPIOH_8 GPIO_ACTIVE_HIGH>;
53*4882a593Smuzhiyun		};
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun		power-button {
56*4882a593Smuzhiyun			label = "power";
57*4882a593Smuzhiyun			linux,code = <KEY_POWER>;
58*4882a593Smuzhiyun			gpios = <&gpio GPIOH_9 GPIO_ACTIVE_LOW>;
59*4882a593Smuzhiyun		};
60*4882a593Smuzhiyun	};
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun	gpio-poweroff {
63*4882a593Smuzhiyun		compatible = "gpio-poweroff";
64*4882a593Smuzhiyun		/*
65*4882a593Smuzhiyun		 * shutdown is managed by the EC (embedded micro-controller)
66*4882a593Smuzhiyun		 * which is configured through GPIOAO_2 (poweroff GPIO) and
67*4882a593Smuzhiyun		 * GPIOAO_7 (power LED, which has to go LOW as well).
68*4882a593Smuzhiyun		 */
69*4882a593Smuzhiyun		gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>;
70*4882a593Smuzhiyun		timeout-ms = <20000>;
71*4882a593Smuzhiyun	};
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun	iio-hwmon {
74*4882a593Smuzhiyun		compatible = "iio-hwmon";
75*4882a593Smuzhiyun		io-channels = <&saradc 8>;
76*4882a593Smuzhiyun	};
77*4882a593Smuzhiyun
78*4882a593Smuzhiyun	leds {
79*4882a593Smuzhiyun		compatible = "gpio-leds";
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun		power {
82*4882a593Smuzhiyun			label = "ec100:red:power";
83*4882a593Smuzhiyun			/*
84*4882a593Smuzhiyun			 * Needs to go LOW (together with the poweroff GPIO)
85*4882a593Smuzhiyun			 * during shutdown to allow the EC (embedded
86*4882a593Smuzhiyun			 * micro-controller) to shutdown the system. Setting
87*4882a593Smuzhiyun			 * the output to LOW signals the EC to start a
88*4882a593Smuzhiyun			 * "breathing"/pulsing effect until the power is fully
89*4882a593Smuzhiyun			 * turned off.
90*4882a593Smuzhiyun			 */
91*4882a593Smuzhiyun			gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_HIGH>;
92*4882a593Smuzhiyun			default-state = "on";
93*4882a593Smuzhiyun		};
94*4882a593Smuzhiyun	};
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun	rtc32k_xtal: rtc32k-xtal-clk {
97*4882a593Smuzhiyun		/* X2 in the schematics */
98*4882a593Smuzhiyun		compatible = "fixed-clock";
99*4882a593Smuzhiyun		clock-frequency = <32768>;
100*4882a593Smuzhiyun		clock-output-names = "RTC32K";
101*4882a593Smuzhiyun		#clock-cells = <0>;
102*4882a593Smuzhiyun	};
103*4882a593Smuzhiyun
104*4882a593Smuzhiyun	usb_vbus: regulator-usb-vbus {
105*4882a593Smuzhiyun		/*
106*4882a593Smuzhiyun		 * Silergy SY6288CCAC-GP 2A Power Distribution Switch.
107*4882a593Smuzhiyun		 */
108*4882a593Smuzhiyun		compatible = "regulator-fixed";
109*4882a593Smuzhiyun
110*4882a593Smuzhiyun		regulator-name = "USB_VBUS";
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
113*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
114*4882a593Smuzhiyun
115*4882a593Smuzhiyun		vin-supply = <&vcc_5v>;
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun		/*
118*4882a593Smuzhiyun		 * signal name from the schematics: USB_PWR_EN
119*4882a593Smuzhiyun		 */
120*4882a593Smuzhiyun		gpio = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>;
121*4882a593Smuzhiyun		enable-active-high;
122*4882a593Smuzhiyun	};
123*4882a593Smuzhiyun
124*4882a593Smuzhiyun	vcc_5v: regulator-vcc5v {
125*4882a593Smuzhiyun		/*
126*4882a593Smuzhiyun		 * supplied by the main power input which called PWR_5V_STB
127*4882a593Smuzhiyun		 * in the schematics
128*4882a593Smuzhiyun		 */
129*4882a593Smuzhiyun		compatible = "regulator-fixed";
130*4882a593Smuzhiyun
131*4882a593Smuzhiyun		regulator-name = "VCC5V";
132*4882a593Smuzhiyun
133*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
134*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
135*4882a593Smuzhiyun
136*4882a593Smuzhiyun		/*
137*4882a593Smuzhiyun		 * signal name from the schematics: 3V3_5V_EN
138*4882a593Smuzhiyun		 */
139*4882a593Smuzhiyun		gpio = <&gpio GPIODV_29 GPIO_ACTIVE_LOW>;
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun		regulator-boot-on;
142*4882a593Smuzhiyun		regulator-always-on;
143*4882a593Smuzhiyun	};
144*4882a593Smuzhiyun
145*4882a593Smuzhiyun	vcck: regulator-vcck {
146*4882a593Smuzhiyun		/*
147*4882a593Smuzhiyun		 * Silergy SY8089AAC-GP 2A continuous, 3A peak, 1MHz
148*4882a593Smuzhiyun		 * Synchronous Step Down Regulator.
149*4882a593Smuzhiyun		 */
150*4882a593Smuzhiyun		compatible = "pwm-regulator";
151*4882a593Smuzhiyun
152*4882a593Smuzhiyun		regulator-name = "VCCK";
153*4882a593Smuzhiyun		regulator-min-microvolt = <860000>;
154*4882a593Smuzhiyun		regulator-max-microvolt = <1140000>;
155*4882a593Smuzhiyun
156*4882a593Smuzhiyun		pwm-supply = <&vcc_5v>;
157*4882a593Smuzhiyun
158*4882a593Smuzhiyun		pwms = <&pwm_cd 0 1148 0>;
159*4882a593Smuzhiyun		pwm-dutycycle-range = <100 0>;
160*4882a593Smuzhiyun
161*4882a593Smuzhiyun		regulator-boot-on;
162*4882a593Smuzhiyun		regulator-always-on;
163*4882a593Smuzhiyun	};
164*4882a593Smuzhiyun
165*4882a593Smuzhiyun	vcc_1v8: regulator-vcc1v8 {
166*4882a593Smuzhiyun		/*
167*4882a593Smuzhiyun		 * ABLIC S-1339D18-M5001-GP
168*4882a593Smuzhiyun		 */
169*4882a593Smuzhiyun		compatible = "regulator-fixed";
170*4882a593Smuzhiyun
171*4882a593Smuzhiyun		regulator-name = "VCC1V8";
172*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
173*4882a593Smuzhiyun		regulator-max-microvolt = <1800000>;
174*4882a593Smuzhiyun
175*4882a593Smuzhiyun		vin-supply = <&vcc_3v3>;
176*4882a593Smuzhiyun	};
177*4882a593Smuzhiyun
178*4882a593Smuzhiyun	vcc_3v3: regulator-vcc3v3 {
179*4882a593Smuzhiyun		/*
180*4882a593Smuzhiyun		 * Silergy SY8089AAC-GP 2A continuous, 3A peak, 1MHz
181*4882a593Smuzhiyun		 * Synchronous Step Down Regulator. Also called
182*4882a593Smuzhiyun		 * VDDIO_AO3.3V in the schematics.
183*4882a593Smuzhiyun		 */
184*4882a593Smuzhiyun		compatible = "regulator-fixed";
185*4882a593Smuzhiyun
186*4882a593Smuzhiyun		regulator-name = "VCC3V3";
187*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
188*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
189*4882a593Smuzhiyun
190*4882a593Smuzhiyun		vin-supply = <&vcc_5v>;
191*4882a593Smuzhiyun	};
192*4882a593Smuzhiyun
193*4882a593Smuzhiyun	vcc_ddr3: regulator-vcc-ddr3 {
194*4882a593Smuzhiyun		/*
195*4882a593Smuzhiyun		 * Silergy SY8089AAC-GP 2A continuous, 3A peak, 1MHz
196*4882a593Smuzhiyun		 * Synchronous Step Down Regulator. Also called
197*4882a593Smuzhiyun		 * DDR3_1.5V in the schematics.
198*4882a593Smuzhiyun		 */
199*4882a593Smuzhiyun		compatible = "regulator-fixed";
200*4882a593Smuzhiyun
201*4882a593Smuzhiyun		regulator-name = "VCC_DDR3_1V5";
202*4882a593Smuzhiyun		regulator-min-microvolt = <1500000>;
203*4882a593Smuzhiyun		regulator-max-microvolt = <1500000>;
204*4882a593Smuzhiyun
205*4882a593Smuzhiyun		vin-supply = <&vcc_5v>;
206*4882a593Smuzhiyun
207*4882a593Smuzhiyun		regulator-boot-on;
208*4882a593Smuzhiyun		regulator-always-on;
209*4882a593Smuzhiyun	};
210*4882a593Smuzhiyun
211*4882a593Smuzhiyun	vcc_rtc: regulator-vcc-rtc {
212*4882a593Smuzhiyun		/*
213*4882a593Smuzhiyun		 * Global Mixed-mode Technology Inc. G918T12U-GP
214*4882a593Smuzhiyun		 */
215*4882a593Smuzhiyun		compatible = "regulator-fixed";
216*4882a593Smuzhiyun
217*4882a593Smuzhiyun		regulator-name = "VCC_RTC";
218*4882a593Smuzhiyun		regulator-min-microvolt = <900000>;
219*4882a593Smuzhiyun		regulator-max-microvolt = <900000>;
220*4882a593Smuzhiyun
221*4882a593Smuzhiyun		/*
222*4882a593Smuzhiyun		 * When the board is powered then the input is VCC3V3,
223*4882a593Smuzhiyun		 * otherwise power is taken from the coin cell battery.
224*4882a593Smuzhiyun		 */
225*4882a593Smuzhiyun		vin-supply = <&vcc_3v3>;
226*4882a593Smuzhiyun	};
227*4882a593Smuzhiyun
228*4882a593Smuzhiyun	vddee: regulator-vddee {
229*4882a593Smuzhiyun		/*
230*4882a593Smuzhiyun		 * Silergy SY8089AAC-GP 2A continuous, 3A peak, 1MHz
231*4882a593Smuzhiyun		 * Synchronous Step Down Regulator. Also called VDDAO
232*4882a593Smuzhiyun		 * in a part of the schematics.
233*4882a593Smuzhiyun		 */
234*4882a593Smuzhiyun		compatible = "pwm-regulator";
235*4882a593Smuzhiyun
236*4882a593Smuzhiyun		regulator-name = "VDDEE";
237*4882a593Smuzhiyun		regulator-min-microvolt = <860000>;
238*4882a593Smuzhiyun		regulator-max-microvolt = <1140000>;
239*4882a593Smuzhiyun
240*4882a593Smuzhiyun		pwm-supply = <&vcc_5v>;
241*4882a593Smuzhiyun
242*4882a593Smuzhiyun		pwms = <&pwm_cd 1 1148 0>;
243*4882a593Smuzhiyun		pwm-dutycycle-range = <100 0>;
244*4882a593Smuzhiyun
245*4882a593Smuzhiyun		regulator-boot-on;
246*4882a593Smuzhiyun		regulator-always-on;
247*4882a593Smuzhiyun	};
248*4882a593Smuzhiyun};
249*4882a593Smuzhiyun
250*4882a593Smuzhiyun&cpu0 {
251*4882a593Smuzhiyun	cpu-supply = <&vcck>;
252*4882a593Smuzhiyun};
253*4882a593Smuzhiyun
254*4882a593Smuzhiyun&ethmac {
255*4882a593Smuzhiyun	status = "okay";
256*4882a593Smuzhiyun
257*4882a593Smuzhiyun	pinctrl-0 = <&eth_rmii_pins>;
258*4882a593Smuzhiyun	pinctrl-names = "default";
259*4882a593Smuzhiyun
260*4882a593Smuzhiyun	phy-handle = <&eth_phy0>;
261*4882a593Smuzhiyun	phy-mode = "rmii";
262*4882a593Smuzhiyun
263*4882a593Smuzhiyun	mdio {
264*4882a593Smuzhiyun		compatible = "snps,dwmac-mdio";
265*4882a593Smuzhiyun		#address-cells = <1>;
266*4882a593Smuzhiyun		#size-cells = <0>;
267*4882a593Smuzhiyun
268*4882a593Smuzhiyun		eth_phy0: ethernet-phy@0 {
269*4882a593Smuzhiyun			/* IC Plus IP101A/G (0x02430c54) */
270*4882a593Smuzhiyun			reg = <0>;
271*4882a593Smuzhiyun
272*4882a593Smuzhiyun			reset-assert-us = <10000>;
273*4882a593Smuzhiyun			reset-deassert-us = <10000>;
274*4882a593Smuzhiyun			reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
275*4882a593Smuzhiyun
276*4882a593Smuzhiyun			icplus,select-interrupt;
277*4882a593Smuzhiyun			interrupt-parent = <&gpio_intc>;
278*4882a593Smuzhiyun			/* GPIOH_3 */
279*4882a593Smuzhiyun			interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
280*4882a593Smuzhiyun		};
281*4882a593Smuzhiyun	};
282*4882a593Smuzhiyun};
283*4882a593Smuzhiyun
284*4882a593Smuzhiyun&i2c_A {
285*4882a593Smuzhiyun	status = "okay";
286*4882a593Smuzhiyun	pinctrl-0 = <&i2c_a_pins>;
287*4882a593Smuzhiyun	pinctrl-names = "default";
288*4882a593Smuzhiyun
289*4882a593Smuzhiyun	rt5640: codec@1c {
290*4882a593Smuzhiyun		compatible = "realtek,rt5640";
291*4882a593Smuzhiyun		reg = <0x1c>;
292*4882a593Smuzhiyun		interrupt-parent = <&gpio_intc>;
293*4882a593Smuzhiyun		interrupts = <13 IRQ_TYPE_EDGE_BOTH>; /* GPIOAO_13 */
294*4882a593Smuzhiyun		realtek,in1-differential;
295*4882a593Smuzhiyun	};
296*4882a593Smuzhiyun};
297*4882a593Smuzhiyun
298*4882a593Smuzhiyun&mali {
299*4882a593Smuzhiyun	mali-supply = <&vddee>;
300*4882a593Smuzhiyun};
301*4882a593Smuzhiyun
302*4882a593Smuzhiyun&saradc {
303*4882a593Smuzhiyun	status = "okay";
304*4882a593Smuzhiyun	vref-supply = <&vcc_1v8>;
305*4882a593Smuzhiyun};
306*4882a593Smuzhiyun
307*4882a593Smuzhiyun&sdhc {
308*4882a593Smuzhiyun	status = "okay";
309*4882a593Smuzhiyun
310*4882a593Smuzhiyun	pinctrl-0 = <&sdxc_c_pins>;
311*4882a593Smuzhiyun	pinctrl-names = "default";
312*4882a593Smuzhiyun
313*4882a593Smuzhiyun	bus-width = <8>;
314*4882a593Smuzhiyun	max-frequency = <50000000>;
315*4882a593Smuzhiyun
316*4882a593Smuzhiyun	cap-mmc-highspeed;
317*4882a593Smuzhiyun	disable-wp;
318*4882a593Smuzhiyun	non-removable;
319*4882a593Smuzhiyun	no-sdio;
320*4882a593Smuzhiyun
321*4882a593Smuzhiyun	mmc-pwrseq = <&emmc_pwrseq>;
322*4882a593Smuzhiyun
323*4882a593Smuzhiyun	vmmc-supply = <&vcc_3v3>;
324*4882a593Smuzhiyun	vqmmc-supply = <&vcc_3v3>;
325*4882a593Smuzhiyun};
326*4882a593Smuzhiyun
327*4882a593Smuzhiyun&sdio {
328*4882a593Smuzhiyun	status = "okay";
329*4882a593Smuzhiyun
330*4882a593Smuzhiyun	pinctrl-0 = <&sd_b_pins>;
331*4882a593Smuzhiyun	pinctrl-names = "default";
332*4882a593Smuzhiyun
333*4882a593Smuzhiyun	/* SD card */
334*4882a593Smuzhiyun	sd_card_slot: slot@1 {
335*4882a593Smuzhiyun		compatible = "mmc-slot";
336*4882a593Smuzhiyun		reg = <1>;
337*4882a593Smuzhiyun		status = "okay";
338*4882a593Smuzhiyun
339*4882a593Smuzhiyun		bus-width = <4>;
340*4882a593Smuzhiyun		no-sdio;
341*4882a593Smuzhiyun		cap-mmc-highspeed;
342*4882a593Smuzhiyun		cap-sd-highspeed;
343*4882a593Smuzhiyun		disable-wp;
344*4882a593Smuzhiyun
345*4882a593Smuzhiyun		cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
346*4882a593Smuzhiyun
347*4882a593Smuzhiyun		vmmc-supply = <&vcc_3v3>;
348*4882a593Smuzhiyun	};
349*4882a593Smuzhiyun};
350*4882a593Smuzhiyun
351*4882a593Smuzhiyun&gpio_ao {
352*4882a593Smuzhiyun	gpio-line-names = "Linux_TX", "Linux_RX",
353*4882a593Smuzhiyun			  "SLP_S5_N", "USB2_OC_FLAG#",
354*4882a593Smuzhiyun			  "HUB_RST", "USB_PWR_EN",
355*4882a593Smuzhiyun			  "I2S_IN", "SLP_S1_N",
356*4882a593Smuzhiyun			  "TCK", "TMS", "TDI", "TDO",
357*4882a593Smuzhiyun			  "HDMI_CEC", "5640_IRQ",
358*4882a593Smuzhiyun			  "MUTE", "S805_TEST#";
359*4882a593Smuzhiyun};
360*4882a593Smuzhiyun
361*4882a593Smuzhiyun&gpio {
362*4882a593Smuzhiyun	gpio-line-names = /* Bank GPIOX */
363*4882a593Smuzhiyun			  "WIFI_SD_D0", "WIFI_SD_D1", "WIFI_SD_D2",
364*4882a593Smuzhiyun			  "WIFI_SD_D3", "BTPCM_DOUT", "BTPCM_DIN",
365*4882a593Smuzhiyun			  "BTPCM_SYNC", "BTPCM_CLK", "WIFI_SD_CLK",
366*4882a593Smuzhiyun			  "WIFI_SD_CMD", "WIFI_32K", "WIFI_PWREN",
367*4882a593Smuzhiyun			  "UART_B_TX", "UART_B_RX", "UART_B_CTS_N",
368*4882a593Smuzhiyun			  "UART_B_RTS_N", "BT_EN", "WIFI_WAKE_HOST",
369*4882a593Smuzhiyun			  /* Bank GPIOY */
370*4882a593Smuzhiyun			  "", "", "", "", "", "", "", "", "", "",
371*4882a593Smuzhiyun			  "", "",
372*4882a593Smuzhiyun			  /* Bank GPIODV */
373*4882a593Smuzhiyun			  "VCCK_PWM_C", "I2C_SDA_A", "I2C_SCL_A",
374*4882a593Smuzhiyun			  "I2C_SDA_B", "I2C_SCL_B", "VDDEE_PWM_D",
375*4882a593Smuzhiyun			  "VDDEE_PWM 3V3_5V_EN",
376*4882a593Smuzhiyun			  /* Bank GPIOH */
377*4882a593Smuzhiyun			  "HDMI_HPD", "HDMI_I2C_SDA", "HDMI_I2C_SCL",
378*4882a593Smuzhiyun			  "RMII_IRQ", "RMII_RST#", "RMII_TXD1",
379*4882a593Smuzhiyun			  "RMII_TXD0", "AV_select_1", "AV_select_2",
380*4882a593Smuzhiyun			  "MCU_Control_S",
381*4882a593Smuzhiyun			  /* Bank CARD */
382*4882a593Smuzhiyun			  "SD_D1_B", "SD_D0_B", "SD_CLK_8726MX",
383*4882a593Smuzhiyun			  "SD_CMD_8726MX", "SD_D3_B", "SD_D2_B",
384*4882a593Smuzhiyun			  "CARD_EN_DET (CARD_DET)",
385*4882a593Smuzhiyun			  /* Bank BOOT */
386*4882a593Smuzhiyun			  "NAND_D0 (EMMC)", "NAND_D1 (EMMC)",
387*4882a593Smuzhiyun			  "NAND_D2 (EMMC)", "NAND_D3 (EMMC)",
388*4882a593Smuzhiyun			  "NAND_D4 (EMMC)", "NAND_D5 (EMMC)",
389*4882a593Smuzhiyun			  "NAND_D6 (EMMC)", "NAND_D7 (EMMC)",
390*4882a593Smuzhiyun			  "NAND_CS1 (EMMC)", "NAND_CS2 iNAND_RS1 (EMMC)",
391*4882a593Smuzhiyun			  "NAND_nR/B iNAND_CMD (EMMC)", "NAND_ALE (EMMC)",
392*4882a593Smuzhiyun			  "NAND_CLE (EMMC)", "nRE_S1 NAND_nRE (EMMC)",
393*4882a593Smuzhiyun			  "nWE_S1 NAND_nWE (EMMC)",  "", "", "SPI_CS",
394*4882a593Smuzhiyun			  /* Bank DIF */
395*4882a593Smuzhiyun			  "RMII_RXD1", "RMII_RXD0", "RMII_CRS_DV",
396*4882a593Smuzhiyun			  "RMII_50M_IN", "GPIODIF_4", "GPIODIF_5",
397*4882a593Smuzhiyun			  "RMII_TXEN", "CPUETH_25MOUT", "RMII_MDC",
398*4882a593Smuzhiyun			  "RMII_MDIO";
399*4882a593Smuzhiyun};
400*4882a593Smuzhiyun
401*4882a593Smuzhiyun&pwm_cd {
402*4882a593Smuzhiyun	status = "okay";
403*4882a593Smuzhiyun	pinctrl-0 = <&pwm_c1_pins>, <&pwm_d_pins>;
404*4882a593Smuzhiyun	pinctrl-names = "default";
405*4882a593Smuzhiyun	clocks = <&xtal>, <&xtal>;
406*4882a593Smuzhiyun	clock-names = "clkin0", "clkin1";
407*4882a593Smuzhiyun};
408*4882a593Smuzhiyun
409*4882a593Smuzhiyun&rtc {
410*4882a593Smuzhiyun	status = "okay";
411*4882a593Smuzhiyun	clocks = <&rtc32k_xtal>;
412*4882a593Smuzhiyun	vdd-supply = <&vcc_rtc>;
413*4882a593Smuzhiyun};
414*4882a593Smuzhiyun
415*4882a593Smuzhiyun/* exposed through the pin headers labeled "URDUG1" on the top of the PCB */
416*4882a593Smuzhiyun&uart_AO {
417*4882a593Smuzhiyun	status = "okay";
418*4882a593Smuzhiyun	pinctrl-0 = <&uart_ao_a_pins>;
419*4882a593Smuzhiyun	pinctrl-names = "default";
420*4882a593Smuzhiyun};
421*4882a593Smuzhiyun
422*4882a593Smuzhiyun/*
423*4882a593Smuzhiyun * connected to the Bluetooth part of the RTL8723BS SDIO wifi / Bluetooth
424*4882a593Smuzhiyun * combo chip. This is only available on the variant with 2GB RAM.
425*4882a593Smuzhiyun */
426*4882a593Smuzhiyun&uart_B {
427*4882a593Smuzhiyun	status = "okay";
428*4882a593Smuzhiyun	pinctrl-0 = <&uart_b0_pins>, <&uart_b0_cts_rts_pins>;
429*4882a593Smuzhiyun	pinctrl-names = "default";
430*4882a593Smuzhiyun	uart-has-rtscts;
431*4882a593Smuzhiyun};
432*4882a593Smuzhiyun
433*4882a593Smuzhiyun&usb1 {
434*4882a593Smuzhiyun	status = "okay";
435*4882a593Smuzhiyun	vbus-supply = <&usb_vbus>;
436*4882a593Smuzhiyun};
437*4882a593Smuzhiyun
438*4882a593Smuzhiyun&usb1_phy {
439*4882a593Smuzhiyun	status = "okay";
440*4882a593Smuzhiyun};
441