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>; >> 188 clock_in_out = "output"; 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 ddc-i2c-scl-high-time-ns = <9625>; >> 198 ddc-i2c-scl-low-time-ns = <10000>; 197 status = "okay"; 199 status = "okay"; 198 }; 200 }; 199 201 200 &hdmiphy { 202 &hdmiphy { 201 status = "okay"; 203 status = "okay"; 202 }; 204 }; 203 205 204 &hdmi_sound { 206 &hdmi_sound { 205 status = "okay"; 207 status = "okay"; 206 }; 208 }; 207 209 208 &i2s0 { 210 &i2s0 { 209 status = "okay"; 211 status = "okay"; 210 }; 212 }; 211 213 212 &i2s1 { 214 &i2s1 { 213 status = "okay"; 215 status = "okay"; 214 }; 216 }; 215 217 216 &io_domains { 218 &io_domains { 217 pmuio-supply = <&vccio_3v3>; 219 pmuio-supply = <&vccio_3v3>; 218 vccio1-supply = <&vccio_3v3>; 220 vccio1-supply = <&vccio_3v3>; 219 vccio2-supply = <&vccio_1v8>; 221 vccio2-supply = <&vccio_1v8>; 220 vccio3-supply = <&vccio_3v3>; 222 vccio3-supply = <&vccio_3v3>; 221 vccio4-supply = <&vccio_1v8>; 223 vccio4-supply = <&vccio_1v8>; 222 vccio5-supply = <&vccio_3v3>; 224 vccio5-supply = <&vccio_3v3>; 223 vccio6-supply = <&vccio_3v3>; 225 vccio6-supply = <&vccio_3v3>; 224 status = "okay"; 226 status = "okay"; 225 }; 227 }; 226 228 227 &pinctrl { 229 &pinctrl { 228 ir { 230 ir { 229 ir_int: ir-int { 231 ir_int: ir-int { 230 rockchip,pins = <2 RK_ 232 rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 231 }; 233 }; 232 }; 234 }; 233 235 234 leds { 236 leds { 235 cyx_led_pin: cyx-led-pin { 237 cyx_led_pin: cyx-led-pin { 236 rockchip,pins = <2 RK_ 238 rockchip,pins = <2 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; 237 }; 239 }; 238 }; 240 }; 239 241 240 pwm0 { 242 pwm0 { 241 pwm0_pin_pull_up: pwm0-pin-pul 243 pwm0_pin_pull_up: pwm0-pin-pull-up { 242 rockchip,pins = <2 RK_ 244 rockchip,pins = <2 RK_PA4 1 &pcfg_pull_up>; 243 }; 245 }; 244 }; 246 }; 245 247 246 pwm1 { 248 pwm1 { 247 pwm1_pin_pull_up: pwm1-pin-pul 249 pwm1_pin_pull_up: pwm1-pin-pull-up { 248 rockchip,pins = <2 RK_ 250 rockchip,pins = <2 RK_PA5 1 &pcfg_pull_up>; 249 }; 251 }; 250 }; 252 }; 251 253 252 sdio-pwrseq { 254 sdio-pwrseq { 253 wifi_enable_h: wifi-enable-h { 255 wifi_enable_h: wifi-enable-h { 254 rockchip,pins = <1 RK_ 256 rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 255 }; 257 }; 256 }; 258 }; 257 259 258 sdmmc1 { 260 sdmmc1 { 259 clk_32k_out: clk-32k-out { 261 clk_32k_out: clk-32k-out { 260 rockchip,pins = <1 RK_ 262 rockchip,pins = <1 RK_PD4 1 &pcfg_pull_none>; 261 }; 263 }; 262 }; 264 }; 263 265 264 usb { 266 usb { 265 host_vbus_drv: host-vbus-drv { 267 host_vbus_drv: host-vbus-drv { 266 rockchip,pins = <0 RK_ 268 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 267 }; 269 }; 268 270 269 otg_vbus_drv: otg-vbus-drv { 271 otg_vbus_drv: otg-vbus-drv { 270 rockchip,pins = <0 RK_ 272 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 271 }; 273 }; 272 }; 274 }; 273 }; 275 }; 274 276 275 &pwm0 { 277 &pwm0 { 276 pinctrl-0 = <&pwm0_pin_pull_up>; 278 pinctrl-0 = <&pwm0_pin_pull_up>; 277 pinctrl-names = "active"; 279 pinctrl-names = "active"; 278 status = "okay"; 280 status = "okay"; 279 }; 281 }; 280 282 281 &pwm1 { 283 &pwm1 { 282 pinctrl-0 = <&pwm1_pin_pull_up>; 284 pinctrl-0 = <&pwm1_pin_pull_up>; 283 pinctrl-names = "active"; 285 pinctrl-names = "active"; 284 status = "okay"; 286 status = "okay"; 285 }; 287 }; 286 288 287 &saradc { 289 &saradc { 288 vref-supply = <&vccio_1v8>; 290 vref-supply = <&vccio_1v8>; 289 status = "okay"; 291 status = "okay"; 290 }; 292 }; 291 293 292 &sdio { 294 &sdio { 293 bus-width = <4>; 295 bus-width = <4>; 294 cap-sd-highspeed; 296 cap-sd-highspeed; 295 cap-sdio-irq; 297 cap-sdio-irq; 296 keep-power-in-suspend; 298 keep-power-in-suspend; 297 max-frequency = <125000000>; 299 max-frequency = <125000000>; 298 mmc-pwrseq = <&sdio_pwrseq>; 300 mmc-pwrseq = <&sdio_pwrseq>; 299 non-removable; 301 non-removable; 300 pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd 302 pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk &clk_32k_out>; 301 pinctrl-names = "default"; 303 pinctrl-names = "default"; 302 sd-uhs-sdr104; 304 sd-uhs-sdr104; 303 status = "okay"; 305 status = "okay"; 304 }; 306 }; 305 307 306 &sdmmc { 308 &sdmmc { 307 bus-width = <4>; 309 bus-width = <4>; 308 cap-sd-highspeed; 310 cap-sd-highspeed; 309 pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd & 311 pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>; 310 pinctrl-names = "default"; 312 pinctrl-names = "default"; 311 vmmc-supply = <&vcc_sd>; 313 vmmc-supply = <&vcc_sd>; 312 status = "okay"; 314 status = "okay"; 313 }; 315 }; 314 316 315 &spdif { 317 &spdif { 316 pinctrl-0 = <&spdifm0_tx>; 318 pinctrl-0 = <&spdifm0_tx>; 317 status = "okay"; 319 status = "okay"; 318 }; 320 }; 319 321 320 &soc_crit { 322 &soc_crit { 321 temperature = <115000>; /* millicelsiu 323 temperature = <115000>; /* millicelsius */ 322 }; 324 }; 323 325 324 &target { 326 &target { 325 temperature = <105000>; /* millicelsiu 327 temperature = <105000>; /* millicelsius */ 326 }; 328 }; 327 329 328 &threshold { 330 &threshold { 329 temperature = <90000>; /* millicelsius 331 temperature = <90000>; /* millicelsius */ 330 }; 332 }; 331 333 332 &tsadc { 334 &tsadc { 333 rockchip,hw-tshut-temp = <120000>; 335 rockchip,hw-tshut-temp = <120000>; 334 status = "okay"; 336 status = "okay"; 335 }; 337 }; 336 338 337 &u2phy { 339 &u2phy { 338 status = "okay"; 340 status = "okay"; 339 }; 341 }; 340 342 341 &u2phy_host { 343 &u2phy_host { 342 status = "okay"; 344 status = "okay"; 343 }; 345 }; 344 346 345 &u2phy_otg { 347 &u2phy_otg { 346 phy-supply = <&vcc_otg_vbus>; 348 phy-supply = <&vcc_otg_vbus>; 347 status = "okay"; 349 status = "okay"; 348 }; 350 }; 349 351 350 &uart0 { 352 &uart0 { 351 pinctrl-0 = <&uart0_xfer &uart0_cts>; 353 pinctrl-0 = <&uart0_xfer &uart0_cts>; 352 status = "okay"; 354 status = "okay"; 353 }; 355 }; 354 356 355 &uart2 { 357 &uart2 { 356 status = "okay"; 358 status = "okay"; 357 }; 359 }; 358 360 359 &usb20_otg { 361 &usb20_otg { 360 dr_mode = "host"; 362 dr_mode = "host"; 361 status = "okay"; 363 status = "okay"; 362 }; 364 }; 363 365 364 &usbdrd3 { 366 &usbdrd3 { 365 dr_mode = "host"; 367 dr_mode = "host"; 366 status = "okay"; 368 status = "okay"; 367 }; 369 }; 368 370 369 &usb_host0_ehci { 371 &usb_host0_ehci { 370 status = "okay"; 372 status = "okay"; 371 }; 373 }; 372 374 373 &usb_host0_ohci { 375 &usb_host0_ohci { 374 status = "okay"; 376 status = "okay"; 375 }; 377 }; 376 378 377 &vop { 379 &vop { 378 status = "okay"; 380 status = "okay"; 379 }; 381 }; 380 382 381 &vop_mmu { 383 &vop_mmu { 382 status = "okay"; 384 status = "okay"; 383 }; 385 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.