11.1.1.4Sjmcneill// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 21.1Sjmcneill 31.1Sjmcneill/dts-v1/; 41.1Sjmcneill 51.1Sjmcneill#include "rk3036.dtsi" 61.1Sjmcneill 71.1Sjmcneill/ { 81.1Sjmcneill model = "Rockchip RK3036 KylinBoard"; 91.1Sjmcneill compatible = "rockchip,rk3036-kylin", "rockchip,rk3036"; 101.1Sjmcneill 111.1Sjmcneill memory@60000000 { 121.1Sjmcneill device_type = "memory"; 131.1Sjmcneill reg = <0x60000000 0x20000000>; 141.1Sjmcneill }; 151.1Sjmcneill 161.1Sjmcneill leds: gpio-leds { 171.1Sjmcneill compatible = "gpio-leds"; 181.1Sjmcneill 191.1.1.7Sjmcneill work_led: led-0 { 201.1Sjmcneill gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>; 211.1Sjmcneill label = "kylin:red:led"; 221.1Sjmcneill pinctrl-names = "default"; 231.1Sjmcneill pinctrl-0 = <&led_ctl>; 241.1Sjmcneill }; 251.1Sjmcneill }; 261.1Sjmcneill 271.1Sjmcneill sdio_pwrseq: sdio-pwrseq { 281.1Sjmcneill compatible = "mmc-pwrseq-simple"; 291.1Sjmcneill pinctrl-names = "default"; 301.1Sjmcneill pinctrl-0 = <&bt_wake_h>; 311.1Sjmcneill 321.1Sjmcneill /* 331.1Sjmcneill * On the module itself this is one of these (depending 341.1Sjmcneill * on the actual card populated): 351.1Sjmcneill * - SDIO_RESET_L_WL_REG_ON 361.1Sjmcneill * - SDIO_RESET_L_WL_RST 371.1Sjmcneill * - SDIO_RESET_L_BT_EN 381.1Sjmcneill */ 391.1Sjmcneill reset-gpios = <&gpio0 RK_PD2 GPIO_ACTIVE_LOW>, /* WL_REG_ON */ 401.1Sjmcneill <&gpio0 RK_PD3 GPIO_ACTIVE_LOW>, /* WL_RST */ 411.1Sjmcneill <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>; /* BT_EN */ 421.1Sjmcneill }; 431.1Sjmcneill 441.1Sjmcneill sound { 451.1Sjmcneill compatible = "simple-audio-card"; 461.1Sjmcneill simple-audio-card,format = "i2s"; 471.1Sjmcneill simple-audio-card,name = "rockchip,rt5616-codec"; 481.1Sjmcneill simple-audio-card,mclk-fs = <512>; 491.1Sjmcneill simple-audio-card,widgets = 501.1Sjmcneill "Microphone", "Microphone Jack", 511.1Sjmcneill "Headphone", "Headphone Jack"; 521.1Sjmcneill simple-audio-card,routing = 531.1Sjmcneill "MIC1", "Microphone Jack", 541.1Sjmcneill "MIC2", "Microphone Jack", 551.1Sjmcneill "Microphone Jack", "micbias1", 561.1Sjmcneill "Headphone Jack", "HPOL", 571.1Sjmcneill "Headphone Jack", "HPOR"; 581.1Sjmcneill 591.1Sjmcneill simple-audio-card,cpu { 601.1Sjmcneill sound-dai = <&i2s>; 611.1Sjmcneill }; 621.1Sjmcneill 631.1Sjmcneill simple-audio-card,codec { 641.1Sjmcneill sound-dai = <&rt5616>; 651.1Sjmcneill }; 661.1Sjmcneill }; 671.1Sjmcneill 681.1Sjmcneill vcc_sys: vsys-regulator { 691.1Sjmcneill compatible = "regulator-fixed"; 701.1Sjmcneill regulator-name = "vcc_sys"; 711.1Sjmcneill regulator-min-microvolt = <5000000>; 721.1Sjmcneill regulator-max-microvolt = <5000000>; 731.1Sjmcneill regulator-always-on; 741.1Sjmcneill regulator-boot-on; 751.1Sjmcneill }; 761.1Sjmcneill}; 771.1Sjmcneill 781.1Sjmcneill&acodec { 791.1Sjmcneill status = "okay"; 801.1Sjmcneill}; 811.1Sjmcneill 821.1Sjmcneill&emac { 831.1Sjmcneill pinctrl-names = "default"; 841.1Sjmcneill pinctrl-0 = <&emac_xfer>, <&emac_mdio>; 851.1Sjmcneill phy = <&phy0>; 861.1Sjmcneill phy-reset-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; /* PHY_RST */ 871.1Sjmcneill phy-reset-duration = <10>; /* millisecond */ 881.1Sjmcneill 891.1Sjmcneill status = "okay"; 901.1Sjmcneill 911.1Sjmcneill phy0: ethernet-phy@0 { 921.1Sjmcneill reg = <0>; 931.1Sjmcneill }; 941.1Sjmcneill}; 951.1Sjmcneill 961.1Sjmcneill&emmc { 971.1Sjmcneill status = "okay"; 981.1Sjmcneill}; 991.1Sjmcneill 1001.1.1.3Sjmcneill&gpu { 1011.1.1.3Sjmcneill mali-supply = <&vdd_gpu>; 1021.1.1.3Sjmcneill status = "okay"; 1031.1.1.3Sjmcneill}; 1041.1.1.3Sjmcneill 1051.1Sjmcneill&hdmi { 1061.1Sjmcneill status = "okay"; 1071.1Sjmcneill}; 1081.1Sjmcneill 1091.1Sjmcneill&i2c1 { 1101.1Sjmcneill clock-frequency = <400000>; 1111.1Sjmcneill 1121.1Sjmcneill status = "okay"; 1131.1Sjmcneill 1141.1Sjmcneill rk808: pmic@1b { 1151.1Sjmcneill compatible = "rockchip,rk808"; 1161.1Sjmcneill reg = <0x1b>; 1171.1Sjmcneill interrupt-parent = <&gpio2>; 1181.1Sjmcneill interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 1191.1Sjmcneill pinctrl-names = "default"; 1201.1Sjmcneill pinctrl-0 = <&pmic_int &global_pwroff>; 1211.1Sjmcneill rockchip,system-power-controller; 1221.1Sjmcneill wakeup-source; 1231.1Sjmcneill #clock-cells = <1>; 1241.1Sjmcneill clock-output-names = "xin32k", "rk808-clkout2"; 1251.1Sjmcneill 1261.1Sjmcneill vcc1-supply = <&vcc_sys>; 1271.1Sjmcneill vcc2-supply = <&vcc_sys>; 1281.1Sjmcneill vcc3-supply = <&vcc_sys>; 1291.1Sjmcneill vcc4-supply = <&vcc_sys>; 1301.1Sjmcneill vcc6-supply = <&vcc_sys>; 1311.1Sjmcneill vcc7-supply = <&vcc_sys>; 1321.1Sjmcneill vcc8-supply = <&vcc_18>; 1331.1Sjmcneill vcc9-supply = <&vcc_io>; 1341.1Sjmcneill vcc10-supply = <&vcc_io>; 1351.1Sjmcneill vcc11-supply = <&vcc_sys>; 1361.1Sjmcneill vcc12-supply = <&vcc_io>; 1371.1Sjmcneill vddio-supply = <&vccio_pmu>; 1381.1Sjmcneill 1391.1Sjmcneill regulators { 1401.1Sjmcneill vdd_cpu: DCDC_REG1 { 1411.1Sjmcneill regulator-always-on; 1421.1Sjmcneill regulator-boot-on; 1431.1Sjmcneill regulator-min-microvolt = <750000>; 1441.1Sjmcneill regulator-max-microvolt = <1350000>; 1451.1Sjmcneill regulator-name = "vdd_arm"; 1461.1Sjmcneill regulator-state-mem { 1471.1Sjmcneill regulator-off-in-suspend; 1481.1Sjmcneill }; 1491.1Sjmcneill }; 1501.1Sjmcneill 1511.1Sjmcneill vdd_gpu: DCDC_REG2 { 1521.1Sjmcneill regulator-always-on; 1531.1Sjmcneill regulator-boot-on; 1541.1Sjmcneill regulator-min-microvolt = <850000>; 1551.1Sjmcneill regulator-max-microvolt = <1250000>; 1561.1Sjmcneill regulator-name = "vdd_gpu"; 1571.1Sjmcneill regulator-state-mem { 1581.1Sjmcneill regulator-on-in-suspend; 1591.1Sjmcneill regulator-suspend-microvolt = <1000000>; 1601.1Sjmcneill }; 1611.1Sjmcneill }; 1621.1Sjmcneill 1631.1Sjmcneill vcc_ddr: DCDC_REG3 { 1641.1Sjmcneill regulator-always-on; 1651.1Sjmcneill regulator-boot-on; 1661.1Sjmcneill regulator-name = "vcc_ddr"; 1671.1Sjmcneill regulator-state-mem { 1681.1Sjmcneill regulator-on-in-suspend; 1691.1Sjmcneill }; 1701.1Sjmcneill }; 1711.1Sjmcneill 1721.1Sjmcneill vcc_io: DCDC_REG4 { 1731.1Sjmcneill regulator-always-on; 1741.1Sjmcneill regulator-boot-on; 1751.1Sjmcneill regulator-min-microvolt = <3300000>; 1761.1Sjmcneill regulator-max-microvolt = <3300000>; 1771.1Sjmcneill regulator-name = "vcc_io"; 1781.1Sjmcneill regulator-state-mem { 1791.1Sjmcneill regulator-on-in-suspend; 1801.1Sjmcneill regulator-suspend-microvolt = <3300000>; 1811.1Sjmcneill }; 1821.1Sjmcneill }; 1831.1Sjmcneill 1841.1Sjmcneill vccio_pmu: LDO_REG1 { 1851.1Sjmcneill regulator-always-on; 1861.1Sjmcneill regulator-boot-on; 1871.1Sjmcneill regulator-min-microvolt = <3300000>; 1881.1Sjmcneill regulator-max-microvolt = <3300000>; 1891.1Sjmcneill regulator-name = "vccio_pmu"; 1901.1Sjmcneill regulator-state-mem { 1911.1Sjmcneill regulator-on-in-suspend; 1921.1Sjmcneill regulator-suspend-microvolt = <3300000>; 1931.1Sjmcneill }; 1941.1Sjmcneill }; 1951.1Sjmcneill 1961.1Sjmcneill vcc_tp: LDO_REG2 { 1971.1Sjmcneill regulator-always-on; 1981.1Sjmcneill regulator-boot-on; 1991.1Sjmcneill regulator-min-microvolt = <3300000>; 2001.1Sjmcneill regulator-max-microvolt = <3300000>; 2011.1Sjmcneill regulator-name = "vcc_tp"; 2021.1Sjmcneill regulator-state-mem { 2031.1Sjmcneill regulator-off-in-suspend; 2041.1Sjmcneill }; 2051.1Sjmcneill }; 2061.1Sjmcneill 2071.1Sjmcneill vdd_10: LDO_REG3 { 2081.1Sjmcneill regulator-always-on; 2091.1Sjmcneill regulator-boot-on; 2101.1Sjmcneill regulator-min-microvolt = <1000000>; 2111.1Sjmcneill regulator-max-microvolt = <1000000>; 2121.1Sjmcneill regulator-name = "vdd_10"; 2131.1Sjmcneill regulator-state-mem { 2141.1Sjmcneill regulator-on-in-suspend; 2151.1Sjmcneill regulator-suspend-microvolt = <1000000>; 2161.1Sjmcneill }; 2171.1Sjmcneill }; 2181.1Sjmcneill 2191.1Sjmcneill vcc18_lcd: LDO_REG4 { 2201.1Sjmcneill regulator-always-on; 2211.1Sjmcneill regulator-boot-on; 2221.1Sjmcneill regulator-min-microvolt = <1800000>; 2231.1Sjmcneill regulator-max-microvolt = <1800000>; 2241.1Sjmcneill regulator-name = "vcc18_lcd"; 2251.1Sjmcneill regulator-state-mem { 2261.1Sjmcneill regulator-on-in-suspend; 2271.1Sjmcneill regulator-suspend-microvolt = <1800000>; 2281.1Sjmcneill }; 2291.1Sjmcneill }; 2301.1Sjmcneill 2311.1Sjmcneill vccio_sd: LDO_REG5 { 2321.1Sjmcneill regulator-always-on; 2331.1Sjmcneill regulator-boot-on; 2341.1Sjmcneill regulator-min-microvolt = <1800000>; 2351.1Sjmcneill regulator-max-microvolt = <3300000>; 2361.1Sjmcneill regulator-name = "vccio_sd"; 2371.1Sjmcneill regulator-state-mem { 2381.1Sjmcneill regulator-on-in-suspend; 2391.1Sjmcneill regulator-suspend-microvolt = <3300000>; 2401.1Sjmcneill }; 2411.1Sjmcneill }; 2421.1Sjmcneill 2431.1Sjmcneill vout5: LDO_REG6 { 2441.1Sjmcneill regulator-always-on; 2451.1Sjmcneill regulator-boot-on; 2461.1Sjmcneill regulator-min-microvolt = <1800000>; 2471.1Sjmcneill regulator-max-microvolt = <2500000>; 2481.1Sjmcneill regulator-name = "vout5"; 2491.1Sjmcneill regulator-state-mem { 2501.1Sjmcneill regulator-on-in-suspend; 2511.1Sjmcneill regulator-suspend-microvolt = <1800000>; 2521.1Sjmcneill }; 2531.1Sjmcneill }; 2541.1Sjmcneill 2551.1Sjmcneill vcc_18: LDO_REG7 { 2561.1Sjmcneill regulator-always-on; 2571.1Sjmcneill regulator-boot-on; 2581.1Sjmcneill regulator-min-microvolt = <1800000>; 2591.1Sjmcneill regulator-max-microvolt = <1800000>; 2601.1Sjmcneill regulator-name = "vcc_18"; 2611.1Sjmcneill regulator-state-mem { 2621.1Sjmcneill regulator-on-in-suspend; 2631.1Sjmcneill regulator-suspend-microvolt = <1800000>; 2641.1Sjmcneill }; 2651.1Sjmcneill }; 2661.1Sjmcneill 2671.1Sjmcneill vcca_codec: LDO_REG8 { 2681.1Sjmcneill regulator-always-on; 2691.1Sjmcneill regulator-boot-on; 2701.1Sjmcneill regulator-min-microvolt = <1800000>; 2711.1Sjmcneill regulator-max-microvolt = <1800000>; 2721.1Sjmcneill regulator-name = "vcca_codec"; 2731.1Sjmcneill regulator-state-mem { 2741.1Sjmcneill regulator-on-in-suspend; 2751.1Sjmcneill regulator-suspend-microvolt = <1800000>; 2761.1Sjmcneill }; 2771.1Sjmcneill }; 2781.1Sjmcneill 2791.1Sjmcneill vcc_wl: SWITCH_REG1 { 2801.1Sjmcneill regulator-always-on; 2811.1Sjmcneill regulator-boot-on; 2821.1Sjmcneill regulator-name = "vcc_wl"; 2831.1Sjmcneill regulator-state-mem { 2841.1Sjmcneill regulator-on-in-suspend; 2851.1Sjmcneill }; 2861.1Sjmcneill }; 2871.1Sjmcneill 2881.1Sjmcneill vcc_lcd: SWITCH_REG2 { 2891.1Sjmcneill regulator-always-on; 2901.1Sjmcneill regulator-boot-on; 2911.1Sjmcneill regulator-name = "vcc_lcd"; 2921.1Sjmcneill regulator-state-mem { 2931.1Sjmcneill regulator-on-in-suspend; 2941.1Sjmcneill }; 2951.1Sjmcneill }; 2961.1Sjmcneill }; 2971.1Sjmcneill }; 2981.1Sjmcneill}; 2991.1Sjmcneill 3001.1Sjmcneill&i2c2 { 3011.1Sjmcneill status = "okay"; 3021.1Sjmcneill 3031.1Sjmcneill rt5616: rt5616@1b { 3041.1Sjmcneill compatible = "rt5616"; 3051.1Sjmcneill reg = <0x1b>; 3061.1Sjmcneill clocks = <&cru SCLK_I2S_OUT>; 3071.1Sjmcneill clock-names = "mclk"; 3081.1Sjmcneill #sound-dai-cells = <0>; 3091.1Sjmcneill }; 3101.1Sjmcneill}; 3111.1Sjmcneill 3121.1Sjmcneill&i2s { 3131.1Sjmcneill status = "okay"; 3141.1Sjmcneill}; 3151.1Sjmcneill 3161.1Sjmcneill&sdio { 3171.1Sjmcneill status = "okay"; 3181.1Sjmcneill 3191.1Sjmcneill bus-width = <4>; 3201.1Sjmcneill cap-sd-highspeed; 3211.1Sjmcneill cap-sdio-irq; 3221.1.1.7Sjmcneill rockchip,default-sample-phase = <90>; 3231.1Sjmcneill keep-power-in-suspend; 3241.1Sjmcneill mmc-pwrseq = <&sdio_pwrseq>; 3251.1Sjmcneill non-removable; 3261.1Sjmcneill pinctrl-names = "default"; 3271.1Sjmcneill pinctrl-0 = <&sdio_clk &sdio_cmd &sdio_bus4>; 3281.1Sjmcneill sd-uhs-sdr12; 3291.1Sjmcneill sd-uhs-sdr25; 3301.1Sjmcneill sd-uhs-sdr50; 3311.1Sjmcneill sd-uhs-sdr104; 3321.1Sjmcneill}; 3331.1Sjmcneill 3341.1Sjmcneill&sdmmc { 3351.1Sjmcneill bus-width = <4>; 3361.1Sjmcneill cap-mmc-highspeed; 3371.1Sjmcneill cap-sd-highspeed; 3381.1Sjmcneill card-detect-delay = <200>; 3391.1Sjmcneill disable-wp; 3401.1Sjmcneill pinctrl-names = "default"; 3411.1Sjmcneill pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; 3421.1Sjmcneill}; 3431.1Sjmcneill 3441.1Sjmcneill&uart0 { 3451.1Sjmcneill status = "okay"; 3461.1Sjmcneill}; 3471.1Sjmcneill 3481.1Sjmcneill&uart2 { 3491.1Sjmcneill status = "okay"; 3501.1Sjmcneill}; 3511.1Sjmcneill 3521.1Sjmcneill&usb_host { 3531.1Sjmcneill status = "okay"; 3541.1Sjmcneill}; 3551.1Sjmcneill 3561.1Sjmcneill&usb_otg { 3571.1Sjmcneill status = "okay"; 3581.1Sjmcneill}; 3591.1Sjmcneill 3601.1Sjmcneill&vop { 3611.1Sjmcneill status = "okay"; 3621.1Sjmcneill}; 3631.1Sjmcneill 3641.1Sjmcneill&vop_mmu { 3651.1Sjmcneill status = "okay"; 3661.1Sjmcneill}; 3671.1Sjmcneill 3681.1Sjmcneill&pinctrl { 3691.1Sjmcneill leds { 3701.1Sjmcneill led_ctl: led-ctl { 3711.1.1.6Sskrll rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; 3721.1Sjmcneill }; 3731.1Sjmcneill }; 3741.1Sjmcneill 3751.1Sjmcneill pmic { 3761.1Sjmcneill pmic_int: pmic-int { 3771.1.1.6Sskrll rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_default>; 3781.1Sjmcneill }; 3791.1Sjmcneill }; 3801.1Sjmcneill 3811.1Sjmcneill sdio { 3821.1Sjmcneill bt_wake_h: bt-wake-h { 3831.1.1.6Sskrll rockchip,pins = <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_default>; 3841.1Sjmcneill }; 3851.1Sjmcneill }; 3861.1Sjmcneill 3871.1Sjmcneill sdmmc { 3881.1Sjmcneill sdmmc_pwr: sdmmc-pwr { 3891.1.1.6Sskrll rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 3901.1Sjmcneill }; 3911.1Sjmcneill }; 3921.1Sjmcneill 3931.1.1.7Sjmcneill suspend { 3941.1Sjmcneill global_pwroff: global-pwroff { 3951.1.1.6Sskrll rockchip,pins = <2 RK_PA7 1 &pcfg_pull_none>; 3961.1Sjmcneill }; 3971.1Sjmcneill }; 3981.1Sjmcneill}; 399