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