1114abfe1SNeil Armstrong// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
285596034SKevin Hilman/*
385596034SKevin Hilman * Copyright (c) 2016 Andreas Färber
485596034SKevin Hilman * Copyright (c) 2016 BayLibre, Inc.
585596034SKevin Hilman * Author: Kevin Hilman <khilman@kernel.org>
685596034SKevin Hilman */
785596034SKevin Hilman
885596034SKevin Hilman/dts-v1/;
985596034SKevin Hilman
1085596034SKevin Hilman#include "meson-gxbb.dtsi"
11f40d437fSCarlo Caione#include <dt-bindings/gpio/gpio.h>
12*ba414bc5SChristian Hewitt#include <dt-bindings/sound/meson-aiu.h>
1385596034SKevin Hilman
1485596034SKevin Hilman/ {
1585596034SKevin Hilman	compatible = "hardkernel,odroid-c2", "amlogic,meson-gxbb";
1685596034SKevin Hilman	model = "Hardkernel ODROID-C2";
1785596034SKevin Hilman
1885596034SKevin Hilman	aliases {
1985596034SKevin Hilman		serial0 = &uart_AO;
20059a58fcSJorge Ramirez-Ortiz		ethernet0 = &ethmac;
2185596034SKevin Hilman	};
2285596034SKevin Hilman
2385596034SKevin Hilman	chosen {
2485596034SKevin Hilman		stdout-path = "serial0:115200n8";
2585596034SKevin Hilman	};
2685596034SKevin Hilman
2785596034SKevin Hilman	memory@0 {
2885596034SKevin Hilman		device_type = "memory";
2985596034SKevin Hilman		reg = <0x0 0x0 0x0 0x80000000>;
3085596034SKevin Hilman	};
31f40d437fSCarlo Caione
325a0803bdSBrian Kim	usb_otg_pwr: regulator-usb-pwrs {
335a0803bdSBrian Kim		compatible = "regulator-fixed";
345a0803bdSBrian Kim
355a0803bdSBrian Kim		regulator-name = "USB_OTG_PWR";
365a0803bdSBrian Kim
375a0803bdSBrian Kim		regulator-min-microvolt = <5000000>;
385a0803bdSBrian Kim		regulator-max-microvolt = <5000000>;
395a0803bdSBrian Kim
4047a8bddbSAnand Moon		/*
4147a8bddbSAnand Moon		 * signal name from schematics: PWREN
4247a8bddbSAnand Moon		 */
435a0803bdSBrian Kim		gpio = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>;
445a0803bdSBrian Kim		enable-active-high;
4547a8bddbSAnand Moon		/*
4647a8bddbSAnand Moon		 * signal name from schematics: USB_POWER
4747a8bddbSAnand Moon		 */
4847a8bddbSAnand Moon		vin-supply = <&p5v0>;
495a0803bdSBrian Kim	};
505a0803bdSBrian Kim
51f40d437fSCarlo Caione	leds {
52f40d437fSCarlo Caione		compatible = "gpio-leds";
5308dc0e5dSNeil Armstrong		led-blue {
54f40d437fSCarlo Caione			label = "c2:blue:alive";
55f40d437fSCarlo Caione			gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_LOW>;
56f40d437fSCarlo Caione			linux,default-trigger = "heartbeat";
57f40d437fSCarlo Caione			default-state = "off";
58f40d437fSCarlo Caione		};
59f40d437fSCarlo Caione	};
60ef8d2ffeSKevin Hilman
61fcf19f29SAnand Moon	p5v0: regulator-p5v0 {
62fcf19f29SAnand Moon		compatible = "regulator-fixed";
63fcf19f29SAnand Moon
64fcf19f29SAnand Moon		regulator-name = "P5V0";
65fcf19f29SAnand Moon		regulator-min-microvolt = <5000000>;
66fcf19f29SAnand Moon		regulator-max-microvolt = <5000000>;
67fcf19f29SAnand Moon		regulator-always-on;
68fcf19f29SAnand Moon	};
69fcf19f29SAnand Moon
700ac0be65SAnand Moon	hdmi_p5v0: regulator-hdmi_p5v0 {
710ac0be65SAnand Moon		compatible = "regulator-fixed";
720ac0be65SAnand Moon		regulator-name = "HDMI_P5V0";
730ac0be65SAnand Moon		regulator-min-microvolt = <5000000>;
740ac0be65SAnand Moon		regulator-max-microvolt = <5000000>;
750ac0be65SAnand Moon		/* AP2331SA-7 */
760ac0be65SAnand Moon		vin-supply = <&p5v0>;
770ac0be65SAnand Moon	};
780ac0be65SAnand Moon
79ef8d2ffeSKevin Hilman	tflash_vdd: regulator-tflash_vdd {
80ef8d2ffeSKevin Hilman		compatible = "regulator-fixed";
81ef8d2ffeSKevin Hilman
82ef8d2ffeSKevin Hilman		regulator-name = "TFLASH_VDD";
83ef8d2ffeSKevin Hilman		regulator-min-microvolt = <3300000>;
84ef8d2ffeSKevin Hilman		regulator-max-microvolt = <3300000>;
85ef8d2ffeSKevin Hilman
86df39b523SAnand Moon		/*
87df39b523SAnand Moon		 * signal name from schematics: TFLASH_VDD_EN
88df39b523SAnand Moon		 */
89c34cd35eSNeil Armstrong		gpio = <&gpio GPIOY_12 GPIO_ACTIVE_HIGH>;
90ef8d2ffeSKevin Hilman		enable-active-high;
91df39b523SAnand Moon		/* U16 RT9179GB */
92df39b523SAnand Moon		vin-supply = <&vddio_ao3v3>;
93ef8d2ffeSKevin Hilman	};
94ef8d2ffeSKevin Hilman
95ef8d2ffeSKevin Hilman	tf_io: gpio-regulator-tf_io {
96ef8d2ffeSKevin Hilman		compatible = "regulator-gpio";
97ef8d2ffeSKevin Hilman
98ef8d2ffeSKevin Hilman		regulator-name = "TF_IO";
99ef8d2ffeSKevin Hilman		regulator-min-microvolt = <1800000>;
100ef8d2ffeSKevin Hilman		regulator-max-microvolt = <3300000>;
101ef8d2ffeSKevin Hilman
102ef8d2ffeSKevin Hilman		/*
103ef8d2ffeSKevin Hilman		 * signal name from schematics: TF_3V3N_1V8_EN
104ef8d2ffeSKevin Hilman		 */
105ef8d2ffeSKevin Hilman		gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
106ef8d2ffeSKevin Hilman		gpios-states = <0>;
107ef8d2ffeSKevin Hilman
108f9717178SNeil Armstrong		states = <3300000 0>,
109f9717178SNeil Armstrong			 <1800000 1>;
110df39b523SAnand Moon		/* U12/U13 RT9179GB */
111df39b523SAnand Moon		vin-supply = <&vddio_ao3v3>;
112ef8d2ffeSKevin Hilman	};
113ef8d2ffeSKevin Hilman
114ef8d2ffeSKevin Hilman	vcc1v8: regulator-vcc1v8 {
115ef8d2ffeSKevin Hilman		compatible = "regulator-fixed";
116ef8d2ffeSKevin Hilman		regulator-name = "VCC1V8";
117ef8d2ffeSKevin Hilman		regulator-min-microvolt = <1800000>;
118ef8d2ffeSKevin Hilman		regulator-max-microvolt = <1800000>;
119df39b523SAnand Moon		regulator-always-on;
120df39b523SAnand Moon		/* U18 RT9179GB */
121df39b523SAnand Moon		vin-supply = <&vddio_ao3v3>;
122ef8d2ffeSKevin Hilman	};
123ef8d2ffeSKevin Hilman
124ef8d2ffeSKevin Hilman	vcc3v3: regulator-vcc3v3 {
125ef8d2ffeSKevin Hilman		compatible = "regulator-fixed";
126ef8d2ffeSKevin Hilman		regulator-name = "VCC3V3";
127ef8d2ffeSKevin Hilman		regulator-min-microvolt = <3300000>;
128ef8d2ffeSKevin Hilman		regulator-max-microvolt = <3300000>;
129ef8d2ffeSKevin Hilman	};
130ef8d2ffeSKevin Hilman
13160c5abf6SAnand Moon	vddio_ao1v8: regulator-vddio-ao1v8 {
13260c5abf6SAnand Moon		compatible = "regulator-fixed";
13360c5abf6SAnand Moon		regulator-name = "VDDIO_AO1V8";
13460c5abf6SAnand Moon		regulator-min-microvolt = <1800000>;
13560c5abf6SAnand Moon		regulator-max-microvolt = <1800000>;
13660c5abf6SAnand Moon		regulator-always-on;
13760c5abf6SAnand Moon		/* U17 RT9179GB */
13860c5abf6SAnand Moon		vin-supply = <&p5v0>;
13960c5abf6SAnand Moon	};
14060c5abf6SAnand Moon
14160c5abf6SAnand Moon	vddio_ao3v3: regulator-vddio-ao3v3 {
14260c5abf6SAnand Moon		compatible = "regulator-fixed";
14360c5abf6SAnand Moon		regulator-name = "VDDIO_AO3V3";
14460c5abf6SAnand Moon		regulator-min-microvolt = <3300000>;
14560c5abf6SAnand Moon		regulator-max-microvolt = <3300000>;
14660c5abf6SAnand Moon		regulator-always-on;
14760c5abf6SAnand Moon		/* U11 MP2161GJ-C499 */
14860c5abf6SAnand Moon		vin-supply = <&p5v0>;
14960c5abf6SAnand Moon	};
15060c5abf6SAnand Moon
15160c5abf6SAnand Moon	ddr3_1v5: regulator-ddr3_1v5 {
15260c5abf6SAnand Moon		compatible = "regulator-fixed";
15360c5abf6SAnand Moon		regulator-name = "DDR3_1V5";
15460c5abf6SAnand Moon		regulator-min-microvolt = <1500000>;
15560c5abf6SAnand Moon		regulator-max-microvolt = <1500000>;
15660c5abf6SAnand Moon		regulator-always-on;
15760c5abf6SAnand Moon		/* U15 MP2161GJ-C499 */
15860c5abf6SAnand Moon		vin-supply = <&p5v0>;
15960c5abf6SAnand Moon	};
16060c5abf6SAnand Moon
161ef8d2ffeSKevin Hilman	emmc_pwrseq: emmc-pwrseq {
162ef8d2ffeSKevin Hilman		compatible = "mmc-pwrseq-emmc";
163ef8d2ffeSKevin Hilman		reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
164ef8d2ffeSKevin Hilman	};
165fc19afa1SNeil Armstrong
166fc19afa1SNeil Armstrong	hdmi-connector {
167fc19afa1SNeil Armstrong		compatible = "hdmi-connector";
168fc19afa1SNeil Armstrong		type = "a";
169fc19afa1SNeil Armstrong
170fc19afa1SNeil Armstrong		port {
171fc19afa1SNeil Armstrong			hdmi_connector_in: endpoint {
172fc19afa1SNeil Armstrong				remote-endpoint = <&hdmi_tx_tmds_out>;
173fc19afa1SNeil Armstrong			};
174fc19afa1SNeil Armstrong		};
175fc19afa1SNeil Armstrong	};
176*ba414bc5SChristian Hewitt
177*ba414bc5SChristian Hewitt	sound {
178*ba414bc5SChristian Hewitt		compatible = "amlogic,gx-sound-card";
179*ba414bc5SChristian Hewitt		model = "GXBB-ODROID-C2";
180*ba414bc5SChristian Hewitt		assigned-clocks = <&clkc CLKID_MPLL0>,
181*ba414bc5SChristian Hewitt				  <&clkc CLKID_MPLL1>,
182*ba414bc5SChristian Hewitt				  <&clkc CLKID_MPLL2>;
183*ba414bc5SChristian Hewitt		assigned-clock-parents = <0>, <0>, <0>;
184*ba414bc5SChristian Hewitt		assigned-clock-rates = <294912000>,
185*ba414bc5SChristian Hewitt				       <270950400>,
186*ba414bc5SChristian Hewitt				       <393216000>;
187*ba414bc5SChristian Hewitt		status = "okay";
188*ba414bc5SChristian Hewitt
189*ba414bc5SChristian Hewitt		dai-link-0 {
190*ba414bc5SChristian Hewitt			sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
191*ba414bc5SChristian Hewitt		};
192*ba414bc5SChristian Hewitt
193*ba414bc5SChristian Hewitt		dai-link-1 {
194*ba414bc5SChristian Hewitt			sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
195*ba414bc5SChristian Hewitt			dai-format = "i2s";
196*ba414bc5SChristian Hewitt			mclk-fs = <256>;
197*ba414bc5SChristian Hewitt
198*ba414bc5SChristian Hewitt			codec-0 {
199*ba414bc5SChristian Hewitt				sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
200*ba414bc5SChristian Hewitt			};
201*ba414bc5SChristian Hewitt		};
202*ba414bc5SChristian Hewitt
203*ba414bc5SChristian Hewitt		dai-link-2 {
204*ba414bc5SChristian Hewitt			sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
205*ba414bc5SChristian Hewitt
206*ba414bc5SChristian Hewitt			codec-0 {
207*ba414bc5SChristian Hewitt				sound-dai = <&hdmi_tx>;
208*ba414bc5SChristian Hewitt			};
209*ba414bc5SChristian Hewitt		};
210*ba414bc5SChristian Hewitt	};
211*ba414bc5SChristian Hewitt};
212*ba414bc5SChristian Hewitt
213*ba414bc5SChristian Hewitt&aiu {
214*ba414bc5SChristian Hewitt	status = "okay";
215fc19afa1SNeil Armstrong};
216fc19afa1SNeil Armstrong
217fc19afa1SNeil Armstrong&cec_AO {
218fc19afa1SNeil Armstrong	status = "okay";
219fc19afa1SNeil Armstrong	pinctrl-0 = <&ao_cec_pins>;
220fc19afa1SNeil Armstrong	pinctrl-names = "default";
221fc19afa1SNeil Armstrong	hdmi-phandle = <&hdmi_tx>;
22285596034SKevin Hilman};
22385596034SKevin Hilman
2248c5509f0SKevin Hilman&ethmac {
2258c5509f0SKevin Hilman	status = "okay";
2263be2d9cfSNeil Armstrong	pinctrl-0 = <&eth_rgmii_pins>;
2278c5509f0SKevin Hilman	pinctrl-names = "default";
228feb3cbeaSJerome Brunet	phy-handle = <&eth_phy0>;
229b6ff2721SMartin Blumenstingl	phy-mode = "rgmii";
230b6ff2721SMartin Blumenstingl
231093d23dbSMartin Blumenstingl	amlogic,tx-delay-ns = <2>;
232093d23dbSMartin Blumenstingl
233feb3cbeaSJerome Brunet	mdio {
234feb3cbeaSJerome Brunet		compatible = "snps,dwmac-mdio";
235feb3cbeaSJerome Brunet		#address-cells = <1>;
236feb3cbeaSJerome Brunet		#size-cells = <0>;
237feb3cbeaSJerome Brunet
238feb3cbeaSJerome Brunet		eth_phy0: ethernet-phy@0 {
23950290cfeSMartin Blumenstingl			/* Realtek RTL8211F (0x001cc916) */
240feb3cbeaSJerome Brunet			reg = <0>;
241f29cabf2SMartin Blumenstingl
242f29cabf2SMartin Blumenstingl			reset-assert-us = <10000>;
243f29cabf2SMartin Blumenstingl			reset-deassert-us = <30000>;
244f29cabf2SMartin Blumenstingl			reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
245f29cabf2SMartin Blumenstingl
246b94d22d9SJerome Brunet			interrupt-parent = <&gpio_intc>;
24750290cfeSMartin Blumenstingl			/* MAC_INTR on GPIOZ_15 */
248b94d22d9SJerome Brunet			interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
249feb3cbeaSJerome Brunet		};
250feb3cbeaSJerome Brunet	};
2518c5509f0SKevin Hilman};
2528c5509f0SKevin Hilman
2533b69bdbfSAndreas Färber&gpio_ao {
2543b69bdbfSAndreas Färber	/*
2553b69bdbfSAndreas Färber	 * WARNING: The USB Hub on the Odroid-C2 needs a reset signal
2563b69bdbfSAndreas Färber	 * to be turned high in order to be detected by the USB Controller
2573b69bdbfSAndreas Färber	 * This signal should be handled by a USB specific power sequence
2583b69bdbfSAndreas Färber	 * in order to reset the Hub when USB bus is powered down.
2593b69bdbfSAndreas Färber	 */
2603b69bdbfSAndreas Färber	usb-hub {
2613b69bdbfSAndreas Färber		gpio-hog;
2623b69bdbfSAndreas Färber		gpios = <GPIOAO_4 GPIO_ACTIVE_HIGH>;
2633b69bdbfSAndreas Färber		output-high;
2643b69bdbfSAndreas Färber		line-name = "usb-hub-reset";
2653b69bdbfSAndreas Färber	};
2663b69bdbfSAndreas Färber};
2673b69bdbfSAndreas Färber
268fc19afa1SNeil Armstrong&hdmi_tx {
269fc19afa1SNeil Armstrong	status = "okay";
270fc19afa1SNeil Armstrong	pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
271fc19afa1SNeil Armstrong	pinctrl-names = "default";
2720ac0be65SAnand Moon	hdmi-supply = <&hdmi_p5v0>;
273fc19afa1SNeil Armstrong};
274fc19afa1SNeil Armstrong
275fc19afa1SNeil Armstrong&hdmi_tx_tmds_port {
276fc19afa1SNeil Armstrong	hdmi_tx_tmds_out: endpoint {
277fc19afa1SNeil Armstrong		remote-endpoint = <&hdmi_connector_in>;
278fc19afa1SNeil Armstrong	};
279fc19afa1SNeil Armstrong};
280fc19afa1SNeil Armstrong
2813b69bdbfSAndreas Färber&i2c_A {
2823b69bdbfSAndreas Färber	status = "okay";
2833b69bdbfSAndreas Färber	pinctrl-0 = <&i2c_a_pins>;
2843b69bdbfSAndreas Färber	pinctrl-names = "default";
2853b69bdbfSAndreas Färber};
2863b69bdbfSAndreas Färber
2873b69bdbfSAndreas Färber&ir {
2883b69bdbfSAndreas Färber	status = "okay";
2893b69bdbfSAndreas Färber	pinctrl-0 = <&remote_input_ao_pins>;
2903b69bdbfSAndreas Färber	pinctrl-names = "default";
29167c4dd59SChristian Hewitt	linux,rc-map-name = "rc-odroid";
2923b69bdbfSAndreas Färber};
2933b69bdbfSAndreas Färber
2942165b006SNeil Armstrong&gpio_ao {
295b03c7d64SNeil Armstrong	gpio-line-names = "UART TX", "UART RX", "VCCK En", "TF 3V3/1V8 En",
296b03c7d64SNeil Armstrong			  "USB HUB nRESET", "USB OTG Power En",
297b03c7d64SNeil Armstrong			  "J7 Header Pin2", "IR In", "J7 Header Pin4",
298b03c7d64SNeil Armstrong			  "J7 Header Pin6", "J7 Header Pin5", "J7 Header Pin7",
299e43f20e8SJerome Brunet			  "HDMI CEC", "SYS LED",
300e43f20e8SJerome Brunet			  /* GPIO_TEST_N */
301e43f20e8SJerome Brunet			  "";
302b03c7d64SNeil Armstrong};
303b03c7d64SNeil Armstrong
3042165b006SNeil Armstrong&gpio {
305b03c7d64SNeil Armstrong	gpio-line-names = /* Bank GPIOZ */
306b03c7d64SNeil Armstrong			  "Eth MDIO", "Eth MDC", "Eth RGMII RX Clk",
307b03c7d64SNeil Armstrong			  "Eth RX DV", "Eth RX D0", "Eth RX D1", "Eth RX D2",
308b03c7d64SNeil Armstrong			  "Eth RX D3", "Eth RGMII TX Clk", "Eth TX En",
309b03c7d64SNeil Armstrong			  "Eth TX D0", "Eth TX D1", "Eth TX D2", "Eth TX D3",
310b03c7d64SNeil Armstrong			  "Eth PHY nRESET", "Eth PHY Intc",
311b03c7d64SNeil Armstrong			  /* Bank GPIOH */
312b03c7d64SNeil Armstrong			  "HDMI HPD", "HDMI DDC SDA", "HDMI DDC SCL", "",
313b03c7d64SNeil Armstrong			  /* Bank BOOT */
314b03c7d64SNeil Armstrong			  "eMMC D0", "eMMC D1", "eMMC D2", "eMMC D3", "eMMC D4",
315b03c7d64SNeil Armstrong			  "eMMC D5", "eMMC D6", "eMMC D7", "eMMC Clk",
316b03c7d64SNeil Armstrong			  "eMMC Reset", "eMMC CMD",
317b03c7d64SNeil Armstrong			  "", "", "", "", "", "", "",
318b03c7d64SNeil Armstrong			  /* Bank CARD */
319b03c7d64SNeil Armstrong			  "SDCard D1", "SDCard D0", "SDCard CLK", "SDCard CMD",
320b03c7d64SNeil Armstrong			  "SDCard D3", "SDCard D2", "SDCard Det",
321b03c7d64SNeil Armstrong			  /* Bank GPIODV */
322b03c7d64SNeil Armstrong			  "", "", "", "", "", "", "", "", "", "", "", "", "",
323b03c7d64SNeil Armstrong			  "", "", "", "", "", "", "", "", "", "", "",
324b03c7d64SNeil Armstrong			  "I2C A SDA", "I2C A SCK", "I2C B SDA", "I2C B SCK",
325b03c7d64SNeil Armstrong			  "PWM D", "PWM B",
326b03c7d64SNeil Armstrong			  /* Bank GPIOY */
327b03c7d64SNeil Armstrong			  "Revision Bit0", "Revision Bit1", "",
328b03c7d64SNeil Armstrong			  "J2 Header Pin35", "", "", "", "J2 Header Pin36",
329b03c7d64SNeil Armstrong			  "J2 Header Pin31", "", "", "", "TF VDD En",
330b03c7d64SNeil Armstrong			  "J2 Header Pin32", "J2 Header Pin26", "", "",
331b03c7d64SNeil Armstrong			  /* Bank GPIOX */
332b03c7d64SNeil Armstrong			  "J2 Header Pin29", "J2 Header Pin24",
333b03c7d64SNeil Armstrong			  "J2 Header Pin23", "J2 Header Pin22",
334b03c7d64SNeil Armstrong			  "J2 Header Pin21", "J2 Header Pin18",
335b03c7d64SNeil Armstrong			  "J2 Header Pin33", "J2 Header Pin19",
336b03c7d64SNeil Armstrong			  "J2 Header Pin16", "J2 Header Pin15",
337b03c7d64SNeil Armstrong			  "J2 Header Pin12", "J2 Header Pin13",
338b03c7d64SNeil Armstrong			  "J2 Header Pin8", "J2 Header Pin10",
339b03c7d64SNeil Armstrong			  "", "", "", "", "",
340e43f20e8SJerome Brunet			  "J2 Header Pin11", "", "J2 Header Pin7", "",
341b03c7d64SNeil Armstrong			  /* Bank GPIOCLK */
342e43f20e8SJerome Brunet			  "", "", "", "";
343b03c7d64SNeil Armstrong};
344b03c7d64SNeil Armstrong
34562158c6aSHeiner Kallweit&saradc {
34662158c6aSHeiner Kallweit	status = "okay";
34762158c6aSHeiner Kallweit	vref-supply = <&vcc1v8>;
34862158c6aSHeiner Kallweit};
34962158c6aSHeiner Kallweit
3503b69bdbfSAndreas Färber&scpi_clocks {
3513b69bdbfSAndreas Färber	status = "disabled";
3523b69bdbfSAndreas Färber};
3533b69bdbfSAndreas Färber
354ef8d2ffeSKevin Hilman/* SD */
355ef8d2ffeSKevin Hilman&sd_emmc_b {
356ef8d2ffeSKevin Hilman	status = "okay";
357ef8d2ffeSKevin Hilman	pinctrl-0 = <&sdcard_pins>;
35867e7607fSJerome Brunet	pinctrl-1 = <&sdcard_clk_gate_pins>;
35967e7607fSJerome Brunet	pinctrl-names = "default", "clk-gate";
360ef8d2ffeSKevin Hilman
361ef8d2ffeSKevin Hilman	bus-width = <4>;
362ef8d2ffeSKevin Hilman	cap-sd-highspeed;
3637e2b33ffSJerome Brunet	sd-uhs-sdr12;
3647e2b33ffSJerome Brunet	sd-uhs-sdr25;
3657e2b33ffSJerome Brunet	sd-uhs-sdr50;
3667e2b33ffSJerome Brunet	sd-uhs-ddr50;
367ef8d2ffeSKevin Hilman	max-frequency = <100000000>;
368ef8d2ffeSKevin Hilman	disable-wp;
369ef8d2ffeSKevin Hilman
370f29200c8SLoys Ollivier	cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
371ef8d2ffeSKevin Hilman
372ef8d2ffeSKevin Hilman	vmmc-supply = <&tflash_vdd>;
373ef8d2ffeSKevin Hilman	vqmmc-supply = <&tf_io>;
374ef8d2ffeSKevin Hilman};
375ef8d2ffeSKevin Hilman
376ef8d2ffeSKevin Hilman/* eMMC */
377ef8d2ffeSKevin Hilman&sd_emmc_c {
378ef8d2ffeSKevin Hilman	status = "okay";
379ab36be66SNeil Armstrong	pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
38067e7607fSJerome Brunet	pinctrl-1 = <&emmc_clk_gate_pins>;
38167e7607fSJerome Brunet	pinctrl-names = "default", "clk-gate";
382ef8d2ffeSKevin Hilman
383ef8d2ffeSKevin Hilman	bus-width = <8>;
3847e2b33ffSJerome Brunet	max-frequency = <200000000>;
385ef8d2ffeSKevin Hilman	non-removable;
386ef8d2ffeSKevin Hilman	disable-wp;
387ef8d2ffeSKevin Hilman	cap-mmc-highspeed;
388ef8d2ffeSKevin Hilman	mmc-ddr-1_8v;
389ef8d2ffeSKevin Hilman	mmc-hs200-1_8v;
390ef8d2ffeSKevin Hilman
391ef8d2ffeSKevin Hilman	mmc-pwrseq = <&emmc_pwrseq>;
392ef8d2ffeSKevin Hilman	vmmc-supply = <&vcc3v3>;
393ef8d2ffeSKevin Hilman	vqmmc-supply = <&vcc1v8>;
394ef8d2ffeSKevin Hilman};
3953b69bdbfSAndreas Färber
3963b69bdbfSAndreas Färber&uart_AO {
3973b69bdbfSAndreas Färber	status = "okay";
3983b69bdbfSAndreas Färber	pinctrl-0 = <&uart_ao_a_pins>;
3993b69bdbfSAndreas Färber	pinctrl-names = "default";
4003b69bdbfSAndreas Färber};
4013b69bdbfSAndreas Färber
4023b69bdbfSAndreas Färber&usb0_phy {
40372c9b5f6SAnand Moon	status = "disabled";
4043b69bdbfSAndreas Färber	phy-supply = <&usb_otg_pwr>;
4053b69bdbfSAndreas Färber};
4063b69bdbfSAndreas Färber
4073b69bdbfSAndreas Färber&usb1_phy {
4083b69bdbfSAndreas Färber	status = "okay";
409e841ec95SNeil Armstrong	phy-supply = <&usb_otg_pwr>;
4103b69bdbfSAndreas Färber};
4113b69bdbfSAndreas Färber
4123b69bdbfSAndreas Färber&usb0 {
41372c9b5f6SAnand Moon	status = "disabled";
4143b69bdbfSAndreas Färber};
4153b69bdbfSAndreas Färber
4163b69bdbfSAndreas Färber&usb1 {
4173b69bdbfSAndreas Färber	status = "okay";
4183b69bdbfSAndreas Färber};
419