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