xref: /freebsd-src/sys/contrib/device-tree/src/arm64/amlogic/meson-sm1-bananapi.dtsi (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1cb7aa33aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2cb7aa33aSEmmanuel Vadot/*
3cb7aa33aSEmmanuel Vadot * Copyright (c) 2021 BayLibre SAS
4cb7aa33aSEmmanuel Vadot * Author: Neil Armstrong <narmstrong@baylibre.com>
5cb7aa33aSEmmanuel Vadot */
6cb7aa33aSEmmanuel Vadot
7cb7aa33aSEmmanuel Vadot#include "meson-sm1.dtsi"
8cb7aa33aSEmmanuel Vadot#include <dt-bindings/leds/common.h>
9cb7aa33aSEmmanuel Vadot#include <dt-bindings/input/linux-event-codes.h>
10cb7aa33aSEmmanuel Vadot#include <dt-bindings/gpio/meson-g12a-gpio.h>
11cb7aa33aSEmmanuel Vadot
12cb7aa33aSEmmanuel Vadot/ {
13cb7aa33aSEmmanuel Vadot	adc-keys {
14cb7aa33aSEmmanuel Vadot		compatible = "adc-keys";
15cb7aa33aSEmmanuel Vadot		io-channels = <&saradc 2>;
16cb7aa33aSEmmanuel Vadot		io-channel-names = "buttons";
17cb7aa33aSEmmanuel Vadot		keyup-threshold-microvolt = <1800000>;
18cb7aa33aSEmmanuel Vadot
19cb7aa33aSEmmanuel Vadot		button-sw3 {
20cb7aa33aSEmmanuel Vadot			label = "SW3";
21cb7aa33aSEmmanuel Vadot			linux,code = <BTN_3>;
22cb7aa33aSEmmanuel Vadot			press-threshold-microvolt = <1700000>;
23cb7aa33aSEmmanuel Vadot		};
24cb7aa33aSEmmanuel Vadot	};
25cb7aa33aSEmmanuel Vadot
26cb7aa33aSEmmanuel Vadot	aliases {
27cb7aa33aSEmmanuel Vadot		serial0 = &uart_AO;
28cb7aa33aSEmmanuel Vadot		ethernet0 = &ethmac;
29cb7aa33aSEmmanuel Vadot	};
30cb7aa33aSEmmanuel Vadot
31cb7aa33aSEmmanuel Vadot	chosen {
32cb7aa33aSEmmanuel Vadot		stdout-path = "serial0:115200n8";
33cb7aa33aSEmmanuel Vadot	};
34cb7aa33aSEmmanuel Vadot
35cb7aa33aSEmmanuel Vadot	emmc_pwrseq: emmc-pwrseq {
36cb7aa33aSEmmanuel Vadot		compatible = "mmc-pwrseq-emmc";
37cb7aa33aSEmmanuel Vadot		reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
38cb7aa33aSEmmanuel Vadot	};
39cb7aa33aSEmmanuel Vadot
40cb7aa33aSEmmanuel Vadot	gpio-keys {
41cb7aa33aSEmmanuel Vadot		compatible = "gpio-keys";
42cb7aa33aSEmmanuel Vadot
43cb7aa33aSEmmanuel Vadot		key {
44cb7aa33aSEmmanuel Vadot			label = "SW1";
45cb7aa33aSEmmanuel Vadot			linux,code = <BTN_1>;
46cb7aa33aSEmmanuel Vadot			gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>;
47cb7aa33aSEmmanuel Vadot			interrupt-parent = <&gpio_intc>;
48aa1a8ff2SEmmanuel Vadot			interrupts = <IRQID_GPIOAO_3 IRQ_TYPE_EDGE_BOTH>;
49cb7aa33aSEmmanuel Vadot		};
50cb7aa33aSEmmanuel Vadot	};
51cb7aa33aSEmmanuel Vadot
52cb7aa33aSEmmanuel Vadot	hdmi-connector {
53cb7aa33aSEmmanuel Vadot		compatible = "hdmi-connector";
54cb7aa33aSEmmanuel Vadot		type = "a";
55cb7aa33aSEmmanuel Vadot
56cb7aa33aSEmmanuel Vadot		port {
57cb7aa33aSEmmanuel Vadot			hdmi_connector_in: endpoint {
58cb7aa33aSEmmanuel Vadot				remote-endpoint = <&hdmi_tx_tmds_out>;
59cb7aa33aSEmmanuel Vadot			};
60cb7aa33aSEmmanuel Vadot		};
61cb7aa33aSEmmanuel Vadot	};
62cb7aa33aSEmmanuel Vadot
63cb7aa33aSEmmanuel Vadot	leds {
64cb7aa33aSEmmanuel Vadot		compatible = "gpio-leds";
65cb7aa33aSEmmanuel Vadot
66cb7aa33aSEmmanuel Vadot		led-green {
67cb7aa33aSEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
68cb7aa33aSEmmanuel Vadot			function = LED_FUNCTION_STATUS;
69cb7aa33aSEmmanuel Vadot			gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>;
70cb7aa33aSEmmanuel Vadot		};
71cb7aa33aSEmmanuel Vadot
72cb7aa33aSEmmanuel Vadot		led-blue {
73cb7aa33aSEmmanuel Vadot			color = <LED_COLOR_ID_BLUE>;
74cb7aa33aSEmmanuel Vadot			function = LED_FUNCTION_STATUS;
75cb7aa33aSEmmanuel Vadot			gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_LOW>;
76cb7aa33aSEmmanuel Vadot			linux,default-trigger = "heartbeat";
77cb7aa33aSEmmanuel Vadot		};
78cb7aa33aSEmmanuel Vadot	};
79cb7aa33aSEmmanuel Vadot
80cb7aa33aSEmmanuel Vadot	memory@0 {
81cb7aa33aSEmmanuel Vadot		device_type = "memory";
82cb7aa33aSEmmanuel Vadot		reg = <0x0 0x0 0x0 0x40000000>;
83cb7aa33aSEmmanuel Vadot	};
84cb7aa33aSEmmanuel Vadot
85*01950c46SEmmanuel Vadot	emmc_1v8: regulator-emmc-1v8 {
86cb7aa33aSEmmanuel Vadot		compatible = "regulator-fixed";
87cb7aa33aSEmmanuel Vadot		regulator-name = "EMMC_1V8";
88cb7aa33aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
89cb7aa33aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
90cb7aa33aSEmmanuel Vadot		vin-supply = <&vddao_3v3>;
91cb7aa33aSEmmanuel Vadot		regulator-always-on;
92cb7aa33aSEmmanuel Vadot	};
93cb7aa33aSEmmanuel Vadot
94*01950c46SEmmanuel Vadot	dc_in: regulator-dc-in {
95cb7aa33aSEmmanuel Vadot		compatible = "regulator-fixed";
96cb7aa33aSEmmanuel Vadot		regulator-name = "DC_IN";
97cb7aa33aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
98cb7aa33aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
99cb7aa33aSEmmanuel Vadot		regulator-always-on;
100cb7aa33aSEmmanuel Vadot	};
101cb7aa33aSEmmanuel Vadot
102*01950c46SEmmanuel Vadot	vddio_c: regulator-vddio-c {
103cb7aa33aSEmmanuel Vadot		compatible = "regulator-gpio";
104cb7aa33aSEmmanuel Vadot		regulator-name = "VDDIO_C";
105cb7aa33aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
106cb7aa33aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
107cb7aa33aSEmmanuel Vadot
108fac71e4eSEmmanuel Vadot		enable-gpios = <&gpio_ao GPIOE_2 GPIO_OPEN_DRAIN>;
109cb7aa33aSEmmanuel Vadot		enable-active-high;
110cb7aa33aSEmmanuel Vadot		regulator-always-on;
111cb7aa33aSEmmanuel Vadot
112cb7aa33aSEmmanuel Vadot		gpios = <&gpio_ao GPIOAO_6 GPIO_OPEN_DRAIN>;
113cb7aa33aSEmmanuel Vadot		gpios-states = <1>;
114cb7aa33aSEmmanuel Vadot
115cb7aa33aSEmmanuel Vadot		states = <1800000 0>,
116cb7aa33aSEmmanuel Vadot			 <3300000 1>;
117cb7aa33aSEmmanuel Vadot	};
118cb7aa33aSEmmanuel Vadot
119*01950c46SEmmanuel Vadot	tflash_vdd: regulator-tflash-vdd {
120cb7aa33aSEmmanuel Vadot		compatible = "regulator-fixed";
121cb7aa33aSEmmanuel Vadot		regulator-name = "TFLASH_VDD";
122cb7aa33aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
123cb7aa33aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
124cb7aa33aSEmmanuel Vadot		vin-supply = <&dc_in>;
125cb7aa33aSEmmanuel Vadot		gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
126cb7aa33aSEmmanuel Vadot		enable-active-high;
127cb7aa33aSEmmanuel Vadot		regulator-always-on;
128cb7aa33aSEmmanuel Vadot	};
129cb7aa33aSEmmanuel Vadot
130*01950c46SEmmanuel Vadot	vddao_1v8: regulator-vddao-1v8 {
131cb7aa33aSEmmanuel Vadot		compatible = "regulator-fixed";
132cb7aa33aSEmmanuel Vadot		regulator-name = "VDDAO_1V8";
133cb7aa33aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
134cb7aa33aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
135cb7aa33aSEmmanuel Vadot		vin-supply = <&vddao_3v3>;
136cb7aa33aSEmmanuel Vadot		regulator-always-on;
137cb7aa33aSEmmanuel Vadot	};
138cb7aa33aSEmmanuel Vadot
139*01950c46SEmmanuel Vadot	vddao_3v3: regulator-vddao-3v3 {
140cb7aa33aSEmmanuel Vadot		compatible = "regulator-fixed";
141cb7aa33aSEmmanuel Vadot		regulator-name = "VDDAO_3V3";
142cb7aa33aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
143cb7aa33aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
144cb7aa33aSEmmanuel Vadot		vin-supply = <&dc_in>;
145cb7aa33aSEmmanuel Vadot		regulator-always-on;
146cb7aa33aSEmmanuel Vadot	};
147cb7aa33aSEmmanuel Vadot
148cb7aa33aSEmmanuel Vadot	vddcpu: regulator-vddcpu {
149cb7aa33aSEmmanuel Vadot		/*
150cb7aa33aSEmmanuel Vadot		 * SY8120B1ABC DC/DC Regulator.
151cb7aa33aSEmmanuel Vadot		 */
152cb7aa33aSEmmanuel Vadot		compatible = "pwm-regulator";
153cb7aa33aSEmmanuel Vadot
154cb7aa33aSEmmanuel Vadot		regulator-name = "VDDCPU";
155cb7aa33aSEmmanuel Vadot		regulator-min-microvolt = <690000>;
156cb7aa33aSEmmanuel Vadot		regulator-max-microvolt = <1050000>;
157cb7aa33aSEmmanuel Vadot
158cb7aa33aSEmmanuel Vadot		pwm-supply = <&dc_in>;
159cb7aa33aSEmmanuel Vadot
160cb7aa33aSEmmanuel Vadot		pwms = <&pwm_AO_cd 1 1250 0>;
161cb7aa33aSEmmanuel Vadot		pwm-dutycycle-range = <100 0>;
162cb7aa33aSEmmanuel Vadot
163cb7aa33aSEmmanuel Vadot		regulator-boot-on;
164cb7aa33aSEmmanuel Vadot		regulator-always-on;
165cb7aa33aSEmmanuel Vadot	};
166cb7aa33aSEmmanuel Vadot
167cb7aa33aSEmmanuel Vadot	/* USB Hub Power Enable */
168*01950c46SEmmanuel Vadot	vl_pwr_en: regulator-vl-pwr-en {
169cb7aa33aSEmmanuel Vadot		compatible = "regulator-fixed";
170cb7aa33aSEmmanuel Vadot		regulator-name = "VL_PWR_EN";
171cb7aa33aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
172cb7aa33aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
173cb7aa33aSEmmanuel Vadot		vin-supply = <&dc_in>;
174cb7aa33aSEmmanuel Vadot
175cb7aa33aSEmmanuel Vadot		gpio = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>;
176cb7aa33aSEmmanuel Vadot		enable-active-high;
177cb7aa33aSEmmanuel Vadot	};
178cb7aa33aSEmmanuel Vadot};
179cb7aa33aSEmmanuel Vadot
180cb7aa33aSEmmanuel Vadot&arb {
181cb7aa33aSEmmanuel Vadot	status = "okay";
182cb7aa33aSEmmanuel Vadot};
183cb7aa33aSEmmanuel Vadot
184cb7aa33aSEmmanuel Vadot&cpu0 {
185cb7aa33aSEmmanuel Vadot	cpu-supply = <&vddcpu>;
186cb7aa33aSEmmanuel Vadot	operating-points-v2 = <&cpu_opp_table>;
187cb7aa33aSEmmanuel Vadot	clocks = <&clkc CLKID_CPU_CLK>;
188cb7aa33aSEmmanuel Vadot	clock-latency = <50000>;
189cb7aa33aSEmmanuel Vadot};
190cb7aa33aSEmmanuel Vadot
191cb7aa33aSEmmanuel Vadot&cpu1 {
192cb7aa33aSEmmanuel Vadot	cpu-supply = <&vddcpu>;
193cb7aa33aSEmmanuel Vadot	operating-points-v2 = <&cpu_opp_table>;
194cb7aa33aSEmmanuel Vadot	clocks = <&clkc CLKID_CPU1_CLK>;
195cb7aa33aSEmmanuel Vadot	clock-latency = <50000>;
196cb7aa33aSEmmanuel Vadot};
197cb7aa33aSEmmanuel Vadot
198cb7aa33aSEmmanuel Vadot&cpu2 {
199cb7aa33aSEmmanuel Vadot	cpu-supply = <&vddcpu>;
200cb7aa33aSEmmanuel Vadot	operating-points-v2 = <&cpu_opp_table>;
201cb7aa33aSEmmanuel Vadot	clocks = <&clkc CLKID_CPU2_CLK>;
202cb7aa33aSEmmanuel Vadot	clock-latency = <50000>;
203cb7aa33aSEmmanuel Vadot};
204cb7aa33aSEmmanuel Vadot
205cb7aa33aSEmmanuel Vadot&cpu3 {
206cb7aa33aSEmmanuel Vadot	cpu-supply = <&vddcpu>;
207cb7aa33aSEmmanuel Vadot	operating-points-v2 = <&cpu_opp_table>;
208cb7aa33aSEmmanuel Vadot	clocks = <&clkc CLKID_CPU3_CLK>;
209cb7aa33aSEmmanuel Vadot	clock-latency = <50000>;
210cb7aa33aSEmmanuel Vadot};
211cb7aa33aSEmmanuel Vadot
212cb7aa33aSEmmanuel Vadot&ext_mdio {
213cb7aa33aSEmmanuel Vadot	external_phy: ethernet-phy@0 {
214cb7aa33aSEmmanuel Vadot		/* Realtek RTL8211F (0x001cc916) */
215cb7aa33aSEmmanuel Vadot		reg = <0>;
216cb7aa33aSEmmanuel Vadot		max-speed = <1000>;
217cb7aa33aSEmmanuel Vadot
218cb7aa33aSEmmanuel Vadot		interrupt-parent = <&gpio_intc>;
219cb7aa33aSEmmanuel Vadot		/* MAC_INTR on GPIOZ_14 */
220aa1a8ff2SEmmanuel Vadot		interrupts = <IRQID_GPIOZ_14 IRQ_TYPE_LEVEL_LOW>;
221cb7aa33aSEmmanuel Vadot	};
222cb7aa33aSEmmanuel Vadot};
223cb7aa33aSEmmanuel Vadot
224cb7aa33aSEmmanuel Vadot&ethmac {
225cb7aa33aSEmmanuel Vadot	pinctrl-0 = <&eth_pins>, <&eth_rgmii_pins>;
226cb7aa33aSEmmanuel Vadot	pinctrl-names = "default";
227cb7aa33aSEmmanuel Vadot	status = "okay";
228cb7aa33aSEmmanuel Vadot	phy-mode = "rgmii-txid";
229cb7aa33aSEmmanuel Vadot	phy-handle = <&external_phy>;
230cb7aa33aSEmmanuel Vadot};
231cb7aa33aSEmmanuel Vadot
232cb7aa33aSEmmanuel Vadot&gpio {
233cb7aa33aSEmmanuel Vadot	gpio-line-names =
234cb7aa33aSEmmanuel Vadot		/* GPIOZ */
235cb7aa33aSEmmanuel Vadot		"ETH_MDIO", /* GPIOZ_0 */
236cb7aa33aSEmmanuel Vadot		"ETH_MDC", /* GPIOZ_1 */
237cb7aa33aSEmmanuel Vadot		"ETH_RXCLK", /* GPIOZ_2 */
238cb7aa33aSEmmanuel Vadot		"ETH_RX_DV", /* GPIOZ_3 */
239cb7aa33aSEmmanuel Vadot		"ETH_RXD0", /* GPIOZ_4 */
240cb7aa33aSEmmanuel Vadot		"ETH_RXD1", /* GPIOZ_5 */
241cb7aa33aSEmmanuel Vadot		"ETH_RXD2", /* GPIOZ_6 */
242cb7aa33aSEmmanuel Vadot		"ETH_RXD3", /* GPIOZ_7 */
243cb7aa33aSEmmanuel Vadot		"ETH_TXCLK", /* GPIOZ_8 */
244cb7aa33aSEmmanuel Vadot		"ETH_TXEN", /* GPIOZ_9 */
245cb7aa33aSEmmanuel Vadot		"ETH_TXD0", /* GPIOZ_10 */
246cb7aa33aSEmmanuel Vadot		"ETH_TXD1", /* GPIOZ_11 */
247cb7aa33aSEmmanuel Vadot		"ETH_TXD2", /* GPIOZ_12 */
248cb7aa33aSEmmanuel Vadot		"ETH_TXD3", /* GPIOZ_13 */
249cb7aa33aSEmmanuel Vadot		"ETH_INTR", /* GPIOZ_14 */
250cb7aa33aSEmmanuel Vadot		"ETH_NRST", /* GPIOZ_15 */
251cb7aa33aSEmmanuel Vadot		/* GPIOH */
252cb7aa33aSEmmanuel Vadot		"HDMI_SDA", /* GPIOH_0 */
253cb7aa33aSEmmanuel Vadot		"HDMI_SCL", /* GPIOH_1 */
254cb7aa33aSEmmanuel Vadot		"HDMI_HPD", /* GPIOH_2 */
255cb7aa33aSEmmanuel Vadot		"HDMI_CEC", /* GPIOH_3 */
256cb7aa33aSEmmanuel Vadot		"VL-RST_N", /* GPIOH_4 */
257cb7aa33aSEmmanuel Vadot		"CON1-P36", /* GPIOH_5 */
258cb7aa33aSEmmanuel Vadot		"VL-PWREN", /* GPIOH_6 */
259cb7aa33aSEmmanuel Vadot		"WiFi_3V3_1V8", /* GPIOH_7 */
260cb7aa33aSEmmanuel Vadot		"TFLASH_VDD_EN", /* GPIOH_8 */
261cb7aa33aSEmmanuel Vadot		/* BOOT */
262cb7aa33aSEmmanuel Vadot		"eMMC_D0", /* BOOT_0 */
263cb7aa33aSEmmanuel Vadot		"eMMC_D1", /* BOOT_1 */
264cb7aa33aSEmmanuel Vadot		"eMMC_D2", /* BOOT_2 */
265cb7aa33aSEmmanuel Vadot		"eMMC_D3", /* BOOT_3 */
266cb7aa33aSEmmanuel Vadot		"eMMC_D4", /* BOOT_4 */
267cb7aa33aSEmmanuel Vadot		"eMMC_D5", /* BOOT_5 */
268cb7aa33aSEmmanuel Vadot		"eMMC_D6", /* BOOT_6 */
269cb7aa33aSEmmanuel Vadot		"eMMC_D7", /* BOOT_7 */
270cb7aa33aSEmmanuel Vadot		"eMMC_CLK", /* BOOT_8 */
271cb7aa33aSEmmanuel Vadot		"",
272cb7aa33aSEmmanuel Vadot		"eMMC_CMD", /* BOOT_10 */
273cb7aa33aSEmmanuel Vadot		"",
274cb7aa33aSEmmanuel Vadot		"eMMC_RST#", /* BOOT_12 */
275cb7aa33aSEmmanuel Vadot		"eMMC_DS", /* BOOT_13 */
276cb7aa33aSEmmanuel Vadot		"", "",
277cb7aa33aSEmmanuel Vadot		/* GPIOC */
278cb7aa33aSEmmanuel Vadot		"SD_D0_B", /* GPIOC_0 */
279cb7aa33aSEmmanuel Vadot		"SD_D1_B", /* GPIOC_1 */
280cb7aa33aSEmmanuel Vadot		"SD_D2_B", /* GPIOC_2 */
281cb7aa33aSEmmanuel Vadot		"SD_D3_B", /* GPIOC_3 */
282cb7aa33aSEmmanuel Vadot		"SD_CLK_B", /* GPIOC_4 */
283cb7aa33aSEmmanuel Vadot		"SD_CMD_B", /* GPIOC_5 */
284cb7aa33aSEmmanuel Vadot		"CARD_EN_DET", /* GPIOC_6 */
285cb7aa33aSEmmanuel Vadot		"",
286cb7aa33aSEmmanuel Vadot		/* GPIOA */
287cb7aa33aSEmmanuel Vadot		"", "", "", "", "", "", "", "",
288cb7aa33aSEmmanuel Vadot		"", "", "", "", "", "",
289cb7aa33aSEmmanuel Vadot		"CON1-P27", /* GPIOA_14 */
290cb7aa33aSEmmanuel Vadot		"CON1-P28", /* GPIOA_15 */
291cb7aa33aSEmmanuel Vadot		/* GPIOX */
292cb7aa33aSEmmanuel Vadot		"CON1-P16", /* GPIOX_0 */
293cb7aa33aSEmmanuel Vadot		"CON1-P18", /* GPIOX_1 */
294cb7aa33aSEmmanuel Vadot		"CON1-P22", /* GPIOX_2 */
295cb7aa33aSEmmanuel Vadot		"CON1-P11", /* GPIOX_3 */
296cb7aa33aSEmmanuel Vadot		"CON1-P13", /* GPIOX_4 */
297cb7aa33aSEmmanuel Vadot		"CON1-P07", /* GPIOX_5 */
298cb7aa33aSEmmanuel Vadot		"CON1-P33", /* GPIOX_6 */
299cb7aa33aSEmmanuel Vadot		"CON1-P15", /* GPIOX_7 */
300cb7aa33aSEmmanuel Vadot		"CON1-P19", /* GPIOX_8 */
301cb7aa33aSEmmanuel Vadot		"CON1-P21", /* GPIOX_9 */
302cb7aa33aSEmmanuel Vadot		"CON1-P24", /* GPIOX_10 */
303cb7aa33aSEmmanuel Vadot		"CON1-P23", /* GPIOX_11 */
304cb7aa33aSEmmanuel Vadot		"CON1-P08", /* GPIOX_12 */
305cb7aa33aSEmmanuel Vadot		"CON1-P10", /* GPIOX_13 */
306cb7aa33aSEmmanuel Vadot		"CON1-P29", /* GPIOX_14 */
307cb7aa33aSEmmanuel Vadot		"CON1-P31", /* GPIOX_15 */
308cb7aa33aSEmmanuel Vadot		"CON1-P26", /* GPIOX_16 */
309cb7aa33aSEmmanuel Vadot		"CON1-P03", /* GPIOX_17 */
310cb7aa33aSEmmanuel Vadot		"CON1-P05", /* GPIOX_18 */
311cb7aa33aSEmmanuel Vadot		"CON1-P32"; /* GPIOX_19 */
312cb7aa33aSEmmanuel Vadot
313cb7aa33aSEmmanuel Vadot	/*
314cb7aa33aSEmmanuel Vadot	 * WARNING: The USB Hub needs a reset signal to be turned high in
315cb7aa33aSEmmanuel Vadot	 * order to be detected by the USB Controller. This signal should
316cb7aa33aSEmmanuel Vadot	 * be handled by a USB specific power sequence to reset the Hub
317cb7aa33aSEmmanuel Vadot	 * when the USB bus is powered down.
318cb7aa33aSEmmanuel Vadot	 */
319fac71e4eSEmmanuel Vadot	usb-hub-hog {
320cb7aa33aSEmmanuel Vadot		gpio-hog;
321cb7aa33aSEmmanuel Vadot		gpios = <GPIOH_4 GPIO_ACTIVE_HIGH>;
322cb7aa33aSEmmanuel Vadot		output-high;
323cb7aa33aSEmmanuel Vadot		line-name = "usb-hub-reset";
324cb7aa33aSEmmanuel Vadot	};
325cb7aa33aSEmmanuel Vadot};
326cb7aa33aSEmmanuel Vadot
327cb7aa33aSEmmanuel Vadot&gpio_ao {
328cb7aa33aSEmmanuel Vadot	gpio-line-names =
329cb7aa33aSEmmanuel Vadot		/* GPIOAO */
330cb7aa33aSEmmanuel Vadot		"DEBUG TX", /* GPIOAO_0 */
331cb7aa33aSEmmanuel Vadot		"DEBUG RX", /* GPIOAO_1 */
332cb7aa33aSEmmanuel Vadot		"SYS_LED2", /* GPIOAO_2 */
333cb7aa33aSEmmanuel Vadot		"UPDATE_KEY", /* GPIOAO_3 */
334cb7aa33aSEmmanuel Vadot		"CON1-P40", /* GPIOAO_4 */
335cb7aa33aSEmmanuel Vadot		"IR_IN", /* GPIOAO_5 */
336cb7aa33aSEmmanuel Vadot		"TF_3V3N_1V8_EN", /* GPIOAO_6 */
337cb7aa33aSEmmanuel Vadot		"CON1-P35", /* GPIOAO_7 */
338cb7aa33aSEmmanuel Vadot		"CON1-P12", /* GPIOAO_8 */
339cb7aa33aSEmmanuel Vadot		"CON1-P37", /* GPIOAO_9 */
340cb7aa33aSEmmanuel Vadot		"CON1-P38", /* GPIOAO_10 */
341cb7aa33aSEmmanuel Vadot		"SYS_LED", /* GPIOAO_11 */
342cb7aa33aSEmmanuel Vadot		/* GPIOE */
343cb7aa33aSEmmanuel Vadot		"VDDEE_PWM", /* GPIOE_0 */
344cb7aa33aSEmmanuel Vadot		"VDDCPU_PWM", /* GPIOE_1 */
345cb7aa33aSEmmanuel Vadot		"TF_PWR_EN"; /* GPIOE_2 */
346cb7aa33aSEmmanuel Vadot};
347cb7aa33aSEmmanuel Vadot
348cb7aa33aSEmmanuel Vadot&hdmi_tx {
349cb7aa33aSEmmanuel Vadot	status = "okay";
350cb7aa33aSEmmanuel Vadot	pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
351cb7aa33aSEmmanuel Vadot	pinctrl-names = "default";
352cb7aa33aSEmmanuel Vadot	hdmi-supply = <&dc_in>;
353cb7aa33aSEmmanuel Vadot};
354cb7aa33aSEmmanuel Vadot
355cb7aa33aSEmmanuel Vadot&hdmi_tx_tmds_port {
356cb7aa33aSEmmanuel Vadot	hdmi_tx_tmds_out: endpoint {
357cb7aa33aSEmmanuel Vadot		remote-endpoint = <&hdmi_connector_in>;
358cb7aa33aSEmmanuel Vadot	};
359cb7aa33aSEmmanuel Vadot};
360cb7aa33aSEmmanuel Vadot
361cb7aa33aSEmmanuel Vadot&ir {
362cb7aa33aSEmmanuel Vadot	status = "okay";
363cb7aa33aSEmmanuel Vadot	pinctrl-0 = <&remote_input_ao_pins>;
364cb7aa33aSEmmanuel Vadot	pinctrl-names = "default";
365cb7aa33aSEmmanuel Vadot};
366cb7aa33aSEmmanuel Vadot
367cb7aa33aSEmmanuel Vadot&pwm_AO_cd {
368cb7aa33aSEmmanuel Vadot	pinctrl-0 = <&pwm_ao_d_e_pins>;
369cb7aa33aSEmmanuel Vadot	pinctrl-names = "default";
370cb7aa33aSEmmanuel Vadot	clocks = <&xtal>;
371cb7aa33aSEmmanuel Vadot	clock-names = "clkin1";
372cb7aa33aSEmmanuel Vadot	status = "okay";
373cb7aa33aSEmmanuel Vadot};
374cb7aa33aSEmmanuel Vadot
375cb7aa33aSEmmanuel Vadot&saradc {
376cb7aa33aSEmmanuel Vadot	status = "okay";
377cb7aa33aSEmmanuel Vadot	vref-supply = <&vddao_1v8>;
378cb7aa33aSEmmanuel Vadot};
379cb7aa33aSEmmanuel Vadot
380cb7aa33aSEmmanuel Vadot/* SD card */
381cb7aa33aSEmmanuel Vadot&sd_emmc_b {
382cb7aa33aSEmmanuel Vadot	status = "okay";
383cb7aa33aSEmmanuel Vadot	pinctrl-0 = <&sdcard_c_pins>;
384cb7aa33aSEmmanuel Vadot	pinctrl-1 = <&sdcard_clk_gate_c_pins>;
385cb7aa33aSEmmanuel Vadot	pinctrl-names = "default", "clk-gate";
386cb7aa33aSEmmanuel Vadot
387cb7aa33aSEmmanuel Vadot	bus-width = <4>;
388cb7aa33aSEmmanuel Vadot	cap-sd-highspeed;
389cb7aa33aSEmmanuel Vadot	max-frequency = <50000000>;
390cb7aa33aSEmmanuel Vadot	disable-wp;
391cb7aa33aSEmmanuel Vadot
392cb7aa33aSEmmanuel Vadot	/* TOFIX: SD card is barely usable in SDR modes */
393cb7aa33aSEmmanuel Vadot
394cb7aa33aSEmmanuel Vadot	cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
395cb7aa33aSEmmanuel Vadot	vmmc-supply = <&tflash_vdd>;
396cb7aa33aSEmmanuel Vadot	vqmmc-supply = <&vddio_c>;
397cb7aa33aSEmmanuel Vadot};
398cb7aa33aSEmmanuel Vadot
399cb7aa33aSEmmanuel Vadot/* eMMC */
400cb7aa33aSEmmanuel Vadot&sd_emmc_c {
401cb7aa33aSEmmanuel Vadot	status = "okay";
402cb7aa33aSEmmanuel Vadot	pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
403cb7aa33aSEmmanuel Vadot	pinctrl-1 = <&emmc_clk_gate_pins>;
404cb7aa33aSEmmanuel Vadot	pinctrl-names = "default", "clk-gate";
405cb7aa33aSEmmanuel Vadot
406cb7aa33aSEmmanuel Vadot	bus-width = <8>;
407cb7aa33aSEmmanuel Vadot	cap-mmc-highspeed;
408cb7aa33aSEmmanuel Vadot	mmc-ddr-1_8v;
409cb7aa33aSEmmanuel Vadot	mmc-hs200-1_8v;
410cb7aa33aSEmmanuel Vadot	max-frequency = <200000000>;
411cb7aa33aSEmmanuel Vadot	disable-wp;
412cb7aa33aSEmmanuel Vadot
413cb7aa33aSEmmanuel Vadot	mmc-pwrseq = <&emmc_pwrseq>;
414cb7aa33aSEmmanuel Vadot	vmmc-supply = <&vddao_3v3>;
415cb7aa33aSEmmanuel Vadot	vqmmc-supply = <&emmc_1v8>;
416cb7aa33aSEmmanuel Vadot};
417cb7aa33aSEmmanuel Vadot
418cb7aa33aSEmmanuel Vadot&uart_AO {
419cb7aa33aSEmmanuel Vadot	status = "okay";
420cb7aa33aSEmmanuel Vadot	pinctrl-0 = <&uart_ao_a_pins>;
421cb7aa33aSEmmanuel Vadot	pinctrl-names = "default";
422cb7aa33aSEmmanuel Vadot};
423cb7aa33aSEmmanuel Vadot
424cb7aa33aSEmmanuel Vadot&usb {
425cb7aa33aSEmmanuel Vadot	status = "okay";
426cb7aa33aSEmmanuel Vadot};
427cb7aa33aSEmmanuel Vadot
428cb7aa33aSEmmanuel Vadot&usb2_phy0 {
429cb7aa33aSEmmanuel Vadot	phy-supply = <&dc_in>;
430cb7aa33aSEmmanuel Vadot};
431cb7aa33aSEmmanuel Vadot
432cb7aa33aSEmmanuel Vadot&usb2_phy1 {
433cb7aa33aSEmmanuel Vadot	/* Enable the hub which is connected to this port */
434cb7aa33aSEmmanuel Vadot	phy-supply = <&vl_pwr_en>;
435cb7aa33aSEmmanuel Vadot};
436