1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2724ba675SRob Herring 3724ba675SRob Herring/dts-v1/; 4724ba675SRob Herring 5724ba675SRob Herring#include "rk3036.dtsi" 6724ba675SRob Herring 7724ba675SRob Herring/ { 8724ba675SRob Herring model = "Rockchip RK3036 KylinBoard"; 9724ba675SRob Herring compatible = "rockchip,rk3036-kylin", "rockchip,rk3036"; 10724ba675SRob Herring 11724ba675SRob Herring memory@60000000 { 12724ba675SRob Herring device_type = "memory"; 13724ba675SRob Herring reg = <0x60000000 0x20000000>; 14724ba675SRob Herring }; 15724ba675SRob Herring 16*569b26afSJohan Jonker hdmi_con: hdmi-con { 17*569b26afSJohan Jonker compatible = "hdmi-connector"; 18*569b26afSJohan Jonker type = "a"; 19*569b26afSJohan Jonker 20*569b26afSJohan Jonker port { 21*569b26afSJohan Jonker hdmi_con_in: endpoint { 22*569b26afSJohan Jonker remote-endpoint = <&hdmi_out_con>; 23*569b26afSJohan Jonker }; 24*569b26afSJohan Jonker }; 25*569b26afSJohan Jonker }; 26*569b26afSJohan Jonker 27724ba675SRob Herring leds: gpio-leds { 28724ba675SRob Herring compatible = "gpio-leds"; 29724ba675SRob Herring 30724ba675SRob Herring work_led: led-0 { 31724ba675SRob Herring gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>; 32724ba675SRob Herring label = "kylin:red:led"; 33724ba675SRob Herring pinctrl-names = "default"; 34724ba675SRob Herring pinctrl-0 = <&led_ctl>; 35724ba675SRob Herring }; 36724ba675SRob Herring }; 37724ba675SRob Herring 38724ba675SRob Herring sdio_pwrseq: sdio-pwrseq { 39724ba675SRob Herring compatible = "mmc-pwrseq-simple"; 40724ba675SRob Herring pinctrl-names = "default"; 41724ba675SRob Herring pinctrl-0 = <&bt_wake_h>; 42724ba675SRob Herring 43724ba675SRob Herring /* 44724ba675SRob Herring * On the module itself this is one of these (depending 45724ba675SRob Herring * on the actual card populated): 46724ba675SRob Herring * - SDIO_RESET_L_WL_REG_ON 47724ba675SRob Herring * - SDIO_RESET_L_WL_RST 48724ba675SRob Herring * - SDIO_RESET_L_BT_EN 49724ba675SRob Herring */ 50724ba675SRob Herring reset-gpios = <&gpio0 RK_PD2 GPIO_ACTIVE_LOW>, /* WL_REG_ON */ 51724ba675SRob Herring <&gpio0 RK_PD3 GPIO_ACTIVE_LOW>, /* WL_RST */ 52724ba675SRob Herring <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>; /* BT_EN */ 53724ba675SRob Herring }; 54724ba675SRob Herring 55724ba675SRob Herring sound { 56724ba675SRob Herring compatible = "simple-audio-card"; 57724ba675SRob Herring simple-audio-card,format = "i2s"; 58724ba675SRob Herring simple-audio-card,name = "rockchip,rt5616-codec"; 59724ba675SRob Herring simple-audio-card,mclk-fs = <512>; 60724ba675SRob Herring simple-audio-card,widgets = 61724ba675SRob Herring "Microphone", "Microphone Jack", 62724ba675SRob Herring "Headphone", "Headphone Jack"; 63724ba675SRob Herring simple-audio-card,routing = 64724ba675SRob Herring "MIC1", "Microphone Jack", 65724ba675SRob Herring "MIC2", "Microphone Jack", 66724ba675SRob Herring "Microphone Jack", "micbias1", 67724ba675SRob Herring "Headphone Jack", "HPOL", 68724ba675SRob Herring "Headphone Jack", "HPOR"; 69724ba675SRob Herring 70724ba675SRob Herring simple-audio-card,cpu { 71724ba675SRob Herring sound-dai = <&i2s>; 72724ba675SRob Herring }; 73724ba675SRob Herring 74724ba675SRob Herring simple-audio-card,codec { 75724ba675SRob Herring sound-dai = <&rt5616>; 76724ba675SRob Herring }; 77724ba675SRob Herring }; 78724ba675SRob Herring 79724ba675SRob Herring vcc_sys: vsys-regulator { 80724ba675SRob Herring compatible = "regulator-fixed"; 81724ba675SRob Herring regulator-name = "vcc_sys"; 82724ba675SRob Herring regulator-min-microvolt = <5000000>; 83724ba675SRob Herring regulator-max-microvolt = <5000000>; 84724ba675SRob Herring regulator-always-on; 85724ba675SRob Herring regulator-boot-on; 86724ba675SRob Herring }; 87724ba675SRob Herring}; 88724ba675SRob Herring 89724ba675SRob Herring&acodec { 90724ba675SRob Herring status = "okay"; 91724ba675SRob Herring}; 92724ba675SRob Herring 93724ba675SRob Herring&emac { 94724ba675SRob Herring phy = <&phy0>; 95724ba675SRob Herring phy-reset-duration = <10>; /* millisecond */ 96724ba675SRob Herring phy-reset-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; /* PHY_RST */ 97724ba675SRob Herring pinctrl-names = "default"; 98724ba675SRob Herring pinctrl-0 = <&emac_xfer>, <&emac_mdio>; 99724ba675SRob Herring status = "okay"; 100724ba675SRob Herring 101724ba675SRob Herring mdio { 102724ba675SRob Herring #address-cells = <1>; 103724ba675SRob Herring #size-cells = <0>; 104724ba675SRob Herring 105724ba675SRob Herring phy0: ethernet-phy@0 { 106724ba675SRob Herring reg = <0>; 107724ba675SRob Herring }; 108724ba675SRob Herring }; 109724ba675SRob Herring}; 110724ba675SRob Herring 111724ba675SRob Herring&emmc { 112724ba675SRob Herring status = "okay"; 113724ba675SRob Herring}; 114724ba675SRob Herring 115724ba675SRob Herring&gpu { 116724ba675SRob Herring mali-supply = <&vdd_gpu>; 117724ba675SRob Herring status = "okay"; 118724ba675SRob Herring}; 119724ba675SRob Herring 120724ba675SRob Herring&hdmi { 121724ba675SRob Herring status = "okay"; 122724ba675SRob Herring}; 123724ba675SRob Herring 124*569b26afSJohan Jonker&hdmi_out { 125*569b26afSJohan Jonker hdmi_out_con: endpoint { 126*569b26afSJohan Jonker remote-endpoint = <&hdmi_con_in>; 127*569b26afSJohan Jonker }; 128*569b26afSJohan Jonker}; 129*569b26afSJohan Jonker 130724ba675SRob Herring&i2c1 { 131724ba675SRob Herring clock-frequency = <400000>; 132724ba675SRob Herring 133724ba675SRob Herring status = "okay"; 134724ba675SRob Herring 135724ba675SRob Herring rk808: pmic@1b { 136724ba675SRob Herring compatible = "rockchip,rk808"; 137724ba675SRob Herring reg = <0x1b>; 138724ba675SRob Herring interrupt-parent = <&gpio2>; 139724ba675SRob Herring interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 140724ba675SRob Herring pinctrl-names = "default"; 141724ba675SRob Herring pinctrl-0 = <&pmic_int &global_pwroff>; 142724ba675SRob Herring rockchip,system-power-controller; 143724ba675SRob Herring wakeup-source; 144724ba675SRob Herring #clock-cells = <1>; 145724ba675SRob Herring clock-output-names = "xin32k", "rk808-clkout2"; 146724ba675SRob Herring 147724ba675SRob Herring vcc1-supply = <&vcc_sys>; 148724ba675SRob Herring vcc2-supply = <&vcc_sys>; 149724ba675SRob Herring vcc3-supply = <&vcc_sys>; 150724ba675SRob Herring vcc4-supply = <&vcc_sys>; 151724ba675SRob Herring vcc6-supply = <&vcc_sys>; 152724ba675SRob Herring vcc7-supply = <&vcc_sys>; 153724ba675SRob Herring vcc8-supply = <&vcc_18>; 154724ba675SRob Herring vcc9-supply = <&vcc_io>; 155724ba675SRob Herring vcc10-supply = <&vcc_io>; 156724ba675SRob Herring vcc11-supply = <&vcc_sys>; 157724ba675SRob Herring vcc12-supply = <&vcc_io>; 158724ba675SRob Herring vddio-supply = <&vccio_pmu>; 159724ba675SRob Herring 160724ba675SRob Herring regulators { 161724ba675SRob Herring vdd_cpu: DCDC_REG1 { 162724ba675SRob Herring regulator-always-on; 163724ba675SRob Herring regulator-boot-on; 164724ba675SRob Herring regulator-min-microvolt = <750000>; 165724ba675SRob Herring regulator-max-microvolt = <1350000>; 166724ba675SRob Herring regulator-name = "vdd_arm"; 167724ba675SRob Herring regulator-state-mem { 168724ba675SRob Herring regulator-off-in-suspend; 169724ba675SRob Herring }; 170724ba675SRob Herring }; 171724ba675SRob Herring 172724ba675SRob Herring vdd_gpu: DCDC_REG2 { 173724ba675SRob Herring regulator-always-on; 174724ba675SRob Herring regulator-boot-on; 175724ba675SRob Herring regulator-min-microvolt = <850000>; 176724ba675SRob Herring regulator-max-microvolt = <1250000>; 177724ba675SRob Herring regulator-name = "vdd_gpu"; 178724ba675SRob Herring regulator-state-mem { 179724ba675SRob Herring regulator-on-in-suspend; 180724ba675SRob Herring regulator-suspend-microvolt = <1000000>; 181724ba675SRob Herring }; 182724ba675SRob Herring }; 183724ba675SRob Herring 184724ba675SRob Herring vcc_ddr: DCDC_REG3 { 185724ba675SRob Herring regulator-always-on; 186724ba675SRob Herring regulator-boot-on; 187724ba675SRob Herring regulator-name = "vcc_ddr"; 188724ba675SRob Herring regulator-state-mem { 189724ba675SRob Herring regulator-on-in-suspend; 190724ba675SRob Herring }; 191724ba675SRob Herring }; 192724ba675SRob Herring 193724ba675SRob Herring vcc_io: DCDC_REG4 { 194724ba675SRob Herring regulator-always-on; 195724ba675SRob Herring regulator-boot-on; 196724ba675SRob Herring regulator-min-microvolt = <3300000>; 197724ba675SRob Herring regulator-max-microvolt = <3300000>; 198724ba675SRob Herring regulator-name = "vcc_io"; 199724ba675SRob Herring regulator-state-mem { 200724ba675SRob Herring regulator-on-in-suspend; 201724ba675SRob Herring regulator-suspend-microvolt = <3300000>; 202724ba675SRob Herring }; 203724ba675SRob Herring }; 204724ba675SRob Herring 205724ba675SRob Herring vccio_pmu: LDO_REG1 { 206724ba675SRob Herring regulator-always-on; 207724ba675SRob Herring regulator-boot-on; 208724ba675SRob Herring regulator-min-microvolt = <3300000>; 209724ba675SRob Herring regulator-max-microvolt = <3300000>; 210724ba675SRob Herring regulator-name = "vccio_pmu"; 211724ba675SRob Herring regulator-state-mem { 212724ba675SRob Herring regulator-on-in-suspend; 213724ba675SRob Herring regulator-suspend-microvolt = <3300000>; 214724ba675SRob Herring }; 215724ba675SRob Herring }; 216724ba675SRob Herring 217724ba675SRob Herring vcc_tp: LDO_REG2 { 218724ba675SRob Herring regulator-always-on; 219724ba675SRob Herring regulator-boot-on; 220724ba675SRob Herring regulator-min-microvolt = <3300000>; 221724ba675SRob Herring regulator-max-microvolt = <3300000>; 222724ba675SRob Herring regulator-name = "vcc_tp"; 223724ba675SRob Herring regulator-state-mem { 224724ba675SRob Herring regulator-off-in-suspend; 225724ba675SRob Herring }; 226724ba675SRob Herring }; 227724ba675SRob Herring 228724ba675SRob Herring vdd_10: LDO_REG3 { 229724ba675SRob Herring regulator-always-on; 230724ba675SRob Herring regulator-boot-on; 231724ba675SRob Herring regulator-min-microvolt = <1000000>; 232724ba675SRob Herring regulator-max-microvolt = <1000000>; 233724ba675SRob Herring regulator-name = "vdd_10"; 234724ba675SRob Herring regulator-state-mem { 235724ba675SRob Herring regulator-on-in-suspend; 236724ba675SRob Herring regulator-suspend-microvolt = <1000000>; 237724ba675SRob Herring }; 238724ba675SRob Herring }; 239724ba675SRob Herring 240724ba675SRob Herring vcc18_lcd: LDO_REG4 { 241724ba675SRob Herring regulator-always-on; 242724ba675SRob Herring regulator-boot-on; 243724ba675SRob Herring regulator-min-microvolt = <1800000>; 244724ba675SRob Herring regulator-max-microvolt = <1800000>; 245724ba675SRob Herring regulator-name = "vcc18_lcd"; 246724ba675SRob Herring regulator-state-mem { 247724ba675SRob Herring regulator-on-in-suspend; 248724ba675SRob Herring regulator-suspend-microvolt = <1800000>; 249724ba675SRob Herring }; 250724ba675SRob Herring }; 251724ba675SRob Herring 252724ba675SRob Herring vccio_sd: LDO_REG5 { 253724ba675SRob Herring regulator-always-on; 254724ba675SRob Herring regulator-boot-on; 255724ba675SRob Herring regulator-min-microvolt = <1800000>; 256724ba675SRob Herring regulator-max-microvolt = <3300000>; 257724ba675SRob Herring regulator-name = "vccio_sd"; 258724ba675SRob Herring regulator-state-mem { 259724ba675SRob Herring regulator-on-in-suspend; 260724ba675SRob Herring regulator-suspend-microvolt = <3300000>; 261724ba675SRob Herring }; 262724ba675SRob Herring }; 263724ba675SRob Herring 264724ba675SRob Herring vout5: LDO_REG6 { 265724ba675SRob Herring regulator-always-on; 266724ba675SRob Herring regulator-boot-on; 267724ba675SRob Herring regulator-min-microvolt = <1800000>; 268724ba675SRob Herring regulator-max-microvolt = <2500000>; 269724ba675SRob Herring regulator-name = "vout5"; 270724ba675SRob Herring regulator-state-mem { 271724ba675SRob Herring regulator-on-in-suspend; 272724ba675SRob Herring regulator-suspend-microvolt = <1800000>; 273724ba675SRob Herring }; 274724ba675SRob Herring }; 275724ba675SRob Herring 276724ba675SRob Herring vcc_18: LDO_REG7 { 277724ba675SRob Herring regulator-always-on; 278724ba675SRob Herring regulator-boot-on; 279724ba675SRob Herring regulator-min-microvolt = <1800000>; 280724ba675SRob Herring regulator-max-microvolt = <1800000>; 281724ba675SRob Herring regulator-name = "vcc_18"; 282724ba675SRob Herring regulator-state-mem { 283724ba675SRob Herring regulator-on-in-suspend; 284724ba675SRob Herring regulator-suspend-microvolt = <1800000>; 285724ba675SRob Herring }; 286724ba675SRob Herring }; 287724ba675SRob Herring 288724ba675SRob Herring vcca_codec: LDO_REG8 { 289724ba675SRob Herring regulator-always-on; 290724ba675SRob Herring regulator-boot-on; 291724ba675SRob Herring regulator-min-microvolt = <1800000>; 292724ba675SRob Herring regulator-max-microvolt = <1800000>; 293724ba675SRob Herring regulator-name = "vcca_codec"; 294724ba675SRob Herring regulator-state-mem { 295724ba675SRob Herring regulator-on-in-suspend; 296724ba675SRob Herring regulator-suspend-microvolt = <1800000>; 297724ba675SRob Herring }; 298724ba675SRob Herring }; 299724ba675SRob Herring 300724ba675SRob Herring vcc_wl: SWITCH_REG1 { 301724ba675SRob Herring regulator-always-on; 302724ba675SRob Herring regulator-boot-on; 303724ba675SRob Herring regulator-name = "vcc_wl"; 304724ba675SRob Herring regulator-state-mem { 305724ba675SRob Herring regulator-on-in-suspend; 306724ba675SRob Herring }; 307724ba675SRob Herring }; 308724ba675SRob Herring 309724ba675SRob Herring vcc_lcd: SWITCH_REG2 { 310724ba675SRob Herring regulator-always-on; 311724ba675SRob Herring regulator-boot-on; 312724ba675SRob Herring regulator-name = "vcc_lcd"; 313724ba675SRob Herring regulator-state-mem { 314724ba675SRob Herring regulator-on-in-suspend; 315724ba675SRob Herring }; 316724ba675SRob Herring }; 317724ba675SRob Herring }; 318724ba675SRob Herring }; 319724ba675SRob Herring}; 320724ba675SRob Herring 321724ba675SRob Herring&i2c2 { 322724ba675SRob Herring status = "okay"; 323724ba675SRob Herring 324724ba675SRob Herring rt5616: rt5616@1b { 325724ba675SRob Herring compatible = "rt5616"; 326724ba675SRob Herring reg = <0x1b>; 327724ba675SRob Herring clocks = <&cru SCLK_I2S_OUT>; 328724ba675SRob Herring clock-names = "mclk"; 329724ba675SRob Herring #sound-dai-cells = <0>; 330724ba675SRob Herring }; 331724ba675SRob Herring}; 332724ba675SRob Herring 333724ba675SRob Herring&i2s { 334724ba675SRob Herring status = "okay"; 335724ba675SRob Herring}; 336724ba675SRob Herring 337724ba675SRob Herring&sdio { 338724ba675SRob Herring status = "okay"; 339724ba675SRob Herring 340724ba675SRob Herring bus-width = <4>; 341724ba675SRob Herring cap-sd-highspeed; 342724ba675SRob Herring cap-sdio-irq; 343724ba675SRob Herring rockchip,default-sample-phase = <90>; 344724ba675SRob Herring keep-power-in-suspend; 345724ba675SRob Herring mmc-pwrseq = <&sdio_pwrseq>; 346724ba675SRob Herring non-removable; 347724ba675SRob Herring pinctrl-names = "default"; 348724ba675SRob Herring pinctrl-0 = <&sdio_clk &sdio_cmd &sdio_bus4>; 349724ba675SRob Herring sd-uhs-sdr12; 350724ba675SRob Herring sd-uhs-sdr25; 351724ba675SRob Herring sd-uhs-sdr50; 352724ba675SRob Herring sd-uhs-sdr104; 353724ba675SRob Herring}; 354724ba675SRob Herring 355724ba675SRob Herring&sdmmc { 356724ba675SRob Herring bus-width = <4>; 357724ba675SRob Herring cap-mmc-highspeed; 358724ba675SRob Herring cap-sd-highspeed; 359724ba675SRob Herring card-detect-delay = <200>; 360724ba675SRob Herring disable-wp; 361724ba675SRob Herring pinctrl-names = "default"; 362724ba675SRob Herring pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; 363724ba675SRob Herring}; 364724ba675SRob Herring 365724ba675SRob Herring&uart0 { 366724ba675SRob Herring status = "okay"; 367724ba675SRob Herring}; 368724ba675SRob Herring 369724ba675SRob Herring&uart2 { 370724ba675SRob Herring status = "okay"; 371724ba675SRob Herring}; 372724ba675SRob Herring 373724ba675SRob Herring&usb_host { 374724ba675SRob Herring status = "okay"; 375724ba675SRob Herring}; 376724ba675SRob Herring 377724ba675SRob Herring&usb_otg { 378724ba675SRob Herring status = "okay"; 379724ba675SRob Herring}; 380724ba675SRob Herring 381724ba675SRob Herring&vop { 382724ba675SRob Herring status = "okay"; 383724ba675SRob Herring}; 384724ba675SRob Herring 385724ba675SRob Herring&vop_mmu { 386724ba675SRob Herring status = "okay"; 387724ba675SRob Herring}; 388724ba675SRob Herring 389724ba675SRob Herring&pinctrl { 390724ba675SRob Herring leds { 391724ba675SRob Herring led_ctl: led-ctl { 392724ba675SRob Herring rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; 393724ba675SRob Herring }; 394724ba675SRob Herring }; 395724ba675SRob Herring 396724ba675SRob Herring pmic { 397724ba675SRob Herring pmic_int: pmic-int { 398724ba675SRob Herring rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_default>; 399724ba675SRob Herring }; 400724ba675SRob Herring }; 401724ba675SRob Herring 402724ba675SRob Herring sdio { 403724ba675SRob Herring bt_wake_h: bt-wake-h { 404724ba675SRob Herring rockchip,pins = <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_default>; 405724ba675SRob Herring }; 406724ba675SRob Herring }; 407724ba675SRob Herring 408724ba675SRob Herring sdmmc { 409724ba675SRob Herring sdmmc_pwr: sdmmc-pwr { 410724ba675SRob Herring rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 411724ba675SRob Herring }; 412724ba675SRob Herring }; 413724ba675SRob Herring 414724ba675SRob Herring suspend { 415724ba675SRob Herring global_pwroff: global-pwroff { 416724ba675SRob Herring rockchip,pins = <2 RK_PA7 1 &pcfg_pull_none>; 417724ba675SRob Herring }; 418724ba675SRob Herring }; 419724ba675SRob Herring}; 420