1*88d537bcSChristian Hewitt// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*88d537bcSChristian Hewitt/*
3*88d537bcSChristian Hewitt * Copyright (c) 2020 Dongjin Kim <tobetter@gmail.com>
4*88d537bcSChristian Hewitt */
5*88d537bcSChristian Hewitt
6*88d537bcSChristian Hewitt#include "meson-sm1.dtsi"
7*88d537bcSChristian Hewitt#include <dt-bindings/gpio/meson-g12a-gpio.h>
8*88d537bcSChristian Hewitt#include <dt-bindings/leds/common.h>
9*88d537bcSChristian Hewitt#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
10*88d537bcSChristian Hewitt
11*88d537bcSChristian Hewitt/ {
12*88d537bcSChristian Hewitt	aliases {
13*88d537bcSChristian Hewitt		serial0 = &uart_AO;
14*88d537bcSChristian Hewitt		ethernet0 = &ethmac;
15*88d537bcSChristian Hewitt	};
16*88d537bcSChristian Hewitt
17*88d537bcSChristian Hewitt	chosen {
18*88d537bcSChristian Hewitt		stdout-path = "serial0:115200n8";
19*88d537bcSChristian Hewitt	};
20*88d537bcSChristian Hewitt
21*88d537bcSChristian Hewitt	memory@0 {
22*88d537bcSChristian Hewitt		device_type = "memory";
23*88d537bcSChristian Hewitt		reg = <0x0 0x0 0x0 0x40000000>;
24*88d537bcSChristian Hewitt	};
25*88d537bcSChristian Hewitt
26*88d537bcSChristian Hewitt	emmc_pwrseq: emmc-pwrseq {
27*88d537bcSChristian Hewitt		compatible = "mmc-pwrseq-emmc";
28*88d537bcSChristian Hewitt		reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
29*88d537bcSChristian Hewitt	};
30*88d537bcSChristian Hewitt
31*88d537bcSChristian Hewitt	tflash_vdd: regulator-tflash_vdd {
32*88d537bcSChristian Hewitt		compatible = "regulator-fixed";
33*88d537bcSChristian Hewitt
34*88d537bcSChristian Hewitt		regulator-name = "TFLASH_VDD";
35*88d537bcSChristian Hewitt		regulator-min-microvolt = <3300000>;
36*88d537bcSChristian Hewitt		regulator-max-microvolt = <3300000>;
37*88d537bcSChristian Hewitt
38*88d537bcSChristian Hewitt		gpio = <&gpio_ao GPIOAO_3 GPIO_OPEN_DRAIN>;
39*88d537bcSChristian Hewitt		enable-active-high;
40*88d537bcSChristian Hewitt		regulator-always-on;
41*88d537bcSChristian Hewitt	};
42*88d537bcSChristian Hewitt
43*88d537bcSChristian Hewitt	tf_io: gpio-regulator-tf_io {
44*88d537bcSChristian Hewitt		compatible = "regulator-gpio";
45*88d537bcSChristian Hewitt
46*88d537bcSChristian Hewitt		regulator-name = "TF_IO";
47*88d537bcSChristian Hewitt		regulator-min-microvolt = <1800000>;
48*88d537bcSChristian Hewitt		regulator-max-microvolt = <3300000>;
49*88d537bcSChristian Hewitt
50*88d537bcSChristian Hewitt		gpios = <&gpio_ao GPIOAO_6 GPIO_ACTIVE_HIGH>;
51*88d537bcSChristian Hewitt		gpios-states = <0>;
52*88d537bcSChristian Hewitt
53*88d537bcSChristian Hewitt		states = <3300000 0>,
54*88d537bcSChristian Hewitt			 <1800000 1>;
55*88d537bcSChristian Hewitt	};
56*88d537bcSChristian Hewitt
57*88d537bcSChristian Hewitt	flash_1v8: regulator-flash_1v8 {
58*88d537bcSChristian Hewitt		compatible = "regulator-fixed";
59*88d537bcSChristian Hewitt		regulator-name = "FLASH_1V8";
60*88d537bcSChristian Hewitt		regulator-min-microvolt = <1800000>;
61*88d537bcSChristian Hewitt		regulator-max-microvolt = <1800000>;
62*88d537bcSChristian Hewitt		vin-supply = <&vcc_3v3>;
63*88d537bcSChristian Hewitt		regulator-always-on;
64*88d537bcSChristian Hewitt	};
65*88d537bcSChristian Hewitt
66*88d537bcSChristian Hewitt	main_12v: regulator-main_12v {
67*88d537bcSChristian Hewitt		compatible = "regulator-fixed";
68*88d537bcSChristian Hewitt		regulator-name = "12V";
69*88d537bcSChristian Hewitt		regulator-min-microvolt = <12000000>;
70*88d537bcSChristian Hewitt		regulator-max-microvolt = <12000000>;
71*88d537bcSChristian Hewitt		regulator-always-on;
72*88d537bcSChristian Hewitt	};
73*88d537bcSChristian Hewitt
74*88d537bcSChristian Hewitt	vcc_5v: regulator-vcc_5v {
75*88d537bcSChristian Hewitt		compatible = "regulator-fixed";
76*88d537bcSChristian Hewitt		regulator-name = "5V";
77*88d537bcSChristian Hewitt		regulator-min-microvolt = <5000000>;
78*88d537bcSChristian Hewitt		regulator-max-microvolt = <5000000>;
79*88d537bcSChristian Hewitt		regulator-always-on;
80*88d537bcSChristian Hewitt		vin-supply = <&main_12v>;
81*88d537bcSChristian Hewitt	};
82*88d537bcSChristian Hewitt
83*88d537bcSChristian Hewitt	vcc_1v8: regulator-vcc_1v8 {
84*88d537bcSChristian Hewitt		compatible = "regulator-fixed";
85*88d537bcSChristian Hewitt		regulator-name = "VCC_1V8";
86*88d537bcSChristian Hewitt		regulator-min-microvolt = <1800000>;
87*88d537bcSChristian Hewitt		regulator-max-microvolt = <1800000>;
88*88d537bcSChristian Hewitt		vin-supply = <&vcc_3v3>;
89*88d537bcSChristian Hewitt		regulator-always-on;
90*88d537bcSChristian Hewitt	};
91*88d537bcSChristian Hewitt
92*88d537bcSChristian Hewitt	vcc_3v3: regulator-vcc_3v3 {
93*88d537bcSChristian Hewitt		compatible = "regulator-fixed";
94*88d537bcSChristian Hewitt		regulator-name = "VCC_3V3";
95*88d537bcSChristian Hewitt		regulator-min-microvolt = <3300000>;
96*88d537bcSChristian Hewitt		regulator-max-microvolt = <3300000>;
97*88d537bcSChristian Hewitt		vin-supply = <&vddao_3v3>;
98*88d537bcSChristian Hewitt		regulator-always-on;
99*88d537bcSChristian Hewitt		/* FIXME: actually controlled by VDDCPU_B_EN */
100*88d537bcSChristian Hewitt	};
101*88d537bcSChristian Hewitt
102*88d537bcSChristian Hewitt	vddcpu: regulator-vddcpu {
103*88d537bcSChristian Hewitt		/*
104*88d537bcSChristian Hewitt		 * MP8756GD Regulator.
105*88d537bcSChristian Hewitt		 */
106*88d537bcSChristian Hewitt		compatible = "pwm-regulator";
107*88d537bcSChristian Hewitt
108*88d537bcSChristian Hewitt		regulator-name = "VDDCPU";
109*88d537bcSChristian Hewitt		regulator-min-microvolt = <721000>;
110*88d537bcSChristian Hewitt		regulator-max-microvolt = <1022000>;
111*88d537bcSChristian Hewitt
112*88d537bcSChristian Hewitt		vin-supply = <&main_12v>;
113*88d537bcSChristian Hewitt
114*88d537bcSChristian Hewitt		pwms = <&pwm_AO_cd 1 1250 0>;
115*88d537bcSChristian Hewitt		pwm-dutycycle-range = <100 0>;
116*88d537bcSChristian Hewitt
117*88d537bcSChristian Hewitt		regulator-boot-on;
118*88d537bcSChristian Hewitt		regulator-always-on;
119*88d537bcSChristian Hewitt	};
120*88d537bcSChristian Hewitt
121*88d537bcSChristian Hewitt	usb_pwr_en: regulator-usb_pwr_en {
122*88d537bcSChristian Hewitt		compatible = "regulator-fixed";
123*88d537bcSChristian Hewitt		regulator-name = "USB_PWR_EN";
124*88d537bcSChristian Hewitt		regulator-min-microvolt = <5000000>;
125*88d537bcSChristian Hewitt		regulator-max-microvolt = <5000000>;
126*88d537bcSChristian Hewitt		vin-supply = <&vcc_5v>;
127*88d537bcSChristian Hewitt
128*88d537bcSChristian Hewitt		/* Connected to the microUSB port power enable */
129*88d537bcSChristian Hewitt		gpio = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
130*88d537bcSChristian Hewitt		enable-active-high;
131*88d537bcSChristian Hewitt	};
132*88d537bcSChristian Hewitt
133*88d537bcSChristian Hewitt	vddao_1v8: regulator-vddao_1v8 {
134*88d537bcSChristian Hewitt		compatible = "regulator-fixed";
135*88d537bcSChristian Hewitt		regulator-name = "VDDAO_1V8";
136*88d537bcSChristian Hewitt		regulator-min-microvolt = <1800000>;
137*88d537bcSChristian Hewitt		regulator-max-microvolt = <1800000>;
138*88d537bcSChristian Hewitt		vin-supply = <&vddao_3v3>;
139*88d537bcSChristian Hewitt		regulator-always-on;
140*88d537bcSChristian Hewitt	};
141*88d537bcSChristian Hewitt
142*88d537bcSChristian Hewitt	vddao_3v3: regulator-vddao_3v3 {
143*88d537bcSChristian Hewitt		compatible = "regulator-fixed";
144*88d537bcSChristian Hewitt		regulator-name = "VDDAO_3V3";
145*88d537bcSChristian Hewitt		regulator-min-microvolt = <3300000>;
146*88d537bcSChristian Hewitt		regulator-max-microvolt = <3300000>;
147*88d537bcSChristian Hewitt		vin-supply = <&main_12v>;
148*88d537bcSChristian Hewitt		regulator-always-on;
149*88d537bcSChristian Hewitt	};
150*88d537bcSChristian Hewitt
151*88d537bcSChristian Hewitt	hdmi-connector {
152*88d537bcSChristian Hewitt		compatible = "hdmi-connector";
153*88d537bcSChristian Hewitt		type = "a";
154*88d537bcSChristian Hewitt
155*88d537bcSChristian Hewitt		port {
156*88d537bcSChristian Hewitt			hdmi_connector_in: endpoint {
157*88d537bcSChristian Hewitt				remote-endpoint = <&hdmi_tx_tmds_out>;
158*88d537bcSChristian Hewitt			};
159*88d537bcSChristian Hewitt		};
160*88d537bcSChristian Hewitt	};
161*88d537bcSChristian Hewitt
162*88d537bcSChristian Hewitt	sound {
163*88d537bcSChristian Hewitt		compatible = "amlogic,axg-sound-card";
164*88d537bcSChristian Hewitt		audio-aux-devs = <&tdmout_b>;
165*88d537bcSChristian Hewitt		audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
166*88d537bcSChristian Hewitt				"TDMOUT_B IN 1", "FRDDR_B OUT 1",
167*88d537bcSChristian Hewitt				"TDMOUT_B IN 2", "FRDDR_C OUT 1",
168*88d537bcSChristian Hewitt				"TDM_B Playback", "TDMOUT_B OUT";
169*88d537bcSChristian Hewitt
170*88d537bcSChristian Hewitt		assigned-clocks = <&clkc CLKID_MPLL2>,
171*88d537bcSChristian Hewitt				  <&clkc CLKID_MPLL0>,
172*88d537bcSChristian Hewitt				  <&clkc CLKID_MPLL1>;
173*88d537bcSChristian Hewitt		assigned-clock-parents = <0>, <0>, <0>;
174*88d537bcSChristian Hewitt		assigned-clock-rates = <294912000>,
175*88d537bcSChristian Hewitt				       <270950400>,
176*88d537bcSChristian Hewitt				       <393216000>;
177*88d537bcSChristian Hewitt		status = "okay";
178*88d537bcSChristian Hewitt
179*88d537bcSChristian Hewitt		dai-link-0 {
180*88d537bcSChristian Hewitt			sound-dai = <&frddr_a>;
181*88d537bcSChristian Hewitt		};
182*88d537bcSChristian Hewitt
183*88d537bcSChristian Hewitt		dai-link-1 {
184*88d537bcSChristian Hewitt			sound-dai = <&frddr_b>;
185*88d537bcSChristian Hewitt		};
186*88d537bcSChristian Hewitt
187*88d537bcSChristian Hewitt		dai-link-2 {
188*88d537bcSChristian Hewitt			sound-dai = <&frddr_c>;
189*88d537bcSChristian Hewitt		};
190*88d537bcSChristian Hewitt
191*88d537bcSChristian Hewitt		/* 8ch hdmi interface */
192*88d537bcSChristian Hewitt		dai-link-3 {
193*88d537bcSChristian Hewitt			sound-dai = <&tdmif_b>;
194*88d537bcSChristian Hewitt			dai-format = "i2s";
195*88d537bcSChristian Hewitt			dai-tdm-slot-tx-mask-0 = <1 1>;
196*88d537bcSChristian Hewitt			dai-tdm-slot-tx-mask-1 = <1 1>;
197*88d537bcSChristian Hewitt			dai-tdm-slot-tx-mask-2 = <1 1>;
198*88d537bcSChristian Hewitt			dai-tdm-slot-tx-mask-3 = <1 1>;
199*88d537bcSChristian Hewitt			mclk-fs = <256>;
200*88d537bcSChristian Hewitt
201*88d537bcSChristian Hewitt			codec {
202*88d537bcSChristian Hewitt				sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
203*88d537bcSChristian Hewitt			};
204*88d537bcSChristian Hewitt		};
205*88d537bcSChristian Hewitt
206*88d537bcSChristian Hewitt		/* hdmi glue */
207*88d537bcSChristian Hewitt		dai-link-4 {
208*88d537bcSChristian Hewitt			sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
209*88d537bcSChristian Hewitt
210*88d537bcSChristian Hewitt			codec {
211*88d537bcSChristian Hewitt				sound-dai = <&hdmi_tx>;
212*88d537bcSChristian Hewitt			};
213*88d537bcSChristian Hewitt		};
214*88d537bcSChristian Hewitt	};
215*88d537bcSChristian Hewitt};
216*88d537bcSChristian Hewitt
217*88d537bcSChristian Hewitt&arb {
218*88d537bcSChristian Hewitt	status = "okay";
219*88d537bcSChristian Hewitt};
220*88d537bcSChristian Hewitt
221*88d537bcSChristian Hewitt&clkc_audio {
222*88d537bcSChristian Hewitt	status = "okay";
223*88d537bcSChristian Hewitt};
224*88d537bcSChristian Hewitt
225*88d537bcSChristian Hewitt&cpu0 {
226*88d537bcSChristian Hewitt	cpu-supply = <&vddcpu>;
227*88d537bcSChristian Hewitt	operating-points-v2 = <&cpu_opp_table>;
228*88d537bcSChristian Hewitt	clocks = <&clkc CLKID_CPU_CLK>;
229*88d537bcSChristian Hewitt	clock-latency = <50000>;
230*88d537bcSChristian Hewitt};
231*88d537bcSChristian Hewitt
232*88d537bcSChristian Hewitt&cpu1 {
233*88d537bcSChristian Hewitt	cpu-supply = <&vddcpu>;
234*88d537bcSChristian Hewitt	operating-points-v2 = <&cpu_opp_table>;
235*88d537bcSChristian Hewitt	clocks = <&clkc CLKID_CPU1_CLK>;
236*88d537bcSChristian Hewitt	clock-latency = <50000>;
237*88d537bcSChristian Hewitt};
238*88d537bcSChristian Hewitt
239*88d537bcSChristian Hewitt&cpu2 {
240*88d537bcSChristian Hewitt	cpu-supply = <&vddcpu>;
241*88d537bcSChristian Hewitt	operating-points-v2 = <&cpu_opp_table>;
242*88d537bcSChristian Hewitt	clocks = <&clkc CLKID_CPU2_CLK>;
243*88d537bcSChristian Hewitt	clock-latency = <50000>;
244*88d537bcSChristian Hewitt};
245*88d537bcSChristian Hewitt
246*88d537bcSChristian Hewitt&cpu3 {
247*88d537bcSChristian Hewitt	cpu-supply = <&vddcpu>;
248*88d537bcSChristian Hewitt	operating-points-v2 = <&cpu_opp_table>;
249*88d537bcSChristian Hewitt	clocks = <&clkc CLKID_CPU3_CLK>;
250*88d537bcSChristian Hewitt	clock-latency = <50000>;
251*88d537bcSChristian Hewitt};
252*88d537bcSChristian Hewitt
253*88d537bcSChristian Hewitt&ext_mdio {
254*88d537bcSChristian Hewitt	external_phy: ethernet-phy@0 {
255*88d537bcSChristian Hewitt		/* Realtek RTL8211F (0x001cc916) */
256*88d537bcSChristian Hewitt		reg = <0>;
257*88d537bcSChristian Hewitt		max-speed = <1000>;
258*88d537bcSChristian Hewitt
259*88d537bcSChristian Hewitt		interrupt-parent = <&gpio_intc>;
260*88d537bcSChristian Hewitt		/* MAC_INTR on GPIOZ_14 */
261*88d537bcSChristian Hewitt		interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
262*88d537bcSChristian Hewitt	};
263*88d537bcSChristian Hewitt};
264*88d537bcSChristian Hewitt
265*88d537bcSChristian Hewitt&ethmac {
266*88d537bcSChristian Hewitt	pinctrl-0 = <&eth_pins>, <&eth_rgmii_pins>;
267*88d537bcSChristian Hewitt	pinctrl-names = "default";
268*88d537bcSChristian Hewitt	status = "okay";
269*88d537bcSChristian Hewitt	phy-mode = "rgmii";
270*88d537bcSChristian Hewitt	phy-handle = <&external_phy>;
271*88d537bcSChristian Hewitt	amlogic,tx-delay-ns = <2>;
272*88d537bcSChristian Hewitt};
273*88d537bcSChristian Hewitt
274*88d537bcSChristian Hewitt&frddr_a {
275*88d537bcSChristian Hewitt	status = "okay";
276*88d537bcSChristian Hewitt};
277*88d537bcSChristian Hewitt
278*88d537bcSChristian Hewitt&frddr_b {
279*88d537bcSChristian Hewitt	status = "okay";
280*88d537bcSChristian Hewitt};
281*88d537bcSChristian Hewitt
282*88d537bcSChristian Hewitt&frddr_c {
283*88d537bcSChristian Hewitt	status = "okay";
284*88d537bcSChristian Hewitt};
285*88d537bcSChristian Hewitt
286*88d537bcSChristian Hewitt&gpio {
287*88d537bcSChristian Hewitt	gpio-line-names =
288*88d537bcSChristian Hewitt		/* GPIOZ */
289*88d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
290*88d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
291*88d537bcSChristian Hewitt		/* GPIOH */
292*88d537bcSChristian Hewitt		"", "", "", "", "",
293*88d537bcSChristian Hewitt		"PIN_36", /* GPIOH_5 */
294*88d537bcSChristian Hewitt		"PIN_26", /* GPIOH_6 */
295*88d537bcSChristian Hewitt		"PIN_32", /* GPIOH_7 */
296*88d537bcSChristian Hewitt		"",
297*88d537bcSChristian Hewitt		/* BOOT */
298*88d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
299*88d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
300*88d537bcSChristian Hewitt		/* GPIOC */
301*88d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
302*88d537bcSChristian Hewitt		/* GPIOA */
303*88d537bcSChristian Hewitt		"", "", "", "", "", "", "", "",
304*88d537bcSChristian Hewitt		"", "", "", "", "", "",
305*88d537bcSChristian Hewitt		"PIN_27", /* GPIOA_14 */
306*88d537bcSChristian Hewitt		"PIN_28", /* GPIOA_15 */
307*88d537bcSChristian Hewitt		/* GPIOX */
308*88d537bcSChristian Hewitt		"PIN_16", /* GPIOX_0 */
309*88d537bcSChristian Hewitt		"PIN_18", /* GPIOX_1 */
310*88d537bcSChristian Hewitt		"PIN_22", /* GPIOX_2 */
311*88d537bcSChristian Hewitt		"PIN_11", /* GPIOX_3 */
312*88d537bcSChristian Hewitt		"PIN_13", /* GPIOX_4 */
313*88d537bcSChristian Hewitt		"PIN_7",  /* GPIOX_5 */
314*88d537bcSChristian Hewitt		"PIN_33", /* GPIOX_6 */
315*88d537bcSChristian Hewitt		"PIN_15", /* GPIOX_7 */
316*88d537bcSChristian Hewitt		"PIN_19", /* GPIOX_8 */
317*88d537bcSChristian Hewitt		"PIN_21", /* GPIOX_9 */
318*88d537bcSChristian Hewitt		"PIN_24", /* GPIOX_10 */
319*88d537bcSChristian Hewitt		"PIN_23", /* GPIOX_11 */
320*88d537bcSChristian Hewitt		"PIN_8",  /* GPIOX_12 */
321*88d537bcSChristian Hewitt		"PIN_10", /* GPIOX_13 */
322*88d537bcSChristian Hewitt		"PIN_29", /* GPIOX_14 */
323*88d537bcSChristian Hewitt		"PIN_31", /* GPIOX_15 */
324*88d537bcSChristian Hewitt		"PIN_12", /* GPIOX_16 */
325*88d537bcSChristian Hewitt		"PIN_3",  /* GPIOX_17 */
326*88d537bcSChristian Hewitt		"PIN_5",  /* GPIOX_18 */
327*88d537bcSChristian Hewitt		"PIN_35"; /* GPIOX_19 */
328*88d537bcSChristian Hewitt};
329*88d537bcSChristian Hewitt
330*88d537bcSChristian Hewitt&gpio_ao {
331*88d537bcSChristian Hewitt	gpio-line-names =
332*88d537bcSChristian Hewitt		/* GPIOAO */
333*88d537bcSChristian Hewitt		"", "", "", "",
334*88d537bcSChristian Hewitt		"PIN_47", /* GPIOAO_4 */
335*88d537bcSChristian Hewitt		"", "",
336*88d537bcSChristian Hewitt		"PIN_45", /* GPIOAO_7 */
337*88d537bcSChristian Hewitt		"PIN_46", /* GPIOAO_8 */
338*88d537bcSChristian Hewitt		"PIN_44", /* GPIOAO_9 */
339*88d537bcSChristian Hewitt		"PIN_42", /* GPIOAO_10 */
340*88d537bcSChristian Hewitt		"",
341*88d537bcSChristian Hewitt		/* GPIOE */
342*88d537bcSChristian Hewitt		"", "", "";
343*88d537bcSChristian Hewitt};
344*88d537bcSChristian Hewitt
345*88d537bcSChristian Hewitt&hdmi_tx {
346*88d537bcSChristian Hewitt	status = "okay";
347*88d537bcSChristian Hewitt	pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
348*88d537bcSChristian Hewitt	pinctrl-names = "default";
349*88d537bcSChristian Hewitt	hdmi-supply = <&vcc_5v>;
350*88d537bcSChristian Hewitt};
351*88d537bcSChristian Hewitt
352*88d537bcSChristian Hewitt&hdmi_tx_tmds_port {
353*88d537bcSChristian Hewitt	hdmi_tx_tmds_out: endpoint {
354*88d537bcSChristian Hewitt		remote-endpoint = <&hdmi_connector_in>;
355*88d537bcSChristian Hewitt	};
356*88d537bcSChristian Hewitt};
357*88d537bcSChristian Hewitt
358*88d537bcSChristian Hewitt&ir {
359*88d537bcSChristian Hewitt	status = "okay";
360*88d537bcSChristian Hewitt	pinctrl-0 = <&remote_input_ao_pins>;
361*88d537bcSChristian Hewitt	pinctrl-names = "default";
362*88d537bcSChristian Hewitt};
363*88d537bcSChristian Hewitt
364*88d537bcSChristian Hewitt&pwm_AO_cd {
365*88d537bcSChristian Hewitt	pinctrl-0 = <&pwm_ao_d_e_pins>;
366*88d537bcSChristian Hewitt	pinctrl-names = "default";
367*88d537bcSChristian Hewitt	clocks = <&xtal>;
368*88d537bcSChristian Hewitt	clock-names = "clkin1";
369*88d537bcSChristian Hewitt	status = "okay";
370*88d537bcSChristian Hewitt};
371*88d537bcSChristian Hewitt
372*88d537bcSChristian Hewitt&saradc {
373*88d537bcSChristian Hewitt	status = "okay";
374*88d537bcSChristian Hewitt};
375*88d537bcSChristian Hewitt
376*88d537bcSChristian Hewitt/* SD card */
377*88d537bcSChristian Hewitt&sd_emmc_b {
378*88d537bcSChristian Hewitt	status = "okay";
379*88d537bcSChristian Hewitt	pinctrl-0 = <&sdcard_c_pins>;
380*88d537bcSChristian Hewitt	pinctrl-1 = <&sdcard_clk_gate_c_pins>;
381*88d537bcSChristian Hewitt	pinctrl-names = "default", "clk-gate";
382*88d537bcSChristian Hewitt
383*88d537bcSChristian Hewitt	bus-width = <4>;
384*88d537bcSChristian Hewitt	cap-sd-highspeed;
385*88d537bcSChristian Hewitt	max-frequency = <200000000>;
386*88d537bcSChristian Hewitt	sd-uhs-sdr12;
387*88d537bcSChristian Hewitt	sd-uhs-sdr25;
388*88d537bcSChristian Hewitt	sd-uhs-sdr50;
389*88d537bcSChristian Hewitt	sd-uhs-sdr104;
390*88d537bcSChristian Hewitt	disable-wp;
391*88d537bcSChristian Hewitt
392*88d537bcSChristian Hewitt	cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
393*88d537bcSChristian Hewitt	vmmc-supply = <&tflash_vdd>;
394*88d537bcSChristian Hewitt	vqmmc-supply = <&tf_io>;
395*88d537bcSChristian Hewitt};
396*88d537bcSChristian Hewitt
397*88d537bcSChristian Hewitt/* eMMC */
398*88d537bcSChristian Hewitt&sd_emmc_c {
399*88d537bcSChristian Hewitt	status = "okay";
400*88d537bcSChristian Hewitt	pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
401*88d537bcSChristian Hewitt	pinctrl-1 = <&emmc_clk_gate_pins>;
402*88d537bcSChristian Hewitt	pinctrl-names = "default", "clk-gate";
403*88d537bcSChristian Hewitt
404*88d537bcSChristian Hewitt	bus-width = <8>;
405*88d537bcSChristian Hewitt	cap-mmc-highspeed;
406*88d537bcSChristian Hewitt	mmc-ddr-1_8v;
407*88d537bcSChristian Hewitt	mmc-hs200-1_8v;
408*88d537bcSChristian Hewitt	max-frequency = <200000000>;
409*88d537bcSChristian Hewitt	disable-wp;
410*88d537bcSChristian Hewitt
411*88d537bcSChristian Hewitt	mmc-pwrseq = <&emmc_pwrseq>;
412*88d537bcSChristian Hewitt	vmmc-supply = <&vcc_3v3>;
413*88d537bcSChristian Hewitt	vqmmc-supply = <&flash_1v8>;
414*88d537bcSChristian Hewitt};
415*88d537bcSChristian Hewitt
416*88d537bcSChristian Hewitt&tdmif_b {
417*88d537bcSChristian Hewitt	status = "okay";
418*88d537bcSChristian Hewitt};
419*88d537bcSChristian Hewitt
420*88d537bcSChristian Hewitt&tdmout_b {
421*88d537bcSChristian Hewitt	status = "okay";
422*88d537bcSChristian Hewitt};
423*88d537bcSChristian Hewitt
424*88d537bcSChristian Hewitt&tohdmitx {
425*88d537bcSChristian Hewitt	status = "okay";
426*88d537bcSChristian Hewitt};
427*88d537bcSChristian Hewitt
428*88d537bcSChristian Hewitt&uart_AO {
429*88d537bcSChristian Hewitt	status = "okay";
430*88d537bcSChristian Hewitt	pinctrl-0 = <&uart_ao_a_pins>;
431*88d537bcSChristian Hewitt	pinctrl-names = "default";
432*88d537bcSChristian Hewitt};
433*88d537bcSChristian Hewitt
434*88d537bcSChristian Hewitt&usb {
435*88d537bcSChristian Hewitt	status = "okay";
436*88d537bcSChristian Hewitt	vbus-supply = <&usb_pwr_en>;
437*88d537bcSChristian Hewitt};
438*88d537bcSChristian Hewitt
439*88d537bcSChristian Hewitt&usb2_phy0 {
440*88d537bcSChristian Hewitt	phy-supply = <&vcc_5v>;
441*88d537bcSChristian Hewitt};
442*88d537bcSChristian Hewitt
443