xref: /linux/arch/arm64/boot/dts/amlogic/meson-g12b-w400.dtsi (revision 3cb74db9b2561a25701b9024b9d5c0077c43e214)
1*3cb74db9SChristian Hewitt// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*3cb74db9SChristian Hewitt/*
3*3cb74db9SChristian Hewitt * Copyright (c) 2019 BayLibre, SAS
4*3cb74db9SChristian Hewitt * Author: Neil Armstrong <narmstrong@baylibre.com>
5*3cb74db9SChristian Hewitt * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com>
6*3cb74db9SChristian Hewitt */
7*3cb74db9SChristian Hewitt
8*3cb74db9SChristian Hewitt/dts-v1/;
9*3cb74db9SChristian Hewitt
10*3cb74db9SChristian Hewitt#include "meson-g12b.dtsi"
11*3cb74db9SChristian Hewitt#include "meson-g12b-s922x.dtsi"
12*3cb74db9SChristian Hewitt#include <dt-bindings/input/input.h>
13*3cb74db9SChristian Hewitt#include <dt-bindings/gpio/meson-g12a-gpio.h>
14*3cb74db9SChristian Hewitt
15*3cb74db9SChristian Hewitt/ {
16*3cb74db9SChristian Hewitt	aliases {
17*3cb74db9SChristian Hewitt		serial0 = &uart_AO;
18*3cb74db9SChristian Hewitt		ethernet0 = &ethmac;
19*3cb74db9SChristian Hewitt	};
20*3cb74db9SChristian Hewitt
21*3cb74db9SChristian Hewitt	chosen {
22*3cb74db9SChristian Hewitt		stdout-path = "serial0:115200n8";
23*3cb74db9SChristian Hewitt	};
24*3cb74db9SChristian Hewitt
25*3cb74db9SChristian Hewitt	memory@0 {
26*3cb74db9SChristian Hewitt		device_type = "memory";
27*3cb74db9SChristian Hewitt		reg = <0x0 0x0 0x0 0x40000000>;
28*3cb74db9SChristian Hewitt	};
29*3cb74db9SChristian Hewitt
30*3cb74db9SChristian Hewitt	emmc_pwrseq: emmc-pwrseq {
31*3cb74db9SChristian Hewitt		compatible = "mmc-pwrseq-emmc";
32*3cb74db9SChristian Hewitt		reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
33*3cb74db9SChristian Hewitt	};
34*3cb74db9SChristian Hewitt
35*3cb74db9SChristian Hewitt	sdio_pwrseq: sdio-pwrseq {
36*3cb74db9SChristian Hewitt		compatible = "mmc-pwrseq-simple";
37*3cb74db9SChristian Hewitt		reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
38*3cb74db9SChristian Hewitt		clocks = <&wifi32k>;
39*3cb74db9SChristian Hewitt		clock-names = "ext_clock";
40*3cb74db9SChristian Hewitt	};
41*3cb74db9SChristian Hewitt
42*3cb74db9SChristian Hewitt	flash_1v8: regulator-flash_1v8 {
43*3cb74db9SChristian Hewitt		compatible = "regulator-fixed";
44*3cb74db9SChristian Hewitt		regulator-name = "FLASH_1V8";
45*3cb74db9SChristian Hewitt		regulator-min-microvolt = <1800000>;
46*3cb74db9SChristian Hewitt		regulator-max-microvolt = <1800000>;
47*3cb74db9SChristian Hewitt		vin-supply = <&vcc_3v3>;
48*3cb74db9SChristian Hewitt		regulator-always-on;
49*3cb74db9SChristian Hewitt	};
50*3cb74db9SChristian Hewitt
51*3cb74db9SChristian Hewitt	main_12v: regulator-main_12v {
52*3cb74db9SChristian Hewitt		compatible = "regulator-fixed";
53*3cb74db9SChristian Hewitt		regulator-name = "12V";
54*3cb74db9SChristian Hewitt		regulator-min-microvolt = <12000000>;
55*3cb74db9SChristian Hewitt		regulator-max-microvolt = <12000000>;
56*3cb74db9SChristian Hewitt		regulator-always-on;
57*3cb74db9SChristian Hewitt	};
58*3cb74db9SChristian Hewitt
59*3cb74db9SChristian Hewitt	vcc_5v: regulator-vcc_5v {
60*3cb74db9SChristian Hewitt		compatible = "regulator-fixed";
61*3cb74db9SChristian Hewitt		regulator-name = "VCC_5V";
62*3cb74db9SChristian Hewitt		regulator-min-microvolt = <5000000>;
63*3cb74db9SChristian Hewitt		regulator-max-microvolt = <5000000>;
64*3cb74db9SChristian Hewitt		vin-supply = <&main_12v>;
65*3cb74db9SChristian Hewitt
66*3cb74db9SChristian Hewitt		gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
67*3cb74db9SChristian Hewitt		enable-active-high;
68*3cb74db9SChristian Hewitt	};
69*3cb74db9SChristian Hewitt
70*3cb74db9SChristian Hewitt	vcc_1v8: regulator-vcc_1v8 {
71*3cb74db9SChristian Hewitt		compatible = "regulator-fixed";
72*3cb74db9SChristian Hewitt		regulator-name = "VCC_1V8";
73*3cb74db9SChristian Hewitt		regulator-min-microvolt = <1800000>;
74*3cb74db9SChristian Hewitt		regulator-max-microvolt = <1800000>;
75*3cb74db9SChristian Hewitt		vin-supply = <&vcc_3v3>;
76*3cb74db9SChristian Hewitt		regulator-always-on;
77*3cb74db9SChristian Hewitt	};
78*3cb74db9SChristian Hewitt
79*3cb74db9SChristian Hewitt	vcc_3v3: regulator-vcc_3v3 {
80*3cb74db9SChristian Hewitt		compatible = "regulator-fixed";
81*3cb74db9SChristian Hewitt		regulator-name = "VCC_3V3";
82*3cb74db9SChristian Hewitt		regulator-min-microvolt = <3300000>;
83*3cb74db9SChristian Hewitt		regulator-max-microvolt = <3300000>;
84*3cb74db9SChristian Hewitt		vin-supply = <&vddao_3v3>;
85*3cb74db9SChristian Hewitt		regulator-always-on;
86*3cb74db9SChristian Hewitt		/* FIXME: actually controlled by VDDCPU_B_EN */
87*3cb74db9SChristian Hewitt	};
88*3cb74db9SChristian Hewitt
89*3cb74db9SChristian Hewitt	vddcpu_a: regulator-vddcpu-a {
90*3cb74db9SChristian Hewitt		/*
91*3cb74db9SChristian Hewitt		 * MP1653 Regulator.
92*3cb74db9SChristian Hewitt		 */
93*3cb74db9SChristian Hewitt		compatible = "pwm-regulator";
94*3cb74db9SChristian Hewitt
95*3cb74db9SChristian Hewitt		regulator-name = "VDDCPU_A";
96*3cb74db9SChristian Hewitt		regulator-min-microvolt = <721000>;
97*3cb74db9SChristian Hewitt		regulator-max-microvolt = <1022000>;
98*3cb74db9SChristian Hewitt
99*3cb74db9SChristian Hewitt		vin-supply = <&main_12v>;
100*3cb74db9SChristian Hewitt
101*3cb74db9SChristian Hewitt		pwms = <&pwm_ab 0 1250 0>;
102*3cb74db9SChristian Hewitt		pwm-dutycycle-range = <100 0>;
103*3cb74db9SChristian Hewitt
104*3cb74db9SChristian Hewitt		regulator-boot-on;
105*3cb74db9SChristian Hewitt		regulator-always-on;
106*3cb74db9SChristian Hewitt	};
107*3cb74db9SChristian Hewitt
108*3cb74db9SChristian Hewitt	vddcpu_b: regulator-vddcpu-b {
109*3cb74db9SChristian Hewitt		/*
110*3cb74db9SChristian Hewitt		 * MP1652 Regulator.
111*3cb74db9SChristian Hewitt		 */
112*3cb74db9SChristian Hewitt		compatible = "pwm-regulator";
113*3cb74db9SChristian Hewitt
114*3cb74db9SChristian Hewitt		regulator-name = "VDDCPU_B";
115*3cb74db9SChristian Hewitt		regulator-min-microvolt = <721000>;
116*3cb74db9SChristian Hewitt		regulator-max-microvolt = <1022000>;
117*3cb74db9SChristian Hewitt
118*3cb74db9SChristian Hewitt		vin-supply = <&main_12v>;
119*3cb74db9SChristian Hewitt
120*3cb74db9SChristian Hewitt		pwms = <&pwm_AO_cd 1 1250 0>;
121*3cb74db9SChristian Hewitt		pwm-dutycycle-range = <100 0>;
122*3cb74db9SChristian Hewitt
123*3cb74db9SChristian Hewitt		regulator-boot-on;
124*3cb74db9SChristian Hewitt		regulator-always-on;
125*3cb74db9SChristian Hewitt	};
126*3cb74db9SChristian Hewitt
127*3cb74db9SChristian Hewitt	usb1_pow: regulator-usb1-pow {
128*3cb74db9SChristian Hewitt		compatible = "regulator-fixed";
129*3cb74db9SChristian Hewitt		regulator-name = "USB1_POW";
130*3cb74db9SChristian Hewitt		regulator-min-microvolt = <5000000>;
131*3cb74db9SChristian Hewitt		regulator-max-microvolt = <5000000>;
132*3cb74db9SChristian Hewitt		vin-supply = <&vcc_5v>;
133*3cb74db9SChristian Hewitt
134*3cb74db9SChristian Hewitt		/* connected to SY6280A Power Switch */
135*3cb74db9SChristian Hewitt		gpio = <&gpio GPIOA_8 GPIO_ACTIVE_HIGH>;
136*3cb74db9SChristian Hewitt		enable-active-high;
137*3cb74db9SChristian Hewitt	};
138*3cb74db9SChristian Hewitt
139*3cb74db9SChristian Hewitt	usb_pwr_en: regulator-usb-pwr-en {
140*3cb74db9SChristian Hewitt		compatible = "regulator-fixed";
141*3cb74db9SChristian Hewitt		regulator-name = "USB_PWR_EN";
142*3cb74db9SChristian Hewitt		regulator-min-microvolt = <5000000>;
143*3cb74db9SChristian Hewitt		regulator-max-microvolt = <5000000>;
144*3cb74db9SChristian Hewitt		vin-supply = <&vcc_5v>;
145*3cb74db9SChristian Hewitt
146*3cb74db9SChristian Hewitt		/* Connected to USB3 Type-A Port power enable */
147*3cb74db9SChristian Hewitt		gpio = <&gpio GPIOAO_7 GPIO_ACTIVE_HIGH>;
148*3cb74db9SChristian Hewitt		enable-active-high;
149*3cb74db9SChristian Hewitt	};
150*3cb74db9SChristian Hewitt
151*3cb74db9SChristian Hewitt	vddao_1v8: regulator-vddao-1v8 {
152*3cb74db9SChristian Hewitt		compatible = "regulator-fixed";
153*3cb74db9SChristian Hewitt		regulator-name = "VDDAO_1V8";
154*3cb74db9SChristian Hewitt		regulator-min-microvolt = <1800000>;
155*3cb74db9SChristian Hewitt		regulator-max-microvolt = <1800000>;
156*3cb74db9SChristian Hewitt		vin-supply = <&vddao_3v3>;
157*3cb74db9SChristian Hewitt		regulator-always-on;
158*3cb74db9SChristian Hewitt	};
159*3cb74db9SChristian Hewitt
160*3cb74db9SChristian Hewitt	vddao_3v3: regulator-vddao-3v3 {
161*3cb74db9SChristian Hewitt		compatible = "regulator-fixed";
162*3cb74db9SChristian Hewitt		regulator-name = "VDDAO_3V3";
163*3cb74db9SChristian Hewitt		regulator-min-microvolt = <3300000>;
164*3cb74db9SChristian Hewitt		regulator-max-microvolt = <3300000>;
165*3cb74db9SChristian Hewitt		vin-supply = <&main_12v>;
166*3cb74db9SChristian Hewitt		regulator-always-on;
167*3cb74db9SChristian Hewitt	};
168*3cb74db9SChristian Hewitt
169*3cb74db9SChristian Hewitt	cvbs-connector {
170*3cb74db9SChristian Hewitt		compatible = "composite-video-connector";
171*3cb74db9SChristian Hewitt
172*3cb74db9SChristian Hewitt		port {
173*3cb74db9SChristian Hewitt			cvbs_connector_in: endpoint {
174*3cb74db9SChristian Hewitt				remote-endpoint = <&cvbs_vdac_out>;
175*3cb74db9SChristian Hewitt			};
176*3cb74db9SChristian Hewitt		};
177*3cb74db9SChristian Hewitt	};
178*3cb74db9SChristian Hewitt
179*3cb74db9SChristian Hewitt	hdmi-connector {
180*3cb74db9SChristian Hewitt		compatible = "hdmi-connector";
181*3cb74db9SChristian Hewitt		type = "a";
182*3cb74db9SChristian Hewitt
183*3cb74db9SChristian Hewitt		port {
184*3cb74db9SChristian Hewitt			hdmi_connector_in: endpoint {
185*3cb74db9SChristian Hewitt				remote-endpoint = <&hdmi_tx_tmds_out>;
186*3cb74db9SChristian Hewitt			};
187*3cb74db9SChristian Hewitt		};
188*3cb74db9SChristian Hewitt	};
189*3cb74db9SChristian Hewitt
190*3cb74db9SChristian Hewitt	wifi32k: wifi32k {
191*3cb74db9SChristian Hewitt		compatible = "pwm-clock";
192*3cb74db9SChristian Hewitt		#clock-cells = <0>;
193*3cb74db9SChristian Hewitt		clock-frequency = <32768>;
194*3cb74db9SChristian Hewitt		pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
195*3cb74db9SChristian Hewitt	};
196*3cb74db9SChristian Hewitt};
197*3cb74db9SChristian Hewitt
198*3cb74db9SChristian Hewitt&cec_AO {
199*3cb74db9SChristian Hewitt	pinctrl-0 = <&cec_ao_a_h_pins>;
200*3cb74db9SChristian Hewitt	pinctrl-names = "default";
201*3cb74db9SChristian Hewitt	status = "disabled";
202*3cb74db9SChristian Hewitt	hdmi-phandle = <&hdmi_tx>;
203*3cb74db9SChristian Hewitt};
204*3cb74db9SChristian Hewitt
205*3cb74db9SChristian Hewitt&cecb_AO {
206*3cb74db9SChristian Hewitt	pinctrl-0 = <&cec_ao_b_h_pins>;
207*3cb74db9SChristian Hewitt	pinctrl-names = "default";
208*3cb74db9SChristian Hewitt	status = "okay";
209*3cb74db9SChristian Hewitt	hdmi-phandle = <&hdmi_tx>;
210*3cb74db9SChristian Hewitt};
211*3cb74db9SChristian Hewitt
212*3cb74db9SChristian Hewitt&cpu0 {
213*3cb74db9SChristian Hewitt	cpu-supply = <&vddcpu_b>;
214*3cb74db9SChristian Hewitt	operating-points-v2 = <&cpu_opp_table_0>;
215*3cb74db9SChristian Hewitt	clocks = <&clkc CLKID_CPU_CLK>;
216*3cb74db9SChristian Hewitt	clock-latency = <50000>;
217*3cb74db9SChristian Hewitt};
218*3cb74db9SChristian Hewitt
219*3cb74db9SChristian Hewitt&cpu1 {
220*3cb74db9SChristian Hewitt	cpu-supply = <&vddcpu_b>;
221*3cb74db9SChristian Hewitt	operating-points-v2 = <&cpu_opp_table_0>;
222*3cb74db9SChristian Hewitt	clocks = <&clkc CLKID_CPU_CLK>;
223*3cb74db9SChristian Hewitt	clock-latency = <50000>;
224*3cb74db9SChristian Hewitt};
225*3cb74db9SChristian Hewitt
226*3cb74db9SChristian Hewitt&cpu100 {
227*3cb74db9SChristian Hewitt	cpu-supply = <&vddcpu_a>;
228*3cb74db9SChristian Hewitt	operating-points-v2 = <&cpub_opp_table_1>;
229*3cb74db9SChristian Hewitt	clocks = <&clkc CLKID_CPUB_CLK>;
230*3cb74db9SChristian Hewitt	clock-latency = <50000>;
231*3cb74db9SChristian Hewitt};
232*3cb74db9SChristian Hewitt
233*3cb74db9SChristian Hewitt&cpu101 {
234*3cb74db9SChristian Hewitt	cpu-supply = <&vddcpu_a>;
235*3cb74db9SChristian Hewitt	operating-points-v2 = <&cpub_opp_table_1>;
236*3cb74db9SChristian Hewitt	clocks = <&clkc CLKID_CPUB_CLK>;
237*3cb74db9SChristian Hewitt	clock-latency = <50000>;
238*3cb74db9SChristian Hewitt};
239*3cb74db9SChristian Hewitt
240*3cb74db9SChristian Hewitt&cpu102 {
241*3cb74db9SChristian Hewitt	cpu-supply = <&vddcpu_a>;
242*3cb74db9SChristian Hewitt	operating-points-v2 = <&cpub_opp_table_1>;
243*3cb74db9SChristian Hewitt	clocks = <&clkc CLKID_CPUB_CLK>;
244*3cb74db9SChristian Hewitt	clock-latency = <50000>;
245*3cb74db9SChristian Hewitt};
246*3cb74db9SChristian Hewitt
247*3cb74db9SChristian Hewitt&cpu103 {
248*3cb74db9SChristian Hewitt	cpu-supply = <&vddcpu_a>;
249*3cb74db9SChristian Hewitt	operating-points-v2 = <&cpub_opp_table_1>;
250*3cb74db9SChristian Hewitt	clocks = <&clkc CLKID_CPUB_CLK>;
251*3cb74db9SChristian Hewitt	clock-latency = <50000>;
252*3cb74db9SChristian Hewitt};
253*3cb74db9SChristian Hewitt
254*3cb74db9SChristian Hewitt&cvbs_vdac_port {
255*3cb74db9SChristian Hewitt	cvbs_vdac_out: endpoint {
256*3cb74db9SChristian Hewitt		remote-endpoint = <&cvbs_connector_in>;
257*3cb74db9SChristian Hewitt	};
258*3cb74db9SChristian Hewitt};
259*3cb74db9SChristian Hewitt
260*3cb74db9SChristian Hewitt&ext_mdio {
261*3cb74db9SChristian Hewitt	external_phy: ethernet-phy@0 {
262*3cb74db9SChristian Hewitt		/* Realtek RTL8211F (0x001cc916) */
263*3cb74db9SChristian Hewitt		reg = <0>;
264*3cb74db9SChristian Hewitt		max-speed = <1000>;
265*3cb74db9SChristian Hewitt
266*3cb74db9SChristian Hewitt		reset-assert-us = <10000>;
267*3cb74db9SChristian Hewitt		reset-deassert-us = <30000>;
268*3cb74db9SChristian Hewitt		reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
269*3cb74db9SChristian Hewitt
270*3cb74db9SChristian Hewitt		interrupt-parent = <&gpio_intc>;
271*3cb74db9SChristian Hewitt		/* MAC_INTR on GPIOZ_14 */
272*3cb74db9SChristian Hewitt		interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
273*3cb74db9SChristian Hewitt	};
274*3cb74db9SChristian Hewitt};
275*3cb74db9SChristian Hewitt
276*3cb74db9SChristian Hewitt&ethmac {
277*3cb74db9SChristian Hewitt	pinctrl-0 = <&eth_pins>, <&eth_rgmii_pins>;
278*3cb74db9SChristian Hewitt	pinctrl-names = "default";
279*3cb74db9SChristian Hewitt	status = "okay";
280*3cb74db9SChristian Hewitt	phy-mode = "rgmii";
281*3cb74db9SChristian Hewitt	phy-handle = <&external_phy>;
282*3cb74db9SChristian Hewitt	amlogic,tx-delay-ns = <2>;
283*3cb74db9SChristian Hewitt};
284*3cb74db9SChristian Hewitt
285*3cb74db9SChristian Hewitt&hdmi_tx {
286*3cb74db9SChristian Hewitt	status = "okay";
287*3cb74db9SChristian Hewitt	pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
288*3cb74db9SChristian Hewitt	pinctrl-names = "default";
289*3cb74db9SChristian Hewitt	hdmi-supply = <&vcc_5v>;
290*3cb74db9SChristian Hewitt};
291*3cb74db9SChristian Hewitt
292*3cb74db9SChristian Hewitt&hdmi_tx_tmds_port {
293*3cb74db9SChristian Hewitt	hdmi_tx_tmds_out: endpoint {
294*3cb74db9SChristian Hewitt		remote-endpoint = <&hdmi_connector_in>;
295*3cb74db9SChristian Hewitt	};
296*3cb74db9SChristian Hewitt};
297*3cb74db9SChristian Hewitt
298*3cb74db9SChristian Hewitt&ir {
299*3cb74db9SChristian Hewitt	status = "okay";
300*3cb74db9SChristian Hewitt	pinctrl-0 = <&remote_input_ao_pins>;
301*3cb74db9SChristian Hewitt	pinctrl-names = "default";
302*3cb74db9SChristian Hewitt};
303*3cb74db9SChristian Hewitt
304*3cb74db9SChristian Hewitt&pwm_ab {
305*3cb74db9SChristian Hewitt	pinctrl-0 = <&pwm_a_e_pins>;
306*3cb74db9SChristian Hewitt	pinctrl-names = "default";
307*3cb74db9SChristian Hewitt	clocks = <&xtal>;
308*3cb74db9SChristian Hewitt	clock-names = "clkin0";
309*3cb74db9SChristian Hewitt	status = "okay";
310*3cb74db9SChristian Hewitt};
311*3cb74db9SChristian Hewitt
312*3cb74db9SChristian Hewitt&pwm_AO_cd {
313*3cb74db9SChristian Hewitt	pinctrl-0 = <&pwm_ao_d_e_pins>;
314*3cb74db9SChristian Hewitt	pinctrl-names = "default";
315*3cb74db9SChristian Hewitt	clocks = <&xtal>;
316*3cb74db9SChristian Hewitt	clock-names = "clkin1";
317*3cb74db9SChristian Hewitt	status = "okay";
318*3cb74db9SChristian Hewitt};
319*3cb74db9SChristian Hewitt
320*3cb74db9SChristian Hewitt&pwm_ef {
321*3cb74db9SChristian Hewitt	pinctrl-0 = <&pwm_e_pins>;
322*3cb74db9SChristian Hewitt	pinctrl-names = "default";
323*3cb74db9SChristian Hewitt	clocks = <&xtal>;
324*3cb74db9SChristian Hewitt	clock-names = "clkin0";
325*3cb74db9SChristian Hewitt	status = "okay";
326*3cb74db9SChristian Hewitt};
327*3cb74db9SChristian Hewitt
328*3cb74db9SChristian Hewitt/* SDIO */
329*3cb74db9SChristian Hewitt&sd_emmc_a {
330*3cb74db9SChristian Hewitt	status = "okay";
331*3cb74db9SChristian Hewitt	pinctrl-0 = <&sdio_pins>;
332*3cb74db9SChristian Hewitt	pinctrl-1 = <&sdio_clk_gate_pins>;
333*3cb74db9SChristian Hewitt	pinctrl-names = "default", "clk-gate";
334*3cb74db9SChristian Hewitt	#address-cells = <1>;
335*3cb74db9SChristian Hewitt	#size-cells = <0>;
336*3cb74db9SChristian Hewitt
337*3cb74db9SChristian Hewitt	bus-width = <4>;
338*3cb74db9SChristian Hewitt	cap-sd-highspeed;
339*3cb74db9SChristian Hewitt	sd-uhs-sdr50;
340*3cb74db9SChristian Hewitt	max-frequency = <100000000>;
341*3cb74db9SChristian Hewitt
342*3cb74db9SChristian Hewitt	non-removable;
343*3cb74db9SChristian Hewitt	disable-wp;
344*3cb74db9SChristian Hewitt
345*3cb74db9SChristian Hewitt	mmc-pwrseq = <&sdio_pwrseq>;
346*3cb74db9SChristian Hewitt
347*3cb74db9SChristian Hewitt	vmmc-supply = <&vddao_3v3>;
348*3cb74db9SChristian Hewitt	vqmmc-supply = <&vddao_1v8>;
349*3cb74db9SChristian Hewitt
350*3cb74db9SChristian Hewitt	brcmf: wifi@1 {
351*3cb74db9SChristian Hewitt		reg = <1>;
352*3cb74db9SChristian Hewitt		compatible = "brcm,bcm4329-fmac";
353*3cb74db9SChristian Hewitt	};
354*3cb74db9SChristian Hewitt};
355*3cb74db9SChristian Hewitt
356*3cb74db9SChristian Hewitt/* SD card */
357*3cb74db9SChristian Hewitt&sd_emmc_b {
358*3cb74db9SChristian Hewitt	status = "okay";
359*3cb74db9SChristian Hewitt	pinctrl-0 = <&sdcard_c_pins>;
360*3cb74db9SChristian Hewitt	pinctrl-1 = <&sdcard_clk_gate_c_pins>;
361*3cb74db9SChristian Hewitt	pinctrl-names = "default", "clk-gate";
362*3cb74db9SChristian Hewitt
363*3cb74db9SChristian Hewitt	bus-width = <4>;
364*3cb74db9SChristian Hewitt	cap-sd-highspeed;
365*3cb74db9SChristian Hewitt	max-frequency = <50000000>;
366*3cb74db9SChristian Hewitt	disable-wp;
367*3cb74db9SChristian Hewitt
368*3cb74db9SChristian Hewitt	cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
369*3cb74db9SChristian Hewitt	vmmc-supply = <&vddao_3v3>;
370*3cb74db9SChristian Hewitt	vqmmc-supply = <&vddao_3v3>;
371*3cb74db9SChristian Hewitt};
372*3cb74db9SChristian Hewitt
373*3cb74db9SChristian Hewitt/* eMMC */
374*3cb74db9SChristian Hewitt&sd_emmc_c {
375*3cb74db9SChristian Hewitt	status = "okay";
376*3cb74db9SChristian Hewitt	pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
377*3cb74db9SChristian Hewitt	pinctrl-1 = <&emmc_clk_gate_pins>;
378*3cb74db9SChristian Hewitt	pinctrl-names = "default", "clk-gate";
379*3cb74db9SChristian Hewitt
380*3cb74db9SChristian Hewitt	bus-width = <8>;
381*3cb74db9SChristian Hewitt	cap-mmc-highspeed;
382*3cb74db9SChristian Hewitt	max-frequency = <100000000>;
383*3cb74db9SChristian Hewitt	disable-wp;
384*3cb74db9SChristian Hewitt
385*3cb74db9SChristian Hewitt	mmc-pwrseq = <&emmc_pwrseq>;
386*3cb74db9SChristian Hewitt	vmmc-supply = <&vcc_3v3>;
387*3cb74db9SChristian Hewitt	vqmmc-supply = <&flash_1v8>;
388*3cb74db9SChristian Hewitt};
389*3cb74db9SChristian Hewitt
390*3cb74db9SChristian Hewitt&uart_A {
391*3cb74db9SChristian Hewitt	status = "okay";
392*3cb74db9SChristian Hewitt	pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
393*3cb74db9SChristian Hewitt	pinctrl-names = "default";
394*3cb74db9SChristian Hewitt	uart-has-rtscts;
395*3cb74db9SChristian Hewitt
396*3cb74db9SChristian Hewitt	bluetooth {
397*3cb74db9SChristian Hewitt		compatible = "brcm,bcm43438-bt";
398*3cb74db9SChristian Hewitt		shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
399*3cb74db9SChristian Hewitt		max-speed = <2000000>;
400*3cb74db9SChristian Hewitt		clocks = <&wifi32k>;
401*3cb74db9SChristian Hewitt	clock-names = "lpo";
402*3cb74db9SChristian Hewitt	};
403*3cb74db9SChristian Hewitt};
404*3cb74db9SChristian Hewitt
405*3cb74db9SChristian Hewitt&uart_AO {
406*3cb74db9SChristian Hewitt	status = "okay";
407*3cb74db9SChristian Hewitt	pinctrl-0 = <&uart_ao_a_pins>;
408*3cb74db9SChristian Hewitt	pinctrl-names = "default";
409*3cb74db9SChristian Hewitt};
410*3cb74db9SChristian Hewitt
411*3cb74db9SChristian Hewitt&usb {
412*3cb74db9SChristian Hewitt	status = "okay";
413*3cb74db9SChristian Hewitt	dr_mode = "host";
414*3cb74db9SChristian Hewitt	vbus-supply = <&usb_pwr_en>;
415*3cb74db9SChristian Hewitt};
416*3cb74db9SChristian Hewitt
417*3cb74db9SChristian Hewitt&usb2_phy0 {
418*3cb74db9SChristian Hewitt	phy-supply = <&usb1_pow>;
419*3cb74db9SChristian Hewitt};
420*3cb74db9SChristian Hewitt
421*3cb74db9SChristian Hewitt&usb2_phy1 {
422*3cb74db9SChristian Hewitt	phy-supply = <&usb1_pow>;
423*3cb74db9SChristian Hewitt};
424