1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd 4 */ 5 6/dts-v1/; 7#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/input/input.h> 9#include <dt-bindings/pinctrl/rockchip.h> 10#include "px30.dtsi" 11 12/ { 13 model = "Rockchip PX30 EVB"; 14 compatible = "rockchip,px30-evb", "rockchip,px30"; 15 16 chosen { 17 stdout-path = "serial2:115200n8"; 18 }; 19 20 adc-keys { 21 compatible = "adc-keys"; 22 io-channels = <&saradc 2>; 23 io-channel-names = "buttons"; 24 keyup-threshold-microvolt = <1800000>; 25 poll-interval = <100>; 26 27 esc-key { 28 label = "esc"; 29 linux,code = <KEY_ESC>; 30 press-threshold-microvolt = <1310000>; 31 }; 32 33 home-key { 34 label = "home"; 35 linux,code = <KEY_HOME>; 36 press-threshold-microvolt = <624000>; 37 }; 38 39 menu-key { 40 label = "menu"; 41 linux,code = <KEY_MENU>; 42 press-threshold-microvolt = <987000>; 43 }; 44 45 vol-down-key { 46 label = "volume down"; 47 linux,code = <KEY_VOLUMEDOWN>; 48 press-threshold-microvolt = <300000>; 49 }; 50 51 vol-up-key { 52 label = "volume up"; 53 linux,code = <KEY_VOLUMEUP>; 54 press-threshold-microvolt = <17000>; 55 }; 56 }; 57 58 backlight: backlight { 59 compatible = "pwm-backlight"; 60 pwms = <&pwm1 0 25000 0>; 61 power-supply = <&vcc3v3_lcd>; 62 }; 63 64 emmc_pwrseq: emmc-pwrseq { 65 compatible = "mmc-pwrseq-emmc"; 66 pinctrl-0 = <&emmc_reset>; 67 pinctrl-names = "default"; 68 reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>; 69 }; 70 71 sdio_pwrseq: sdio-pwrseq { 72 compatible = "mmc-pwrseq-simple"; 73 pinctrl-names = "default"; 74 pinctrl-0 = <&wifi_enable_h>; 75 76 /* 77 * On the module itself this is one of these (depending 78 * on the actual card populated): 79 * - SDIO_RESET_L_WL_REG_ON 80 * - PDN (power down when low) 81 */ 82 reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */ 83 }; 84 85 vcc5v0_sys: vccsys { 86 compatible = "regulator-fixed"; 87 regulator-name = "vcc5v0_sys"; 88 regulator-always-on; 89 regulator-boot-on; 90 regulator-min-microvolt = <5000000>; 91 regulator-max-microvolt = <5000000>; 92 }; 93}; 94 95&cpu0 { 96 cpu-supply = <&vdd_arm>; 97}; 98 99&cpu1 { 100 cpu-supply = <&vdd_arm>; 101}; 102 103&cpu2 { 104 cpu-supply = <&vdd_arm>; 105}; 106 107&cpu3 { 108 cpu-supply = <&vdd_arm>; 109}; 110 111&display_subsystem { 112 status = "okay"; 113}; 114 115&dsi { 116 status = "okay"; 117 118 ports { 119 mipi_out: port@1 { 120 reg = <1>; 121 122 mipi_out_panel: endpoint { 123 remote-endpoint = <&mipi_in_panel>; 124 }; 125 }; 126 }; 127 128 panel@0 { 129 compatible = "sitronix,st7703"; 130 reg = <0>; 131 backlight = <&backlight>; 132 iovcc-supply = <&vcc_1v8>; 133 vci-supply = <&vcc3v3_lcd>; 134 135 ports { 136 #address-cells = <1>; 137 #size-cells = <0>; 138 139 port@0 { 140 reg = <0>; 141 142 mipi_in_panel: endpoint { 143 remote-endpoint = <&mipi_out_panel>; 144 }; 145 }; 146 }; 147 }; 148}; 149 150&dsi_dphy { 151 status = "okay"; 152}; 153 154&emmc { 155 bus-width = <8>; 156 cap-mmc-highspeed; 157 mmc-hs200-1_8v; 158 non-removable; 159 mmc-pwrseq = <&emmc_pwrseq>; 160 vmmc-supply = <&vcc_3v0>; 161 vqmmc-supply = <&vccio_flash>; 162 status = "okay"; 163}; 164 165&gmac { 166 clock_in_out = "output"; 167 phy-supply = <&vcc_rmii>; 168 snps,reset-gpio = <&gpio2 13 GPIO_ACTIVE_LOW>; 169 snps,reset-active-low; 170 snps,reset-delays-us = <0 50000 50000>; 171 status = "okay"; 172}; 173 174&i2c0 { 175 status = "okay"; 176 177 rk809: pmic@20 { 178 compatible = "rockchip,rk809"; 179 reg = <0x20>; 180 interrupt-parent = <&gpio0>; 181 interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 182 pinctrl-names = "default"; 183 pinctrl-0 = <&pmic_int>; 184 rockchip,system-power-controller; 185 wakeup-source; 186 #clock-cells = <0>; 187 clock-output-names = "xin32k"; 188 189 vcc1-supply = <&vcc5v0_sys>; 190 vcc2-supply = <&vcc5v0_sys>; 191 vcc3-supply = <&vcc5v0_sys>; 192 vcc4-supply = <&vcc5v0_sys>; 193 vcc5-supply = <&vcc3v3_sys>; 194 vcc6-supply = <&vcc3v3_sys>; 195 vcc7-supply = <&vcc3v3_sys>; 196 vcc8-supply = <&vcc3v3_sys>; 197 vcc9-supply = <&vcc5v0_sys>; 198 199 regulators { 200 vdd_log: DCDC_REG1 { 201 regulator-name = "vdd_log"; 202 regulator-min-microvolt = <950000>; 203 regulator-max-microvolt = <1350000>; 204 regulator-ramp-delay = <6001>; 205 regulator-always-on; 206 regulator-boot-on; 207 208 regulator-state-mem { 209 regulator-on-in-suspend; 210 regulator-suspend-microvolt = <950000>; 211 }; 212 }; 213 214 vdd_arm: DCDC_REG2 { 215 regulator-name = "vdd_arm"; 216 regulator-min-microvolt = <950000>; 217 regulator-max-microvolt = <1350000>; 218 regulator-ramp-delay = <6001>; 219 regulator-always-on; 220 regulator-boot-on; 221 222 regulator-state-mem { 223 regulator-off-in-suspend; 224 regulator-suspend-microvolt = <950000>; 225 }; 226 }; 227 228 vcc_ddr: DCDC_REG3 { 229 regulator-name = "vcc_ddr"; 230 regulator-always-on; 231 regulator-boot-on; 232 233 regulator-state-mem { 234 regulator-on-in-suspend; 235 }; 236 }; 237 238 vcc_3v0: vcc_rmii: DCDC_REG4 { 239 regulator-name = "vcc_3v0"; 240 regulator-min-microvolt = <3000000>; 241 regulator-max-microvolt = <3000000>; 242 regulator-always-on; 243 regulator-boot-on; 244 245 regulator-state-mem { 246 regulator-on-in-suspend; 247 regulator-suspend-microvolt = <3000000>; 248 }; 249 }; 250 251 vcc3v3_sys: DCDC_REG5 { 252 regulator-name = "vcc3v3_sys"; 253 regulator-min-microvolt = <3300000>; 254 regulator-max-microvolt = <3300000>; 255 regulator-always-on; 256 regulator-boot-on; 257 258 regulator-state-mem { 259 regulator-on-in-suspend; 260 regulator-suspend-microvolt = <3300000>; 261 }; 262 }; 263 264 vcc_1v0: LDO_REG1 { 265 regulator-name = "vcc_1v0"; 266 regulator-min-microvolt = <1000000>; 267 regulator-max-microvolt = <1000000>; 268 regulator-always-on; 269 regulator-boot-on; 270 271 regulator-state-mem { 272 regulator-on-in-suspend; 273 regulator-suspend-microvolt = <1000000>; 274 }; 275 }; 276 277 vcc_1v8: vccio_flash: vccio_sdio: LDO_REG2 { 278 regulator-name = "vcc_1v8"; 279 regulator-min-microvolt = <1800000>; 280 regulator-max-microvolt = <1800000>; 281 regulator-always-on; 282 regulator-boot-on; 283 284 regulator-state-mem { 285 regulator-on-in-suspend; 286 regulator-suspend-microvolt = <1800000>; 287 }; 288 }; 289 290 vdd_1v0: LDO_REG3 { 291 regulator-name = "vdd_1v0"; 292 regulator-min-microvolt = <1000000>; 293 regulator-max-microvolt = <1000000>; 294 regulator-always-on; 295 regulator-boot-on; 296 297 regulator-state-mem { 298 regulator-on-in-suspend; 299 regulator-suspend-microvolt = <1000000>; 300 }; 301 }; 302 303 vcc3v0_pmu: LDO_REG4 { 304 regulator-name = "vcc3v0_pmu"; 305 regulator-min-microvolt = <3000000>; 306 regulator-max-microvolt = <3000000>; 307 regulator-always-on; 308 regulator-boot-on; 309 310 regulator-state-mem { 311 regulator-on-in-suspend; 312 regulator-suspend-microvolt = <3000000>; 313 }; 314 }; 315 316 vccio_sd: LDO_REG5 { 317 regulator-name = "vccio_sd"; 318 regulator-min-microvolt = <1800000>; 319 regulator-max-microvolt = <3300000>; 320 regulator-always-on; 321 regulator-boot-on; 322 323 regulator-state-mem { 324 regulator-on-in-suspend; 325 regulator-suspend-microvolt = <3300000>; 326 }; 327 }; 328 329 vcc_sd: LDO_REG6 { 330 regulator-name = "vcc_sd"; 331 regulator-min-microvolt = <3300000>; 332 regulator-max-microvolt = <3300000>; 333 regulator-boot-on; 334 335 regulator-state-mem { 336 regulator-on-in-suspend; 337 regulator-suspend-microvolt = <3300000>; 338 }; 339 }; 340 341 vcc2v8_dvp: LDO_REG7 { 342 regulator-name = "vcc2v8_dvp"; 343 regulator-min-microvolt = <2800000>; 344 regulator-max-microvolt = <2800000>; 345 regulator-boot-on; 346 347 regulator-state-mem { 348 regulator-off-in-suspend; 349 regulator-suspend-microvolt = <2800000>; 350 }; 351 }; 352 353 vcc1v8_dvp: LDO_REG8 { 354 regulator-name = "vcc1v8_dvp"; 355 regulator-min-microvolt = <1800000>; 356 regulator-max-microvolt = <1800000>; 357 regulator-boot-on; 358 359 regulator-state-mem { 360 regulator-on-in-suspend; 361 regulator-suspend-microvolt = <1800000>; 362 }; 363 }; 364 365 vcc1v5_dvp: LDO_REG9 { 366 regulator-name = "vcc1v5_dvp"; 367 regulator-min-microvolt = <1500000>; 368 regulator-max-microvolt = <1500000>; 369 regulator-boot-on; 370 371 regulator-state-mem { 372 regulator-off-in-suspend; 373 regulator-suspend-microvolt = <1500000>; 374 }; 375 }; 376 377 vcc3v3_lcd: SWITCH_REG1 { 378 regulator-name = "vcc3v3_lcd"; 379 regulator-boot-on; 380 }; 381 382 vcc5v0_host: SWITCH_REG2 { 383 regulator-name = "vcc5v0_host"; 384 regulator-always-on; 385 regulator-boot-on; 386 }; 387 }; 388 }; 389}; 390 391&i2s1_2ch { 392 status = "okay"; 393}; 394 395&io_domains { 396 status = "okay"; 397 398 vccio1-supply = <&vccio_sdio>; 399 vccio2-supply = <&vccio_sd>; 400 vccio3-supply = <&vcc_3v0>; 401 vccio4-supply = <&vcc3v0_pmu>; 402 vccio5-supply = <&vcc_3v0>; 403 vccio6-supply = <&vccio_flash>; 404}; 405 406&pinctrl { 407 headphone { 408 hp_det: hp-det { 409 rockchip,pins = 410 <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>; 411 }; 412 }; 413 414 emmc { 415 emmc_reset: emmc-reset { 416 rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 417 }; 418 }; 419 420 pmic { 421 pmic_int: pmic_int { 422 rockchip,pins = 423 <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; 424 }; 425 426 soc_slppin_gpio: soc_slppin_gpio { 427 rockchip,pins = 428 <0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>; 429 }; 430 431 soc_slppin_slp: soc_slppin_slp { 432 rockchip,pins = 433 <0 RK_PA4 1 &pcfg_pull_none>; 434 }; 435 436 soc_slppin_rst: soc_slppin_rst { 437 rockchip,pins = 438 <0 RK_PA4 2 &pcfg_pull_none>; 439 }; 440 }; 441 442 sdio-pwrseq { 443 wifi_enable_h: wifi-enable-h { 444 rockchip,pins = 445 <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 446 }; 447 }; 448}; 449 450&pmu_io_domains { 451 status = "okay"; 452 453 pmuio1-supply = <&vcc3v0_pmu>; 454 pmuio2-supply = <&vcc3v0_pmu>; 455}; 456 457&pwm1 { 458 status = "okay"; 459}; 460 461&saradc { 462 vref-supply = <&vcc_1v8>; 463 status = "okay"; 464}; 465 466&sdmmc { 467 bus-width = <4>; 468 cap-mmc-highspeed; 469 cap-sd-highspeed; 470 card-detect-delay = <800>; 471 sd-uhs-sdr12; 472 sd-uhs-sdr25; 473 sd-uhs-sdr50; 474 sd-uhs-sdr104; 475 vmmc-supply = <&vcc_sd>; 476 vqmmc-supply = <&vccio_sd>; 477}; 478 479&sdio { 480 bus-width = <4>; 481 cap-sd-highspeed; 482 keep-power-in-suspend; 483 non-removable; 484 mmc-pwrseq = <&sdio_pwrseq>; 485 sd-uhs-sdr104; 486 status = "okay"; 487}; 488 489&uart1 { 490 pinctrl-names = "default"; 491 pinctrl-0 = <&uart1_xfer &uart1_cts>; 492 status = "okay"; 493}; 494 495&uart2 { 496 status = "okay"; 497}; 498 499&uart5 { 500 status = "okay"; 501}; 502 503&usb20_otg { 504 status = "okay"; 505}; 506 507&usb_host0_ehci { 508 status = "okay"; 509}; 510 511&usb_host0_ohci { 512 status = "okay"; 513}; 514 515&vopb { 516 status = "okay"; 517}; 518 519&vopb_mmu { 520 status = "okay"; 521}; 522 523&vopl { 524 status = "okay"; 525}; 526 527&vopl_mmu { 528 status = "okay"; 529}; 530