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