blob: c7b1862fca6a0f14ab1eef78239f5875a52be164 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3/dts-v1/;
4#include <dt-bindings/input/input.h>
5#include "rk3328.dtsi"
6
7/ {
8 model = "A95X Z2";
9 compatible = "zkmagic,a95x-z2", "rockchip,rk3318";
10
11 aliases {
Tom Rini93743d22024-04-01 09:08:13 -040012 ethernet0 = &gmac2phy;
Tom Rini53633a82024-02-29 12:33:36 -050013 mmc0 = &sdmmc;
14 mmc1 = &sdio;
15 mmc2 = &emmc;
16 };
17
18 chosen {
19 stdout-path = "serial2:1500000n8";
20 };
21
22 adc-keys {
23 compatible = "adc-keys";
24 io-channels = <&saradc 0>;
25 io-channel-names = "buttons";
26 keyup-threshold-microvolt = <1800000>;
27 poll-interval = <100>;
28
29 button-recovery {
30 label = "recovery";
31 linux,code = <KEY_VENDOR>;
32 press-threshold-microvolt = <17000>;
33 };
34 };
35
36 ir-receiver {
37 compatible = "gpio-ir-receiver";
38 gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
39 pinctrl-0 = <&ir_int>;
40 pinctrl-names = "default";
41 };
42
43 leds {
44 compatible = "gpio-leds";
45 pinctrl-0 = <&cyx_led_pin>;
46 pinctrl-names = "default";
47
48 cyx_led: led-0 {
49 default-state = "on";
50 gpios = <&gpio2 RK_PC7 GPIO_ACTIVE_LOW>;
51 label = "CYX_LED";
52 };
53 };
54
55 sdio_pwrseq: sdio-pwrseq {
56 compatible = "mmc-pwrseq-simple";
57 pinctrl-0 = <&wifi_enable_h>;
58 pinctrl-names = "default";
59 reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
60 };
61
62 spdif-sound {
63 compatible = "simple-audio-card";
64 simple-audio-card,name = "SPDIF";
65
66 simple-audio-card,cpu {
67 sound-dai = <&spdif>;
68 };
69
70 simple-audio-card,codec {
71 sound-dai = <&spdif_out>;
72 };
73 };
74
75 spdif_out: spdif-out {
76 compatible = "linux,spdif-dit";
77 #sound-dai-cells = <0>;
78 };
79
80 /* Power tree */
81 vccio_1v8: vccio-1v8-regulator {
82 compatible = "regulator-fixed";
83 regulator-name = "vccio_1v8";
84 regulator-min-microvolt = <1800000>;
85 regulator-max-microvolt = <1800000>;
86 regulator-always-on;
87 };
88
89 vccio_3v3: vccio-3v3-regulator {
90 compatible = "regulator-fixed";
91 regulator-name = "vccio_3v3";
92 regulator-min-microvolt = <3300000>;
93 regulator-max-microvolt = <3300000>;
94 regulator-always-on;
95 };
96
97 vcc_otg_vbus: otg-vbus-regulator {
98 compatible = "regulator-fixed";
99 gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
100 pinctrl-0 = <&otg_vbus_drv>;
101 pinctrl-names = "default";
102 regulator-name = "vcc_otg_vbus";
103 regulator-min-microvolt = <5000000>;
104 regulator-max-microvolt = <5000000>;
105 enable-active-high;
106 };
107
108 vcc_sd: sdmmc-regulator {
109 compatible = "regulator-fixed";
110 gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
111 pinctrl-0 = <&sdmmc0m1_pin>;
112 pinctrl-names = "default";
113 regulator-name = "vcc_sd";
114 regulator-min-microvolt = <3300000>;
115 regulator-max-microvolt = <3300000>;
116 vin-supply = <&vccio_3v3>;
117 };
118
119 vdd_arm: vdd-arm {
120 compatible = "pwm-regulator";
121 pwms = <&pwm0 0 5000 1>;
122 regulator-name = "vdd_arm";
123 regulator-min-microvolt = <950000>;
124 regulator-max-microvolt = <1400000>;
125 regulator-settling-time-up-us = <250>;
126 regulator-always-on;
127 regulator-boot-on;
128 };
129
130 vdd_log: vdd-log {
131 compatible = "pwm-regulator";
132 pwms = <&pwm1 0 5000 1>;
133 regulator-name = "vdd_log";
134 regulator-min-microvolt = <900000>;
135 regulator-max-microvolt = <1300000>;
136 regulator-settling-time-up-us = <250>;
137 regulator-always-on;
138 regulator-boot-on;
139 };
140};
141
142&analog_sound {
143 status = "okay";
144};
145
146&codec {
147 status = "okay";
148};
149
150&cpu0 {
151 cpu-supply = <&vdd_arm>;
152};
153
154&cpu1 {
155 cpu-supply = <&vdd_arm>;
156};
157
158&cpu2 {
159 cpu-supply = <&vdd_arm>;
160};
161
162&cpu3 {
163 cpu-supply = <&vdd_arm>;
164};
165
166&cpu0_opp_table {
167 opp-1200000000 {
168 status = "disabled";
169 };
170
171 opp-1296000000 {
172 status = "disabled";
173 };
174};
175
176&emmc {
177 bus-width = <8>;
178 cap-mmc-highspeed;
179 non-removable;
180 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
181 pinctrl-names = "default";
182 status = "okay";
183};
184
185&gmac2phy {
186 assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
187 assigned-clock-rate = <50000000>;
188 assigned-clocks = <&cru SCLK_MAC2PHY>;
189 status = "okay";
190};
191
192&gpu {
193 mali-supply = <&vdd_log>;
194};
195
196&hdmi {
197 status = "okay";
198};
199
200&hdmiphy {
201 status = "okay";
202};
203
204&hdmi_sound {
205 status = "okay";
206};
207
208&i2s0 {
209 status = "okay";
210};
211
212&i2s1 {
213 status = "okay";
214};
215
216&io_domains {
217 pmuio-supply = <&vccio_3v3>;
218 vccio1-supply = <&vccio_3v3>;
219 vccio2-supply = <&vccio_1v8>;
220 vccio3-supply = <&vccio_3v3>;
221 vccio4-supply = <&vccio_1v8>;
222 vccio5-supply = <&vccio_3v3>;
223 vccio6-supply = <&vccio_3v3>;
224 status = "okay";
225};
226
227&pinctrl {
228 ir {
229 ir_int: ir-int {
230 rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
231 };
232 };
233
234 leds {
235 cyx_led_pin: cyx-led-pin {
236 rockchip,pins = <2 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
237 };
238 };
239
240 pwm0 {
241 pwm0_pin_pull_up: pwm0-pin-pull-up {
242 rockchip,pins = <2 RK_PA4 1 &pcfg_pull_up>;
243 };
244 };
245
246 pwm1 {
247 pwm1_pin_pull_up: pwm1-pin-pull-up {
248 rockchip,pins = <2 RK_PA5 1 &pcfg_pull_up>;
249 };
250 };
251
252 sdio-pwrseq {
253 wifi_enable_h: wifi-enable-h {
254 rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
255 };
256 };
257
258 sdmmc1 {
259 clk_32k_out: clk-32k-out {
260 rockchip,pins = <1 RK_PD4 1 &pcfg_pull_none>;
261 };
262 };
263
264 usb {
265 host_vbus_drv: host-vbus-drv {
266 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
267 };
268
269 otg_vbus_drv: otg-vbus-drv {
270 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
271 };
272 };
273};
274
275&pwm0 {
276 pinctrl-0 = <&pwm0_pin_pull_up>;
277 pinctrl-names = "active";
278 status = "okay";
279};
280
281&pwm1 {
282 pinctrl-0 = <&pwm1_pin_pull_up>;
283 pinctrl-names = "active";
284 status = "okay";
285};
286
287&saradc {
288 vref-supply = <&vccio_1v8>;
289 status = "okay";
290};
291
292&sdio {
293 bus-width = <4>;
294 cap-sd-highspeed;
295 cap-sdio-irq;
296 keep-power-in-suspend;
297 max-frequency = <125000000>;
298 mmc-pwrseq = <&sdio_pwrseq>;
299 non-removable;
300 pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk &clk_32k_out>;
301 pinctrl-names = "default";
302 sd-uhs-sdr104;
303 status = "okay";
304};
305
306&sdmmc {
307 bus-width = <4>;
308 cap-sd-highspeed;
309 pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
310 pinctrl-names = "default";
311 vmmc-supply = <&vcc_sd>;
312 status = "okay";
313};
314
315&spdif {
316 pinctrl-0 = <&spdifm0_tx>;
317 status = "okay";
318};
319
320&soc_crit {
321 temperature = <115000>; /* millicelsius */
322};
323
324&target {
325 temperature = <105000>; /* millicelsius */
326};
327
328&threshold {
329 temperature = <90000>; /* millicelsius */
330};
331
332&tsadc {
333 rockchip,hw-tshut-temp = <120000>;
334 status = "okay";
335};
336
337&u2phy {
338 status = "okay";
339};
340
341&u2phy_host {
342 status = "okay";
343};
344
345&u2phy_otg {
346 phy-supply = <&vcc_otg_vbus>;
347 status = "okay";
348};
349
350&uart0 {
351 pinctrl-0 = <&uart0_xfer &uart0_cts>;
352 status = "okay";
353};
354
355&uart2 {
356 status = "okay";
357};
358
359&usb20_otg {
360 dr_mode = "host";
361 status = "okay";
362};
363
364&usbdrd3 {
365 dr_mode = "host";
366 status = "okay";
367};
368
369&usb_host0_ehci {
370 status = "okay";
371};
372
373&usb_host0_ohci {
374 status = "okay";
375};
376
377&vop {
378 status = "okay";
379};
380
381&vop_mmu {
382 status = "okay";
383};