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