WIP FPC-III support
[linux/fpc-iii.git] / arch / arm64 / boot / dts / rockchip / rk3318-a95x-z2.dts
blob30c73ef25370b0048472517e00f884dbda8c8cac
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 /dts-v1/;
4 #include <dt-bindings/input/input.h>
5 #include "rk3328.dtsi"
7 / {
8         model = "A95X Z2";
9         compatible = "zkmagic,a95x-z2", "rockchip,rk3318";
11         chosen {
12                 stdout-path = "serial2:1500000n8";
13         };
15         adc-keys {
16                 compatible = "adc-keys";
17                 io-channels = <&saradc 0>;
18                 io-channel-names = "buttons";
19                 keyup-threshold-microvolt = <1800000>;
20                 poll-interval = <100>;
22                 recovery {
23                         label = "recovery";
24                         linux,code = <KEY_VENDOR>;
25                         press-threshold-microvolt = <17000>;
26                 };
27         };
29         ir-receiver {
30                 compatible = "gpio-ir-receiver";
31                 gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
32                 pinctrl-0 = <&ir_int>;
33                 pinctrl-names = "default";
34         };
36         leds {
37                 compatible = "gpio-leds";
38                 pinctrl-0 = <&cyx_led_pin>;
39                 pinctrl-names = "default";
41                 cyx_led: led-0 {
42                         default-state = "on";
43                         gpios = <&gpio2 RK_PC7 GPIO_ACTIVE_LOW>;
44                         label = "CYX_LED";
45                 };
46         };
48         sdio_pwrseq: sdio-pwrseq {
49                 compatible = "mmc-pwrseq-simple";
50                 pinctrl-0 = <&wifi_enable_h>;
51                 pinctrl-names = "default";
52                 reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
53         };
55         spdif-sound {
56                 compatible = "simple-audio-card";
57                 simple-audio-card,name = "SPDIF";
59                 simple-audio-card,cpu {
60                         sound-dai = <&spdif>;
61                 };
63                 simple-audio-card,codec {
64                         sound-dai = <&spdif_out>;
65                 };
66         };
68         spdif_out: spdif-out {
69                 compatible = "linux,spdif-dit";
70                 #sound-dai-cells = <0>;
71         };
73         /* Power tree */
74         vccio_1v8: vccio-1v8-regulator {
75                 compatible = "regulator-fixed";
76                 regulator-name = "vccio_1v8";
77                 regulator-min-microvolt = <1800000>;
78                 regulator-max-microvolt = <1800000>;
79                 regulator-always-on;
80         };
82         vccio_3v3: vccio-3v3-regulator {
83                 compatible = "regulator-fixed";
84                 regulator-name = "vccio_3v3";
85                 regulator-min-microvolt = <3300000>;
86                 regulator-max-microvolt = <3300000>;
87                 regulator-always-on;
88         };
90         vcc_otg_vbus: otg-vbus-regulator {
91                 compatible = "regulator-fixed";
92                 gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
93                 pinctrl-0 = <&otg_vbus_drv>;
94                 pinctrl-names = "default";
95                 regulator-name = "vcc_otg_vbus";
96                 regulator-min-microvolt = <5000000>;
97                 regulator-max-microvolt = <5000000>;
98                 enable-active-high;
99         };
101         vcc_sd: sdmmc-regulator {
102                 compatible = "regulator-fixed";
103                 gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
104                 pinctrl-0 = <&sdmmc0m1_pin>;
105                 pinctrl-names = "default";
106                 regulator-name = "vcc_sd";
107                 regulator-min-microvolt = <3300000>;
108                 regulator-max-microvolt = <3300000>;
109                 vin-supply = <&vccio_3v3>;
110         };
112         vdd_arm: vdd-arm {
113                 compatible = "pwm-regulator";
114                 pwms = <&pwm0 0 5000 1>;
115                 regulator-name = "vdd_arm";
116                 regulator-min-microvolt = <950000>;
117                 regulator-max-microvolt = <1400000>;
118                 regulator-settling-time-up-us = <250>;
119                 regulator-always-on;
120                 regulator-boot-on;
121         };
123         vdd_log: vdd-log {
124                 compatible = "pwm-regulator";
125                 pwms = <&pwm1 0 5000 1>;
126                 regulator-name = "vdd_log";
127                 regulator-min-microvolt = <900000>;
128                 regulator-max-microvolt = <1300000>;
129                 regulator-settling-time-up-us = <250>;
130                 regulator-always-on;
131                 regulator-boot-on;
132         };
135 &analog_sound {
136         status = "okay";
139 &codec {
140         status = "okay";
143 &cpu0 {
144         cpu-supply = <&vdd_arm>;
147 &cpu1 {
148         cpu-supply = <&vdd_arm>;
151 &cpu2 {
152         cpu-supply = <&vdd_arm>;
155 &cpu3 {
156         cpu-supply = <&vdd_arm>;
159 &cpu0_opp_table {
160         opp-1200000000 {
161                 status = "disabled";
162         };
164         opp-1296000000 {
165                 status = "disabled";
166         };
169 &emmc {
170         bus-width = <8>;
171         cap-mmc-highspeed;
172         non-removable;
173         pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
174         pinctrl-names = "default";
175         status = "okay";
178 &gmac2phy {
179         assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
180         assigned-clock-rate = <50000000>;
181         assigned-clocks = <&cru SCLK_MAC2PHY>;
182         clock_in_out = "output";
183         status = "okay";
186 &gpu {
187         mali-supply = <&vdd_log>;
190 &hdmi {
191         ddc-i2c-scl-high-time-ns = <9625>;
192         ddc-i2c-scl-low-time-ns = <10000>;
193         status = "okay";
196 &hdmiphy {
197         status = "okay";
200 &hdmi_sound {
201         status = "okay";
204 &i2s0 {
205         status = "okay";
208 &i2s1 {
209         status = "okay";
212 &io_domains {
213         pmuio-supply = <&vccio_3v3>;
214         vccio1-supply = <&vccio_3v3>;
215         vccio2-supply = <&vccio_1v8>;
216         vccio3-supply = <&vccio_3v3>;
217         vccio4-supply = <&vccio_1v8>;
218         vccio5-supply = <&vccio_3v3>;
219         vccio6-supply = <&vccio_3v3>;
220         status = "okay";
223 &pinctrl {
224         ir {
225                 ir_int: ir-int {
226                         rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
227                 };
228         };
230         leds {
231                 cyx_led_pin: cyx-led-pin {
232                         rockchip,pins = <2 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
233                 };
234         };
236         pwm0 {
237                 pwm0_pin_pull_up: pwm0-pin-pull-up {
238                         rockchip,pins = <2 RK_PA4 1 &pcfg_pull_up>;
239                 };
240         };
242         pwm1 {
243                 pwm1_pin_pull_up: pwm1-pin-pull-up {
244                         rockchip,pins = <2 RK_PA5 1 &pcfg_pull_up>;
245                 };
246         };
248         sdio-pwrseq {
249                 wifi_enable_h: wifi-enable-h {
250                         rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
251                 };
252         };
254         sdmmc1 {
255                 clk_32k_out: clk-32k-out {
256                         rockchip,pins = <1 RK_PD4 1 &pcfg_pull_none>;
257                 };
258         };
260         usb {
261                 host_vbus_drv: host-vbus-drv {
262                         rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
263                 };
265                 otg_vbus_drv: otg-vbus-drv {
266                         rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
267                 };
268         };
271 &pwm0 {
272         pinctrl-0 = <&pwm0_pin_pull_up>;
273         pinctrl-names = "active";
274         status = "okay";
277 &pwm1 {
278         pinctrl-0 = <&pwm1_pin_pull_up>;
279         pinctrl-names = "active";
280         status = "okay";
283 &saradc {
284         vref-supply = <&vccio_1v8>;
285         status = "okay";
288 &sdio {
289         bus-width = <4>;
290         cap-sd-highspeed;
291         cap-sdio-irq;
292         keep-power-in-suspend;
293         max-frequency = <125000000>;
294         mmc-pwrseq = <&sdio_pwrseq>;
295         non-removable;
296         pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk &clk_32k_out>;
297         pinctrl-names = "default";
298         sd-uhs-sdr104;
299         status = "okay";
302 &sdmmc {
303         bus-width = <4>;
304         cap-sd-highspeed;
305         pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
306         pinctrl-names = "default";
307         vmmc-supply = <&vcc_sd>;
308         status = "okay";
311 &spdif {
312         pinctrl-0 = <&spdifm0_tx>;
313         status = "okay";
316 &soc_crit {
317         temperature = <115000>; /* millicelsius */
320 &target {
321         temperature = <105000>; /* millicelsius */
324 &threshold {
325         temperature = <90000>; /* millicelsius */
328 &tsadc {
329         rockchip,hw-tshut-temp = <120000>;
330         status = "okay";
333 &u2phy {
334         status = "okay";
337 &u2phy_host {
338         status = "okay";
341 &u2phy_otg {
342         phy-supply = <&vcc_otg_vbus>;
343         status = "okay";
346 &uart0 {
347         pinctrl-0 = <&uart0_xfer &uart0_cts>;
348         status = "okay";
351 &uart2 {
352         status = "okay";
355 &usb20_otg {
356         dr_mode = "host";
357         status = "okay";
360 &usb_host0_ehci {
361         status = "okay";
364 &usb_host0_ohci {
365         status = "okay";
368 &vop {
369         status = "okay";
372 &vop_mmu {
373         status = "okay";