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