blob: 4903d6358112def0c27c224c9757e7505bda75be [file] [log] [blame]
Samuel Holland399a01f2022-04-27 15:31:31 -05001// 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";
Andre Przywara5eb4bbe2022-09-11 00:04:41 +010081 clocks = <&rtc CLK_OSC32K_FANOUT>;
Samuel Holland399a01f2022-04-27 15:31:31 -050082 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 bus-width = <4>;
128 status = "okay";
129};
130
131&mmc1 {
132 vmmc-supply = <&reg_vcc3v3>;
133 vqmmc-supply = <&reg_vcc1v8>;
134 mmc-pwrseq = <&wifi_pwrseq>;
135 bus-width = <4>;
136 non-removable;
137 status = "okay";
138};
139
140&mmc2 {
141 vmmc-supply = <&reg_vcc3v3>;
142 vqmmc-supply = <&reg_vcc1v8>;
143 bus-width = <8>;
144 non-removable;
145 cap-mmc-hw-reset;
146 mmc-hs200-1_8v;
147 status = "okay";
148};
149
150&ohci0 {
151 status = "okay";
152};
153
154&ohci3 {
155 status = "okay";
156};
157
158&pio {
159 vcc-pc-supply = <&reg_vcc1v8>;
160 vcc-pd-supply = <&reg_vcc3v3>;
161 vcc-pg-supply = <&reg_vcc1v8>;
162};
163
164&r_ir {
165 status = "okay";
166};
167
168&spdif {
169 status = "okay";
170};
171
172&uart0 {
173 pinctrl-names = "default";
174 pinctrl-0 = <&uart0_ph_pins>;
175 status = "okay";
176};
177
178&usb2otg {
179 dr_mode = "host";
180 status = "okay";
181};
182
183&usb2phy {
184 status = "okay";
185};
186
187&usb3phy {
188 status = "okay";
189};