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