xref: /linux/arch/arm64/boot/dts/allwinner/sun50i-h6-tanix.dtsi (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2// Copyright (c) 2019 Jernej Skrabec <jernej.skrabec@siol.net>
3
4/dts-v1/;
5
6#include "sun50i-h6.dtsi"
7#include "sun50i-h6-cpu-opp.dtsi"
8
9#include <dt-bindings/gpio/gpio.h>
10
11/ {
12	aliases {
13		serial0 = &uart0;
14	};
15
16	chosen {
17		stdout-path = "serial0:115200n8";
18	};
19
20	connector {
21		compatible = "hdmi-connector";
22		ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
23		type = "a";
24
25		port {
26			hdmi_con_in: endpoint {
27				remote-endpoint = <&hdmi_out_con>;
28			};
29		};
30	};
31
32	/* used for FD650 LED display driver */
33	i2c {
34		compatible = "i2c-gpio";
35		sda-gpios = <&pio 7 6 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; /* PH6 */
36		scl-gpios = <&pio 7 5 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; /* PH5 */
37		i2c-gpio,delay-us = <5>;
38	};
39
40	reg_vcc1v8: regulator-vcc1v8 {
41		compatible = "regulator-fixed";
42		regulator-name = "vcc1v8";
43		regulator-min-microvolt = <1800000>;
44		regulator-max-microvolt = <1800000>;
45	};
46
47	reg_vcc3v3: regulator-vcc3v3 {
48		compatible = "regulator-fixed";
49		regulator-name = "vcc3v3";
50		regulator-min-microvolt = <3300000>;
51		regulator-max-microvolt = <3300000>;
52	};
53
54	reg_vdd_cpu_gpu: regulator-vdd-cpu-gpu {
55		compatible = "regulator-fixed";
56		regulator-name = "vdd-cpu-gpu";
57		regulator-min-microvolt = <1135000>;
58		regulator-max-microvolt = <1135000>;
59	};
60
61	sound-spdif {
62		compatible = "simple-audio-card";
63		simple-audio-card,name = "sun50i-h6-spdif";
64
65		simple-audio-card,cpu {
66			sound-dai = <&spdif>;
67		};
68
69		simple-audio-card,codec {
70			sound-dai = <&spdif_out>;
71		};
72	};
73
74	spdif_out: spdif-out {
75		#sound-dai-cells = <0>;
76		compatible = "linux,spdif-dit";
77	};
78
79	wifi_pwrseq: wifi-pwrseq {
80		compatible = "mmc-pwrseq-simple";
81		clocks = <&rtc CLK_OSC32K_FANOUT>;
82		clock-names = "ext_clock";
83		reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
84	};
85};
86
87&cpu0 {
88	cpu-supply = <&reg_vdd_cpu_gpu>;
89};
90
91&de {
92	status = "okay";
93};
94
95&dwc3 {
96	status = "okay";
97};
98
99&ehci0 {
100	status = "okay";
101};
102
103&ehci3 {
104	status = "okay";
105};
106
107&gpu {
108	mali-supply = <&reg_vdd_cpu_gpu>;
109	status = "okay";
110};
111
112&hdmi {
113	status = "okay";
114};
115
116&hdmi_out {
117	hdmi_out_con: endpoint {
118		remote-endpoint = <&hdmi_con_in>;
119	};
120};
121
122&mmc0 {
123	pinctrl-names = "default";
124	pinctrl-0 = <&mmc0_pins>;
125	vmmc-supply = <&reg_vcc3v3>;
126	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
127	disable-wp;
128	bus-width = <4>;
129	status = "okay";
130};
131
132&mmc1 {
133	vmmc-supply = <&reg_vcc3v3>;
134	vqmmc-supply = <&reg_vcc1v8>;
135	mmc-pwrseq = <&wifi_pwrseq>;
136	bus-width = <4>;
137	non-removable;
138	status = "okay";
139};
140
141&mmc2 {
142	vmmc-supply = <&reg_vcc3v3>;
143	vqmmc-supply = <&reg_vcc1v8>;
144	bus-width = <8>;
145	non-removable;
146	cap-mmc-hw-reset;
147	mmc-hs200-1_8v;
148	status = "okay";
149};
150
151&ohci0 {
152	status = "okay";
153};
154
155&ohci3 {
156	status = "okay";
157};
158
159&pio {
160	vcc-pc-supply = <&reg_vcc1v8>;
161	vcc-pd-supply = <&reg_vcc3v3>;
162	vcc-pg-supply = <&reg_vcc1v8>;
163};
164
165&r_ir {
166	status = "okay";
167};
168
169&spdif {
170	pinctrl-names = "default";
171	pinctrl-0 = <&spdif_tx_pin>;
172	status = "okay";
173};
174
175&uart0 {
176	pinctrl-names = "default";
177	pinctrl-0 = <&uart0_ph_pins>;
178	status = "okay";
179};
180
181&usb2otg {
182	dr_mode = "host";
183	status = "okay";
184};
185
186&usb2phy {
187	status = "okay";
188};
189
190&usb3phy {
191	status = "okay";
192};
193