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