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 ethernet0 = &gmac2phy; 13 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: regulator-vccio-1v8 { 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: regulator-vccio-3v3 { 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: regulator-otg-vbus { 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: regulator-sdmmc { 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: regulator-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: regulator-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}; 384