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