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