1*b2d2a78aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*b2d2a78aSEmmanuel Vadot/* 3*b2d2a78aSEmmanuel Vadot * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd 4*b2d2a78aSEmmanuel Vadot */ 5*b2d2a78aSEmmanuel Vadot 6*b2d2a78aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 7*b2d2a78aSEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h> 8*b2d2a78aSEmmanuel Vadot#include "px30.dtsi" 9*b2d2a78aSEmmanuel Vadot 10*b2d2a78aSEmmanuel Vadot/ { 11*b2d2a78aSEmmanuel Vadot compatible = "firefly,px30-jd4-core", "rockchip,px30"; 12*b2d2a78aSEmmanuel Vadot 13*b2d2a78aSEmmanuel Vadot emmc_pwrseq: emmc-pwrseq { 14*b2d2a78aSEmmanuel Vadot compatible = "mmc-pwrseq-emmc"; 15*b2d2a78aSEmmanuel Vadot pinctrl-0 = <&emmc_reset>; 16*b2d2a78aSEmmanuel Vadot pinctrl-names = "default"; 17*b2d2a78aSEmmanuel Vadot reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>; 18*b2d2a78aSEmmanuel Vadot }; 19*b2d2a78aSEmmanuel Vadot 20*b2d2a78aSEmmanuel Vadot vcc5v0_sys: vcc5v0-sys-regulator { 21*b2d2a78aSEmmanuel Vadot compatible = "regulator-fixed"; 22*b2d2a78aSEmmanuel Vadot regulator-name = "vcc5v0_sys"; 23*b2d2a78aSEmmanuel Vadot regulator-always-on; 24*b2d2a78aSEmmanuel Vadot regulator-boot-on; 25*b2d2a78aSEmmanuel Vadot regulator-min-microvolt = <5000000>; 26*b2d2a78aSEmmanuel Vadot regulator-max-microvolt = <5000000>; 27*b2d2a78aSEmmanuel Vadot vin-supply = <&vcc5v0_baseboard>; 28*b2d2a78aSEmmanuel Vadot }; 29*b2d2a78aSEmmanuel Vadot}; 30*b2d2a78aSEmmanuel Vadot 31*b2d2a78aSEmmanuel Vadot&cpu0 { 32*b2d2a78aSEmmanuel Vadot cpu-supply = <&vdd_arm>; 33*b2d2a78aSEmmanuel Vadot}; 34*b2d2a78aSEmmanuel Vadot 35*b2d2a78aSEmmanuel Vadot&cpu1 { 36*b2d2a78aSEmmanuel Vadot cpu-supply = <&vdd_arm>; 37*b2d2a78aSEmmanuel Vadot}; 38*b2d2a78aSEmmanuel Vadot 39*b2d2a78aSEmmanuel Vadot&cpu2 { 40*b2d2a78aSEmmanuel Vadot cpu-supply = <&vdd_arm>; 41*b2d2a78aSEmmanuel Vadot}; 42*b2d2a78aSEmmanuel Vadot 43*b2d2a78aSEmmanuel Vadot&cpu3 { 44*b2d2a78aSEmmanuel Vadot cpu-supply = <&vdd_arm>; 45*b2d2a78aSEmmanuel Vadot}; 46*b2d2a78aSEmmanuel Vadot 47*b2d2a78aSEmmanuel Vadot&emmc { 48*b2d2a78aSEmmanuel Vadot bus-width = <8>; 49*b2d2a78aSEmmanuel Vadot cap-mmc-highspeed; 50*b2d2a78aSEmmanuel Vadot mmc-hs200-1_8v; 51*b2d2a78aSEmmanuel Vadot non-removable; 52*b2d2a78aSEmmanuel Vadot mmc-pwrseq = <&emmc_pwrseq>; 53*b2d2a78aSEmmanuel Vadot vmmc-supply = <&vcc_3v0>; 54*b2d2a78aSEmmanuel Vadot vqmmc-supply = <&vccio_flash>; 55*b2d2a78aSEmmanuel Vadot status = "okay"; 56*b2d2a78aSEmmanuel Vadot}; 57*b2d2a78aSEmmanuel Vadot 58*b2d2a78aSEmmanuel Vadot&gpu { 59*b2d2a78aSEmmanuel Vadot mali-supply = <&vdd_log>; 60*b2d2a78aSEmmanuel Vadot status = "okay"; 61*b2d2a78aSEmmanuel Vadot}; 62*b2d2a78aSEmmanuel Vadot 63*b2d2a78aSEmmanuel Vadot&i2c0 { 64*b2d2a78aSEmmanuel Vadot status = "okay"; 65*b2d2a78aSEmmanuel Vadot 66*b2d2a78aSEmmanuel Vadot rk809: pmic@20 { 67*b2d2a78aSEmmanuel Vadot compatible = "rockchip,rk809"; 68*b2d2a78aSEmmanuel Vadot reg = <0x20>; 69*b2d2a78aSEmmanuel Vadot interrupt-parent = <&gpio0>; 70*b2d2a78aSEmmanuel Vadot interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 71*b2d2a78aSEmmanuel Vadot pinctrl-names = "default"; 72*b2d2a78aSEmmanuel Vadot pinctrl-0 = <&pmic_int>; 73*b2d2a78aSEmmanuel Vadot rockchip,system-power-controller; 74*b2d2a78aSEmmanuel Vadot wakeup-source; 75*b2d2a78aSEmmanuel Vadot #clock-cells = <0>; 76*b2d2a78aSEmmanuel Vadot clock-output-names = "xin32k"; 77*b2d2a78aSEmmanuel Vadot 78*b2d2a78aSEmmanuel Vadot vcc1-supply = <&vcc5v0_sys>; 79*b2d2a78aSEmmanuel Vadot vcc2-supply = <&vcc5v0_sys>; 80*b2d2a78aSEmmanuel Vadot vcc3-supply = <&vcc5v0_sys>; 81*b2d2a78aSEmmanuel Vadot vcc4-supply = <&vcc5v0_sys>; 82*b2d2a78aSEmmanuel Vadot vcc5-supply = <&vcc3v3_sys>; 83*b2d2a78aSEmmanuel Vadot vcc6-supply = <&vcc3v3_sys>; 84*b2d2a78aSEmmanuel Vadot vcc7-supply = <&vcc3v3_sys>; 85*b2d2a78aSEmmanuel Vadot vcc8-supply = <&vcc3v3_sys>; 86*b2d2a78aSEmmanuel Vadot vcc9-supply = <&vcc5v0_sys>; 87*b2d2a78aSEmmanuel Vadot 88*b2d2a78aSEmmanuel Vadot regulators { 89*b2d2a78aSEmmanuel Vadot vdd_log: DCDC_REG1 { 90*b2d2a78aSEmmanuel Vadot regulator-name = "vdd_log"; 91*b2d2a78aSEmmanuel Vadot regulator-min-microvolt = <950000>; 92*b2d2a78aSEmmanuel Vadot regulator-max-microvolt = <1350000>; 93*b2d2a78aSEmmanuel Vadot regulator-ramp-delay = <6001>; 94*b2d2a78aSEmmanuel Vadot regulator-always-on; 95*b2d2a78aSEmmanuel Vadot regulator-boot-on; 96*b2d2a78aSEmmanuel Vadot 97*b2d2a78aSEmmanuel Vadot regulator-state-mem { 98*b2d2a78aSEmmanuel Vadot regulator-on-in-suspend; 99*b2d2a78aSEmmanuel Vadot regulator-suspend-microvolt = <950000>; 100*b2d2a78aSEmmanuel Vadot }; 101*b2d2a78aSEmmanuel Vadot }; 102*b2d2a78aSEmmanuel Vadot 103*b2d2a78aSEmmanuel Vadot vdd_arm: DCDC_REG2 { 104*b2d2a78aSEmmanuel Vadot regulator-name = "vdd_arm"; 105*b2d2a78aSEmmanuel Vadot regulator-min-microvolt = <950000>; 106*b2d2a78aSEmmanuel Vadot regulator-max-microvolt = <1350000>; 107*b2d2a78aSEmmanuel Vadot regulator-ramp-delay = <6001>; 108*b2d2a78aSEmmanuel Vadot regulator-always-on; 109*b2d2a78aSEmmanuel Vadot regulator-boot-on; 110*b2d2a78aSEmmanuel Vadot 111*b2d2a78aSEmmanuel Vadot regulator-state-mem { 112*b2d2a78aSEmmanuel Vadot regulator-off-in-suspend; 113*b2d2a78aSEmmanuel Vadot regulator-suspend-microvolt = <950000>; 114*b2d2a78aSEmmanuel Vadot }; 115*b2d2a78aSEmmanuel Vadot }; 116*b2d2a78aSEmmanuel Vadot 117*b2d2a78aSEmmanuel Vadot vcc_ddr: DCDC_REG3 { 118*b2d2a78aSEmmanuel Vadot regulator-name = "vcc_ddr"; 119*b2d2a78aSEmmanuel Vadot regulator-always-on; 120*b2d2a78aSEmmanuel Vadot regulator-boot-on; 121*b2d2a78aSEmmanuel Vadot 122*b2d2a78aSEmmanuel Vadot regulator-state-mem { 123*b2d2a78aSEmmanuel Vadot regulator-on-in-suspend; 124*b2d2a78aSEmmanuel Vadot }; 125*b2d2a78aSEmmanuel Vadot }; 126*b2d2a78aSEmmanuel Vadot 127*b2d2a78aSEmmanuel Vadot vcc_3v0: vcc_rmii: DCDC_REG4 { 128*b2d2a78aSEmmanuel Vadot regulator-name = "vcc_3v0"; 129*b2d2a78aSEmmanuel Vadot regulator-min-microvolt = <3000000>; 130*b2d2a78aSEmmanuel Vadot regulator-max-microvolt = <3000000>; 131*b2d2a78aSEmmanuel Vadot regulator-always-on; 132*b2d2a78aSEmmanuel Vadot regulator-boot-on; 133*b2d2a78aSEmmanuel Vadot 134*b2d2a78aSEmmanuel Vadot regulator-state-mem { 135*b2d2a78aSEmmanuel Vadot regulator-on-in-suspend; 136*b2d2a78aSEmmanuel Vadot regulator-suspend-microvolt = <3000000>; 137*b2d2a78aSEmmanuel Vadot }; 138*b2d2a78aSEmmanuel Vadot }; 139*b2d2a78aSEmmanuel Vadot 140*b2d2a78aSEmmanuel Vadot vcc3v3_sys: DCDC_REG5 { 141*b2d2a78aSEmmanuel Vadot regulator-name = "vcc3v3_sys"; 142*b2d2a78aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 143*b2d2a78aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 144*b2d2a78aSEmmanuel Vadot regulator-always-on; 145*b2d2a78aSEmmanuel Vadot regulator-boot-on; 146*b2d2a78aSEmmanuel Vadot 147*b2d2a78aSEmmanuel Vadot regulator-state-mem { 148*b2d2a78aSEmmanuel Vadot regulator-on-in-suspend; 149*b2d2a78aSEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 150*b2d2a78aSEmmanuel Vadot }; 151*b2d2a78aSEmmanuel Vadot }; 152*b2d2a78aSEmmanuel Vadot 153*b2d2a78aSEmmanuel Vadot vcc_1v0: LDO_REG1 { 154*b2d2a78aSEmmanuel Vadot regulator-name = "vcc_1v0"; 155*b2d2a78aSEmmanuel Vadot regulator-min-microvolt = <1000000>; 156*b2d2a78aSEmmanuel Vadot regulator-max-microvolt = <1000000>; 157*b2d2a78aSEmmanuel Vadot regulator-always-on; 158*b2d2a78aSEmmanuel Vadot regulator-boot-on; 159*b2d2a78aSEmmanuel Vadot 160*b2d2a78aSEmmanuel Vadot regulator-state-mem { 161*b2d2a78aSEmmanuel Vadot regulator-on-in-suspend; 162*b2d2a78aSEmmanuel Vadot regulator-suspend-microvolt = <1000000>; 163*b2d2a78aSEmmanuel Vadot }; 164*b2d2a78aSEmmanuel Vadot }; 165*b2d2a78aSEmmanuel Vadot 166*b2d2a78aSEmmanuel Vadot vcc_1v8: vccio_flash: vccio_sdio: LDO_REG2 { 167*b2d2a78aSEmmanuel Vadot regulator-name = "vcc_1v8"; 168*b2d2a78aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 169*b2d2a78aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 170*b2d2a78aSEmmanuel Vadot regulator-always-on; 171*b2d2a78aSEmmanuel Vadot regulator-boot-on; 172*b2d2a78aSEmmanuel Vadot 173*b2d2a78aSEmmanuel Vadot regulator-state-mem { 174*b2d2a78aSEmmanuel Vadot regulator-on-in-suspend; 175*b2d2a78aSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 176*b2d2a78aSEmmanuel Vadot }; 177*b2d2a78aSEmmanuel Vadot }; 178*b2d2a78aSEmmanuel Vadot 179*b2d2a78aSEmmanuel Vadot vdd_1v0: LDO_REG3 { 180*b2d2a78aSEmmanuel Vadot regulator-name = "vdd_1v0"; 181*b2d2a78aSEmmanuel Vadot regulator-min-microvolt = <1000000>; 182*b2d2a78aSEmmanuel Vadot regulator-max-microvolt = <1000000>; 183*b2d2a78aSEmmanuel Vadot regulator-always-on; 184*b2d2a78aSEmmanuel Vadot regulator-boot-on; 185*b2d2a78aSEmmanuel Vadot 186*b2d2a78aSEmmanuel Vadot regulator-state-mem { 187*b2d2a78aSEmmanuel Vadot regulator-on-in-suspend; 188*b2d2a78aSEmmanuel Vadot regulator-suspend-microvolt = <1000000>; 189*b2d2a78aSEmmanuel Vadot }; 190*b2d2a78aSEmmanuel Vadot }; 191*b2d2a78aSEmmanuel Vadot 192*b2d2a78aSEmmanuel Vadot vcc3v0_pmu: LDO_REG4 { 193*b2d2a78aSEmmanuel Vadot regulator-name = "vcc3v0_pmu"; 194*b2d2a78aSEmmanuel Vadot regulator-min-microvolt = <3000000>; 195*b2d2a78aSEmmanuel Vadot regulator-max-microvolt = <3000000>; 196*b2d2a78aSEmmanuel Vadot regulator-always-on; 197*b2d2a78aSEmmanuel Vadot regulator-boot-on; 198*b2d2a78aSEmmanuel Vadot 199*b2d2a78aSEmmanuel Vadot regulator-state-mem { 200*b2d2a78aSEmmanuel Vadot regulator-on-in-suspend; 201*b2d2a78aSEmmanuel Vadot regulator-suspend-microvolt = <3000000>; 202*b2d2a78aSEmmanuel Vadot }; 203*b2d2a78aSEmmanuel Vadot }; 204*b2d2a78aSEmmanuel Vadot 205*b2d2a78aSEmmanuel Vadot vccio_sd: LDO_REG5 { 206*b2d2a78aSEmmanuel Vadot regulator-name = "vccio_sd"; 207*b2d2a78aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 208*b2d2a78aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 209*b2d2a78aSEmmanuel Vadot regulator-always-on; 210*b2d2a78aSEmmanuel Vadot regulator-boot-on; 211*b2d2a78aSEmmanuel Vadot 212*b2d2a78aSEmmanuel Vadot regulator-state-mem { 213*b2d2a78aSEmmanuel Vadot regulator-on-in-suspend; 214*b2d2a78aSEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 215*b2d2a78aSEmmanuel Vadot }; 216*b2d2a78aSEmmanuel Vadot }; 217*b2d2a78aSEmmanuel Vadot 218*b2d2a78aSEmmanuel Vadot vcc_sd: LDO_REG6 { 219*b2d2a78aSEmmanuel Vadot regulator-name = "vcc_sd"; 220*b2d2a78aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 221*b2d2a78aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 222*b2d2a78aSEmmanuel Vadot regulator-boot-on; 223*b2d2a78aSEmmanuel Vadot 224*b2d2a78aSEmmanuel Vadot regulator-state-mem { 225*b2d2a78aSEmmanuel Vadot regulator-on-in-suspend; 226*b2d2a78aSEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 227*b2d2a78aSEmmanuel Vadot }; 228*b2d2a78aSEmmanuel Vadot }; 229*b2d2a78aSEmmanuel Vadot 230*b2d2a78aSEmmanuel Vadot vcc2v8_dvp: LDO_REG7 { 231*b2d2a78aSEmmanuel Vadot regulator-name = "vcc2v8_dvp"; 232*b2d2a78aSEmmanuel Vadot regulator-min-microvolt = <2800000>; 233*b2d2a78aSEmmanuel Vadot regulator-max-microvolt = <2800000>; 234*b2d2a78aSEmmanuel Vadot regulator-boot-on; 235*b2d2a78aSEmmanuel Vadot 236*b2d2a78aSEmmanuel Vadot regulator-state-mem { 237*b2d2a78aSEmmanuel Vadot regulator-off-in-suspend; 238*b2d2a78aSEmmanuel Vadot regulator-suspend-microvolt = <2800000>; 239*b2d2a78aSEmmanuel Vadot }; 240*b2d2a78aSEmmanuel Vadot }; 241*b2d2a78aSEmmanuel Vadot 242*b2d2a78aSEmmanuel Vadot vcc1v8_dvp: LDO_REG8 { 243*b2d2a78aSEmmanuel Vadot regulator-name = "vcc1v8_dvp"; 244*b2d2a78aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 245*b2d2a78aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 246*b2d2a78aSEmmanuel Vadot regulator-boot-on; 247*b2d2a78aSEmmanuel Vadot 248*b2d2a78aSEmmanuel Vadot regulator-state-mem { 249*b2d2a78aSEmmanuel Vadot regulator-on-in-suspend; 250*b2d2a78aSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 251*b2d2a78aSEmmanuel Vadot }; 252*b2d2a78aSEmmanuel Vadot }; 253*b2d2a78aSEmmanuel Vadot 254*b2d2a78aSEmmanuel Vadot vcc1v5_dvp: LDO_REG9 { 255*b2d2a78aSEmmanuel Vadot regulator-name = "vcc1v5_dvp"; 256*b2d2a78aSEmmanuel Vadot regulator-min-microvolt = <1500000>; 257*b2d2a78aSEmmanuel Vadot regulator-max-microvolt = <1500000>; 258*b2d2a78aSEmmanuel Vadot regulator-boot-on; 259*b2d2a78aSEmmanuel Vadot 260*b2d2a78aSEmmanuel Vadot regulator-state-mem { 261*b2d2a78aSEmmanuel Vadot regulator-off-in-suspend; 262*b2d2a78aSEmmanuel Vadot regulator-suspend-microvolt = <1500000>; 263*b2d2a78aSEmmanuel Vadot }; 264*b2d2a78aSEmmanuel Vadot }; 265*b2d2a78aSEmmanuel Vadot 266*b2d2a78aSEmmanuel Vadot vcc3v3_lcd: SWITCH_REG1 { 267*b2d2a78aSEmmanuel Vadot regulator-name = "vcc3v3_lcd"; 268*b2d2a78aSEmmanuel Vadot regulator-boot-on; 269*b2d2a78aSEmmanuel Vadot }; 270*b2d2a78aSEmmanuel Vadot 271*b2d2a78aSEmmanuel Vadot vcc5v0_host: SWITCH_REG2 { 272*b2d2a78aSEmmanuel Vadot regulator-name = "vcc5v0_host"; 273*b2d2a78aSEmmanuel Vadot regulator-always-on; 274*b2d2a78aSEmmanuel Vadot regulator-boot-on; 275*b2d2a78aSEmmanuel Vadot }; 276*b2d2a78aSEmmanuel Vadot }; 277*b2d2a78aSEmmanuel Vadot }; 278*b2d2a78aSEmmanuel Vadot}; 279*b2d2a78aSEmmanuel Vadot 280*b2d2a78aSEmmanuel Vadot&io_domains { 281*b2d2a78aSEmmanuel Vadot vccio1-supply = <&vccio_sdio>; 282*b2d2a78aSEmmanuel Vadot vccio2-supply = <&vccio_sd>; 283*b2d2a78aSEmmanuel Vadot vccio3-supply = <&vcc_3v0>; 284*b2d2a78aSEmmanuel Vadot vccio4-supply = <&vcc3v0_pmu>; 285*b2d2a78aSEmmanuel Vadot vccio5-supply = <&vcc_3v0>; 286*b2d2a78aSEmmanuel Vadot vccio6-supply = <&vccio_flash>; 287*b2d2a78aSEmmanuel Vadot status = "okay"; 288*b2d2a78aSEmmanuel Vadot}; 289*b2d2a78aSEmmanuel Vadot 290*b2d2a78aSEmmanuel Vadot&pinctrl { 291*b2d2a78aSEmmanuel Vadot emmc { 292*b2d2a78aSEmmanuel Vadot emmc_reset: emmc-reset { 293*b2d2a78aSEmmanuel Vadot rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 294*b2d2a78aSEmmanuel Vadot }; 295*b2d2a78aSEmmanuel Vadot }; 296*b2d2a78aSEmmanuel Vadot 297*b2d2a78aSEmmanuel Vadot pmic { 298*b2d2a78aSEmmanuel Vadot pmic_int: pmic_int { 299*b2d2a78aSEmmanuel Vadot rockchip,pins = 300*b2d2a78aSEmmanuel Vadot <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; 301*b2d2a78aSEmmanuel Vadot }; 302*b2d2a78aSEmmanuel Vadot }; 303*b2d2a78aSEmmanuel Vadot}; 304*b2d2a78aSEmmanuel Vadot 305*b2d2a78aSEmmanuel Vadot&pmu_io_domains { 306*b2d2a78aSEmmanuel Vadot pmuio1-supply = <&vcc3v0_pmu>; 307*b2d2a78aSEmmanuel Vadot pmuio2-supply = <&vcc3v0_pmu>; 308*b2d2a78aSEmmanuel Vadot status = "okay"; 309*b2d2a78aSEmmanuel Vadot}; 310*b2d2a78aSEmmanuel Vadot 311*b2d2a78aSEmmanuel Vadot&saradc { 312*b2d2a78aSEmmanuel Vadot vref-supply = <&vcc_1v8>; 313*b2d2a78aSEmmanuel Vadot status = "okay"; 314*b2d2a78aSEmmanuel Vadot}; 315*b2d2a78aSEmmanuel Vadot 316*b2d2a78aSEmmanuel Vadot&tsadc { 317*b2d2a78aSEmmanuel Vadot rockchip,hw-tshut-mode = <1>; 318*b2d2a78aSEmmanuel Vadot rockchip,hw-tshut-polarity = <1>; 319*b2d2a78aSEmmanuel Vadot status = "okay"; 320*b2d2a78aSEmmanuel Vadot}; 321