1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*724ba675SRob Herring 3*724ba675SRob Herring/dts-v1/; 4*724ba675SRob Herring 5*724ba675SRob Herring#include "rk3036.dtsi" 6*724ba675SRob Herring 7*724ba675SRob Herring/ { 8*724ba675SRob Herring model = "Rockchip RK3036 KylinBoard"; 9*724ba675SRob Herring compatible = "rockchip,rk3036-kylin", "rockchip,rk3036"; 10*724ba675SRob Herring 11*724ba675SRob Herring memory@60000000 { 12*724ba675SRob Herring device_type = "memory"; 13*724ba675SRob Herring reg = <0x60000000 0x20000000>; 14*724ba675SRob Herring }; 15*724ba675SRob Herring 16*724ba675SRob Herring leds: gpio-leds { 17*724ba675SRob Herring compatible = "gpio-leds"; 18*724ba675SRob Herring 19*724ba675SRob Herring work_led: led-0 { 20*724ba675SRob Herring gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>; 21*724ba675SRob Herring label = "kylin:red:led"; 22*724ba675SRob Herring pinctrl-names = "default"; 23*724ba675SRob Herring pinctrl-0 = <&led_ctl>; 24*724ba675SRob Herring }; 25*724ba675SRob Herring }; 26*724ba675SRob Herring 27*724ba675SRob Herring sdio_pwrseq: sdio-pwrseq { 28*724ba675SRob Herring compatible = "mmc-pwrseq-simple"; 29*724ba675SRob Herring pinctrl-names = "default"; 30*724ba675SRob Herring pinctrl-0 = <&bt_wake_h>; 31*724ba675SRob Herring 32*724ba675SRob Herring /* 33*724ba675SRob Herring * On the module itself this is one of these (depending 34*724ba675SRob Herring * on the actual card populated): 35*724ba675SRob Herring * - SDIO_RESET_L_WL_REG_ON 36*724ba675SRob Herring * - SDIO_RESET_L_WL_RST 37*724ba675SRob Herring * - SDIO_RESET_L_BT_EN 38*724ba675SRob Herring */ 39*724ba675SRob Herring reset-gpios = <&gpio0 RK_PD2 GPIO_ACTIVE_LOW>, /* WL_REG_ON */ 40*724ba675SRob Herring <&gpio0 RK_PD3 GPIO_ACTIVE_LOW>, /* WL_RST */ 41*724ba675SRob Herring <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>; /* BT_EN */ 42*724ba675SRob Herring }; 43*724ba675SRob Herring 44*724ba675SRob Herring sound { 45*724ba675SRob Herring compatible = "simple-audio-card"; 46*724ba675SRob Herring simple-audio-card,format = "i2s"; 47*724ba675SRob Herring simple-audio-card,name = "rockchip,rt5616-codec"; 48*724ba675SRob Herring simple-audio-card,mclk-fs = <512>; 49*724ba675SRob Herring simple-audio-card,widgets = 50*724ba675SRob Herring "Microphone", "Microphone Jack", 51*724ba675SRob Herring "Headphone", "Headphone Jack"; 52*724ba675SRob Herring simple-audio-card,routing = 53*724ba675SRob Herring "MIC1", "Microphone Jack", 54*724ba675SRob Herring "MIC2", "Microphone Jack", 55*724ba675SRob Herring "Microphone Jack", "micbias1", 56*724ba675SRob Herring "Headphone Jack", "HPOL", 57*724ba675SRob Herring "Headphone Jack", "HPOR"; 58*724ba675SRob Herring 59*724ba675SRob Herring simple-audio-card,cpu { 60*724ba675SRob Herring sound-dai = <&i2s>; 61*724ba675SRob Herring }; 62*724ba675SRob Herring 63*724ba675SRob Herring simple-audio-card,codec { 64*724ba675SRob Herring sound-dai = <&rt5616>; 65*724ba675SRob Herring }; 66*724ba675SRob Herring }; 67*724ba675SRob Herring 68*724ba675SRob Herring vcc_sys: vsys-regulator { 69*724ba675SRob Herring compatible = "regulator-fixed"; 70*724ba675SRob Herring regulator-name = "vcc_sys"; 71*724ba675SRob Herring regulator-min-microvolt = <5000000>; 72*724ba675SRob Herring regulator-max-microvolt = <5000000>; 73*724ba675SRob Herring regulator-always-on; 74*724ba675SRob Herring regulator-boot-on; 75*724ba675SRob Herring }; 76*724ba675SRob Herring}; 77*724ba675SRob Herring 78*724ba675SRob Herring&acodec { 79*724ba675SRob Herring status = "okay"; 80*724ba675SRob Herring}; 81*724ba675SRob Herring 82*724ba675SRob Herring&emac { 83*724ba675SRob Herring phy = <&phy0>; 84*724ba675SRob Herring phy-reset-duration = <10>; /* millisecond */ 85*724ba675SRob Herring phy-reset-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; /* PHY_RST */ 86*724ba675SRob Herring pinctrl-names = "default"; 87*724ba675SRob Herring pinctrl-0 = <&emac_xfer>, <&emac_mdio>; 88*724ba675SRob Herring status = "okay"; 89*724ba675SRob Herring 90*724ba675SRob Herring mdio { 91*724ba675SRob Herring #address-cells = <1>; 92*724ba675SRob Herring #size-cells = <0>; 93*724ba675SRob Herring 94*724ba675SRob Herring phy0: ethernet-phy@0 { 95*724ba675SRob Herring reg = <0>; 96*724ba675SRob Herring }; 97*724ba675SRob Herring }; 98*724ba675SRob Herring}; 99*724ba675SRob Herring 100*724ba675SRob Herring&emmc { 101*724ba675SRob Herring status = "okay"; 102*724ba675SRob Herring}; 103*724ba675SRob Herring 104*724ba675SRob Herring&gpu { 105*724ba675SRob Herring mali-supply = <&vdd_gpu>; 106*724ba675SRob Herring status = "okay"; 107*724ba675SRob Herring}; 108*724ba675SRob Herring 109*724ba675SRob Herring&hdmi { 110*724ba675SRob Herring status = "okay"; 111*724ba675SRob Herring}; 112*724ba675SRob Herring 113*724ba675SRob Herring&i2c1 { 114*724ba675SRob Herring clock-frequency = <400000>; 115*724ba675SRob Herring 116*724ba675SRob Herring status = "okay"; 117*724ba675SRob Herring 118*724ba675SRob Herring rk808: pmic@1b { 119*724ba675SRob Herring compatible = "rockchip,rk808"; 120*724ba675SRob Herring reg = <0x1b>; 121*724ba675SRob Herring interrupt-parent = <&gpio2>; 122*724ba675SRob Herring interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 123*724ba675SRob Herring pinctrl-names = "default"; 124*724ba675SRob Herring pinctrl-0 = <&pmic_int &global_pwroff>; 125*724ba675SRob Herring rockchip,system-power-controller; 126*724ba675SRob Herring wakeup-source; 127*724ba675SRob Herring #clock-cells = <1>; 128*724ba675SRob Herring clock-output-names = "xin32k", "rk808-clkout2"; 129*724ba675SRob Herring 130*724ba675SRob Herring vcc1-supply = <&vcc_sys>; 131*724ba675SRob Herring vcc2-supply = <&vcc_sys>; 132*724ba675SRob Herring vcc3-supply = <&vcc_sys>; 133*724ba675SRob Herring vcc4-supply = <&vcc_sys>; 134*724ba675SRob Herring vcc6-supply = <&vcc_sys>; 135*724ba675SRob Herring vcc7-supply = <&vcc_sys>; 136*724ba675SRob Herring vcc8-supply = <&vcc_18>; 137*724ba675SRob Herring vcc9-supply = <&vcc_io>; 138*724ba675SRob Herring vcc10-supply = <&vcc_io>; 139*724ba675SRob Herring vcc11-supply = <&vcc_sys>; 140*724ba675SRob Herring vcc12-supply = <&vcc_io>; 141*724ba675SRob Herring vddio-supply = <&vccio_pmu>; 142*724ba675SRob Herring 143*724ba675SRob Herring regulators { 144*724ba675SRob Herring vdd_cpu: DCDC_REG1 { 145*724ba675SRob Herring regulator-always-on; 146*724ba675SRob Herring regulator-boot-on; 147*724ba675SRob Herring regulator-min-microvolt = <750000>; 148*724ba675SRob Herring regulator-max-microvolt = <1350000>; 149*724ba675SRob Herring regulator-name = "vdd_arm"; 150*724ba675SRob Herring regulator-state-mem { 151*724ba675SRob Herring regulator-off-in-suspend; 152*724ba675SRob Herring }; 153*724ba675SRob Herring }; 154*724ba675SRob Herring 155*724ba675SRob Herring vdd_gpu: DCDC_REG2 { 156*724ba675SRob Herring regulator-always-on; 157*724ba675SRob Herring regulator-boot-on; 158*724ba675SRob Herring regulator-min-microvolt = <850000>; 159*724ba675SRob Herring regulator-max-microvolt = <1250000>; 160*724ba675SRob Herring regulator-name = "vdd_gpu"; 161*724ba675SRob Herring regulator-state-mem { 162*724ba675SRob Herring regulator-on-in-suspend; 163*724ba675SRob Herring regulator-suspend-microvolt = <1000000>; 164*724ba675SRob Herring }; 165*724ba675SRob Herring }; 166*724ba675SRob Herring 167*724ba675SRob Herring vcc_ddr: DCDC_REG3 { 168*724ba675SRob Herring regulator-always-on; 169*724ba675SRob Herring regulator-boot-on; 170*724ba675SRob Herring regulator-name = "vcc_ddr"; 171*724ba675SRob Herring regulator-state-mem { 172*724ba675SRob Herring regulator-on-in-suspend; 173*724ba675SRob Herring }; 174*724ba675SRob Herring }; 175*724ba675SRob Herring 176*724ba675SRob Herring vcc_io: DCDC_REG4 { 177*724ba675SRob Herring regulator-always-on; 178*724ba675SRob Herring regulator-boot-on; 179*724ba675SRob Herring regulator-min-microvolt = <3300000>; 180*724ba675SRob Herring regulator-max-microvolt = <3300000>; 181*724ba675SRob Herring regulator-name = "vcc_io"; 182*724ba675SRob Herring regulator-state-mem { 183*724ba675SRob Herring regulator-on-in-suspend; 184*724ba675SRob Herring regulator-suspend-microvolt = <3300000>; 185*724ba675SRob Herring }; 186*724ba675SRob Herring }; 187*724ba675SRob Herring 188*724ba675SRob Herring vccio_pmu: LDO_REG1 { 189*724ba675SRob Herring regulator-always-on; 190*724ba675SRob Herring regulator-boot-on; 191*724ba675SRob Herring regulator-min-microvolt = <3300000>; 192*724ba675SRob Herring regulator-max-microvolt = <3300000>; 193*724ba675SRob Herring regulator-name = "vccio_pmu"; 194*724ba675SRob Herring regulator-state-mem { 195*724ba675SRob Herring regulator-on-in-suspend; 196*724ba675SRob Herring regulator-suspend-microvolt = <3300000>; 197*724ba675SRob Herring }; 198*724ba675SRob Herring }; 199*724ba675SRob Herring 200*724ba675SRob Herring vcc_tp: LDO_REG2 { 201*724ba675SRob Herring regulator-always-on; 202*724ba675SRob Herring regulator-boot-on; 203*724ba675SRob Herring regulator-min-microvolt = <3300000>; 204*724ba675SRob Herring regulator-max-microvolt = <3300000>; 205*724ba675SRob Herring regulator-name = "vcc_tp"; 206*724ba675SRob Herring regulator-state-mem { 207*724ba675SRob Herring regulator-off-in-suspend; 208*724ba675SRob Herring }; 209*724ba675SRob Herring }; 210*724ba675SRob Herring 211*724ba675SRob Herring vdd_10: LDO_REG3 { 212*724ba675SRob Herring regulator-always-on; 213*724ba675SRob Herring regulator-boot-on; 214*724ba675SRob Herring regulator-min-microvolt = <1000000>; 215*724ba675SRob Herring regulator-max-microvolt = <1000000>; 216*724ba675SRob Herring regulator-name = "vdd_10"; 217*724ba675SRob Herring regulator-state-mem { 218*724ba675SRob Herring regulator-on-in-suspend; 219*724ba675SRob Herring regulator-suspend-microvolt = <1000000>; 220*724ba675SRob Herring }; 221*724ba675SRob Herring }; 222*724ba675SRob Herring 223*724ba675SRob Herring vcc18_lcd: LDO_REG4 { 224*724ba675SRob Herring regulator-always-on; 225*724ba675SRob Herring regulator-boot-on; 226*724ba675SRob Herring regulator-min-microvolt = <1800000>; 227*724ba675SRob Herring regulator-max-microvolt = <1800000>; 228*724ba675SRob Herring regulator-name = "vcc18_lcd"; 229*724ba675SRob Herring regulator-state-mem { 230*724ba675SRob Herring regulator-on-in-suspend; 231*724ba675SRob Herring regulator-suspend-microvolt = <1800000>; 232*724ba675SRob Herring }; 233*724ba675SRob Herring }; 234*724ba675SRob Herring 235*724ba675SRob Herring vccio_sd: LDO_REG5 { 236*724ba675SRob Herring regulator-always-on; 237*724ba675SRob Herring regulator-boot-on; 238*724ba675SRob Herring regulator-min-microvolt = <1800000>; 239*724ba675SRob Herring regulator-max-microvolt = <3300000>; 240*724ba675SRob Herring regulator-name = "vccio_sd"; 241*724ba675SRob Herring regulator-state-mem { 242*724ba675SRob Herring regulator-on-in-suspend; 243*724ba675SRob Herring regulator-suspend-microvolt = <3300000>; 244*724ba675SRob Herring }; 245*724ba675SRob Herring }; 246*724ba675SRob Herring 247*724ba675SRob Herring vout5: LDO_REG6 { 248*724ba675SRob Herring regulator-always-on; 249*724ba675SRob Herring regulator-boot-on; 250*724ba675SRob Herring regulator-min-microvolt = <1800000>; 251*724ba675SRob Herring regulator-max-microvolt = <2500000>; 252*724ba675SRob Herring regulator-name = "vout5"; 253*724ba675SRob Herring regulator-state-mem { 254*724ba675SRob Herring regulator-on-in-suspend; 255*724ba675SRob Herring regulator-suspend-microvolt = <1800000>; 256*724ba675SRob Herring }; 257*724ba675SRob Herring }; 258*724ba675SRob Herring 259*724ba675SRob Herring vcc_18: LDO_REG7 { 260*724ba675SRob Herring regulator-always-on; 261*724ba675SRob Herring regulator-boot-on; 262*724ba675SRob Herring regulator-min-microvolt = <1800000>; 263*724ba675SRob Herring regulator-max-microvolt = <1800000>; 264*724ba675SRob Herring regulator-name = "vcc_18"; 265*724ba675SRob Herring regulator-state-mem { 266*724ba675SRob Herring regulator-on-in-suspend; 267*724ba675SRob Herring regulator-suspend-microvolt = <1800000>; 268*724ba675SRob Herring }; 269*724ba675SRob Herring }; 270*724ba675SRob Herring 271*724ba675SRob Herring vcca_codec: LDO_REG8 { 272*724ba675SRob Herring regulator-always-on; 273*724ba675SRob Herring regulator-boot-on; 274*724ba675SRob Herring regulator-min-microvolt = <1800000>; 275*724ba675SRob Herring regulator-max-microvolt = <1800000>; 276*724ba675SRob Herring regulator-name = "vcca_codec"; 277*724ba675SRob Herring regulator-state-mem { 278*724ba675SRob Herring regulator-on-in-suspend; 279*724ba675SRob Herring regulator-suspend-microvolt = <1800000>; 280*724ba675SRob Herring }; 281*724ba675SRob Herring }; 282*724ba675SRob Herring 283*724ba675SRob Herring vcc_wl: SWITCH_REG1 { 284*724ba675SRob Herring regulator-always-on; 285*724ba675SRob Herring regulator-boot-on; 286*724ba675SRob Herring regulator-name = "vcc_wl"; 287*724ba675SRob Herring regulator-state-mem { 288*724ba675SRob Herring regulator-on-in-suspend; 289*724ba675SRob Herring }; 290*724ba675SRob Herring }; 291*724ba675SRob Herring 292*724ba675SRob Herring vcc_lcd: SWITCH_REG2 { 293*724ba675SRob Herring regulator-always-on; 294*724ba675SRob Herring regulator-boot-on; 295*724ba675SRob Herring regulator-name = "vcc_lcd"; 296*724ba675SRob Herring regulator-state-mem { 297*724ba675SRob Herring regulator-on-in-suspend; 298*724ba675SRob Herring }; 299*724ba675SRob Herring }; 300*724ba675SRob Herring }; 301*724ba675SRob Herring }; 302*724ba675SRob Herring}; 303*724ba675SRob Herring 304*724ba675SRob Herring&i2c2 { 305*724ba675SRob Herring status = "okay"; 306*724ba675SRob Herring 307*724ba675SRob Herring rt5616: rt5616@1b { 308*724ba675SRob Herring compatible = "rt5616"; 309*724ba675SRob Herring reg = <0x1b>; 310*724ba675SRob Herring clocks = <&cru SCLK_I2S_OUT>; 311*724ba675SRob Herring clock-names = "mclk"; 312*724ba675SRob Herring #sound-dai-cells = <0>; 313*724ba675SRob Herring }; 314*724ba675SRob Herring}; 315*724ba675SRob Herring 316*724ba675SRob Herring&i2s { 317*724ba675SRob Herring status = "okay"; 318*724ba675SRob Herring}; 319*724ba675SRob Herring 320*724ba675SRob Herring&sdio { 321*724ba675SRob Herring status = "okay"; 322*724ba675SRob Herring 323*724ba675SRob Herring bus-width = <4>; 324*724ba675SRob Herring cap-sd-highspeed; 325*724ba675SRob Herring cap-sdio-irq; 326*724ba675SRob Herring rockchip,default-sample-phase = <90>; 327*724ba675SRob Herring keep-power-in-suspend; 328*724ba675SRob Herring mmc-pwrseq = <&sdio_pwrseq>; 329*724ba675SRob Herring non-removable; 330*724ba675SRob Herring pinctrl-names = "default"; 331*724ba675SRob Herring pinctrl-0 = <&sdio_clk &sdio_cmd &sdio_bus4>; 332*724ba675SRob Herring sd-uhs-sdr12; 333*724ba675SRob Herring sd-uhs-sdr25; 334*724ba675SRob Herring sd-uhs-sdr50; 335*724ba675SRob Herring sd-uhs-sdr104; 336*724ba675SRob Herring}; 337*724ba675SRob Herring 338*724ba675SRob Herring&sdmmc { 339*724ba675SRob Herring bus-width = <4>; 340*724ba675SRob Herring cap-mmc-highspeed; 341*724ba675SRob Herring cap-sd-highspeed; 342*724ba675SRob Herring card-detect-delay = <200>; 343*724ba675SRob Herring disable-wp; 344*724ba675SRob Herring pinctrl-names = "default"; 345*724ba675SRob Herring pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; 346*724ba675SRob Herring}; 347*724ba675SRob Herring 348*724ba675SRob Herring&uart0 { 349*724ba675SRob Herring status = "okay"; 350*724ba675SRob Herring}; 351*724ba675SRob Herring 352*724ba675SRob Herring&uart2 { 353*724ba675SRob Herring status = "okay"; 354*724ba675SRob Herring}; 355*724ba675SRob Herring 356*724ba675SRob Herring&usb_host { 357*724ba675SRob Herring status = "okay"; 358*724ba675SRob Herring}; 359*724ba675SRob Herring 360*724ba675SRob Herring&usb_otg { 361*724ba675SRob Herring status = "okay"; 362*724ba675SRob Herring}; 363*724ba675SRob Herring 364*724ba675SRob Herring&vop { 365*724ba675SRob Herring status = "okay"; 366*724ba675SRob Herring}; 367*724ba675SRob Herring 368*724ba675SRob Herring&vop_mmu { 369*724ba675SRob Herring status = "okay"; 370*724ba675SRob Herring}; 371*724ba675SRob Herring 372*724ba675SRob Herring&pinctrl { 373*724ba675SRob Herring leds { 374*724ba675SRob Herring led_ctl: led-ctl { 375*724ba675SRob Herring rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; 376*724ba675SRob Herring }; 377*724ba675SRob Herring }; 378*724ba675SRob Herring 379*724ba675SRob Herring pmic { 380*724ba675SRob Herring pmic_int: pmic-int { 381*724ba675SRob Herring rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_default>; 382*724ba675SRob Herring }; 383*724ba675SRob Herring }; 384*724ba675SRob Herring 385*724ba675SRob Herring sdio { 386*724ba675SRob Herring bt_wake_h: bt-wake-h { 387*724ba675SRob Herring rockchip,pins = <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_default>; 388*724ba675SRob Herring }; 389*724ba675SRob Herring }; 390*724ba675SRob Herring 391*724ba675SRob Herring sdmmc { 392*724ba675SRob Herring sdmmc_pwr: sdmmc-pwr { 393*724ba675SRob Herring rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 394*724ba675SRob Herring }; 395*724ba675SRob Herring }; 396*724ba675SRob Herring 397*724ba675SRob Herring suspend { 398*724ba675SRob Herring global_pwroff: global-pwroff { 399*724ba675SRob Herring rockchip,pins = <2 RK_PA7 1 &pcfg_pull_none>; 400*724ba675SRob Herring }; 401*724ba675SRob Herring }; 402*724ba675SRob Herring}; 403