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 chosen { 12 stdout-path = "serial2:1500000n8"; 13 }; 14 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>; 21 22 recovery { 23 label = "recovery"; 24 linux,code = <KEY_VENDOR>; 25 press-threshold-microvolt = <17000>; 26 }; 27 }; 28 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 }; 35 36 leds { 37 compatible = "gpio-leds"; 38 pinctrl-0 = <&cyx_led_pin>; 39 pinctrl-names = "default"; 40 41 cyx_led: led-0 { 42 default-state = "on"; 43 gpios = <&gpio2 RK_PC7 GPIO_ACTIVE_LOW>; 44 label = "CYX_LED"; 45 }; 46 }; 47 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 }; 54 55 spdif-sound { 56 compatible = "simple-audio-card"; 57 simple-audio-card,name = "SPDIF"; 58 59 simple-audio-card,cpu { 60 sound-dai = <&spdif>; 61 }; 62 63 simple-audio-card,codec { 64 sound-dai = <&spdif_out>; 65 }; 66 }; 67 68 spdif_out: spdif-out { 69 compatible = "linux,spdif-dit"; 70 #sound-dai-cells = <0>; 71 }; 72 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 }; 81 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 }; 89 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 }; 100 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 }; 111 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 }; 122 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 }; 133}; 134 135&analog_sound { 136 status = "okay"; 137}; 138 139&codec { 140 status = "okay"; 141}; 142 143&cpu0 { 144 cpu-supply = <&vdd_arm>; 145}; 146 147&cpu1 { 148 cpu-supply = <&vdd_arm>; 149}; 150 151&cpu2 { 152 cpu-supply = <&vdd_arm>; 153}; 154 155&cpu3 { 156 cpu-supply = <&vdd_arm>; 157}; 158 159&cpu0_opp_table { 160 opp-1200000000 { 161 status = "disabled"; 162 }; 163 164 opp-1296000000 { 165 status = "disabled"; 166 }; 167}; 168 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"; 176}; 177 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"; 184}; 185 186&gpu { 187 mali-supply = <&vdd_log>; 188}; 189 190&hdmi { 191 ddc-i2c-scl-high-time-ns = <9625>; 192 ddc-i2c-scl-low-time-ns = <10000>; 193 status = "okay"; 194}; 195 196&hdmiphy { 197 status = "okay"; 198}; 199 200&hdmi_sound { 201 status = "okay"; 202}; 203 204&i2s0 { 205 status = "okay"; 206}; 207 208&i2s1 { 209 status = "okay"; 210}; 211 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"; 221}; 222 223&pinctrl { 224 ir { 225 ir_int: ir-int { 226 rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 227 }; 228 }; 229 230 leds { 231 cyx_led_pin: cyx-led-pin { 232 rockchip,pins = <2 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; 233 }; 234 }; 235 236 pwm0 { 237 pwm0_pin_pull_up: pwm0-pin-pull-up { 238 rockchip,pins = <2 RK_PA4 1 &pcfg_pull_up>; 239 }; 240 }; 241 242 pwm1 { 243 pwm1_pin_pull_up: pwm1-pin-pull-up { 244 rockchip,pins = <2 RK_PA5 1 &pcfg_pull_up>; 245 }; 246 }; 247 248 sdio-pwrseq { 249 wifi_enable_h: wifi-enable-h { 250 rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 251 }; 252 }; 253 254 sdmmc1 { 255 clk_32k_out: clk-32k-out { 256 rockchip,pins = <1 RK_PD4 1 &pcfg_pull_none>; 257 }; 258 }; 259 260 usb { 261 host_vbus_drv: host-vbus-drv { 262 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 263 }; 264 265 otg_vbus_drv: otg-vbus-drv { 266 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 267 }; 268 }; 269}; 270 271&pwm0 { 272 pinctrl-0 = <&pwm0_pin_pull_up>; 273 pinctrl-names = "active"; 274 status = "okay"; 275}; 276 277&pwm1 { 278 pinctrl-0 = <&pwm1_pin_pull_up>; 279 pinctrl-names = "active"; 280 status = "okay"; 281}; 282 283&saradc { 284 vref-supply = <&vccio_1v8>; 285 status = "okay"; 286}; 287 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"; 300}; 301 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"; 309}; 310 311&spdif { 312 pinctrl-0 = <&spdifm0_tx>; 313 status = "okay"; 314}; 315 316&soc_crit { 317 temperature = <115000>; /* millicelsius */ 318}; 319 320&target { 321 temperature = <105000>; /* millicelsius */ 322}; 323 324&threshold { 325 temperature = <90000>; /* millicelsius */ 326}; 327 328&tsadc { 329 rockchip,hw-tshut-temp = <120000>; 330 status = "okay"; 331}; 332 333&u2phy { 334 status = "okay"; 335}; 336 337&u2phy_host { 338 status = "okay"; 339}; 340 341&u2phy_otg { 342 phy-supply = <&vcc_otg_vbus>; 343 status = "okay"; 344}; 345 346&uart0 { 347 pinctrl-0 = <&uart0_xfer &uart0_cts>; 348 status = "okay"; 349}; 350 351&uart2 { 352 status = "okay"; 353}; 354 355&usb20_otg { 356 dr_mode = "host"; 357 status = "okay"; 358}; 359 360&usb_host0_ehci { 361 status = "okay"; 362}; 363 364&usb_host0_ohci { 365 status = "okay"; 366}; 367 368&vop { 369 status = "okay"; 370}; 371 372&vop_mmu { 373 status = "okay"; 374}; 375