1/* 2 * (C) Copyright 2017 Rockchip Electronics Co., Ltd 3 * 4 * SPDX-License-Identifier: GPL-2.0+ X11 5 */ 6 7#include "rk3288.dtsi" 8 9/ { 10 memory { 11 reg = <0 0x80000000>; 12 }; 13 14 ext_gmac: external-gmac-clock { 15 compatible = "fixed-clock"; 16 #clock-cells = <0>; 17 clock-frequency = <125000000>; 18 clock-output-names = "ext_gmac"; 19 }; 20 21 vcc_sys: vsys-regulator { 22 compatible = "regulator-fixed"; 23 regulator-name = "vcc_sys"; 24 regulator-min-microvolt = <5000000>; 25 regulator-max-microvolt = <5000000>; 26 regulator-always-on; 27 regulator-boot-on; 28 }; 29 30 vcc_flash: flash-regulator { 31 compatible = "regulator-fixed"; 32 regulator-name = "vcc_flash"; 33 regulator-min-microvolt = <1800000>; 34 regulator-max-microvolt = <1800000>; 35 vin-supply = <&vcc_io>; 36 }; 37 38 vcc_5v: usb-regulator { 39 compatible = "regulator-fixed"; 40 regulator-name = "vcc_5v"; 41 regulator-min-microvolt = <5000000>; 42 regulator-max-microvolt = <5000000>; 43 regulator-always-on; 44 regulator-boot-on; 45 vin-supply = <&vcc_sys>; 46 }; 47 48 vcc_host_5v: usb-host-regulator { 49 compatible = "regulator-fixed"; 50 enable-active-high; 51 gpio = <&gpio0 14 GPIO_ACTIVE_HIGH>; 52 pinctrl-names = "default"; 53 pinctrl-0 = <&host_vbus_drv>; 54 regulator-name = "vcc_host_5v"; 55 regulator-min-microvolt = <5000000>; 56 regulator-max-microvolt = <5000000>; 57 regulator-always-on; 58 vin-supply = <&vcc_5v>; 59 }; 60 61 vcc_otg_5v: usb-otg-regulator { 62 compatible = "regulator-fixed"; 63 enable-active-high; 64 gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>; 65 pinctrl-names = "default"; 66 pinctrl-0 = <&otg_vbus_drv>; 67 regulator-name = "vcc_otg_5v"; 68 regulator-min-microvolt = <5000000>; 69 regulator-max-microvolt = <5000000>; 70 regulator-always-on; 71 vin-supply = <&vcc_5v>; 72 }; 73 74 backlight: backlight { 75 compatible = "pwm-backlight"; 76 power-supply = <&vcc_sys>; 77 enable-gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>; 78 brightness-levels = < 79 0 1 2 3 4 5 6 7 80 8 9 10 11 12 13 14 15 81 16 17 18 19 20 21 22 23 82 24 25 26 27 28 29 30 31 83 32 33 34 35 36 37 38 39 84 40 41 42 43 44 45 46 47 85 48 49 50 51 52 53 54 55 86 56 57 58 59 60 61 62 63 87 64 65 66 67 68 69 70 71 88 72 73 74 75 76 77 78 79 89 80 81 82 83 84 85 86 87 90 88 89 90 91 92 93 94 95 91 96 97 98 99 100 101 102 103 92 104 105 106 107 108 109 110 111 93 112 113 114 115 116 117 118 119 94 120 121 122 123 124 125 126 127 95 128 129 130 131 132 133 134 135 96 136 137 138 139 140 141 142 143 97 144 145 146 147 148 149 150 151 98 152 153 154 155 156 157 158 159 99 160 161 162 163 164 165 166 167 100 168 169 170 171 172 173 174 175 101 176 177 178 179 180 181 182 183 102 184 185 186 187 188 189 190 191 103 192 193 194 195 196 197 198 199 104 200 201 202 203 204 205 206 207 105 208 209 210 211 212 213 214 215 106 216 217 218 219 220 221 222 223 107 224 225 226 227 228 229 230 231 108 232 233 234 235 236 237 238 239 109 240 241 242 243 244 245 246 247 110 248 249 250 251 252 253 254 255>; 111 default-brightness-level = <50>; 112 pwms = <&pwm0 0 25000 0>; 113 pinctrl-names = "default"; 114 pinctrl-0 = <&pwm0_pin>; 115 pwm-delay-us = <10000>; 116 status = "disabled"; 117 }; 118 119 panel: panel { 120 compatible = "simple-panel"; 121 power-supply = <&vcc_io>; 122 backlight = <&backlight>; 123 enable-gpios = <&gpio7 3 GPIO_ACTIVE_HIGH>; 124 status = "disabled"; 125 }; 126}; 127 128&cpu0 { 129 cpu0-supply = <&vdd_cpu>; 130}; 131 132&emmc { 133 broken-cd; 134 bus-width = <8>; 135 cap-mmc-highspeed; 136 disable-wp; 137 non-removable; 138 num-slots = <1>; 139 pinctrl-names = "default"; 140 pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>; 141 vmmc-supply = <&vcc_io>; 142 vqmmc-supply = <&vcc_flash>; 143 status = "okay"; 144}; 145 146&gmac { 147 phy-mode = "rgmii"; 148 clock_in_out = "input"; 149 snps,reset-gpio = <&gpio4 7 0>; 150 snps,reset-active-low; 151 snps,reset-delays-us = <0 10000 1000000>; 152 assigned-clocks = <&cru SCLK_MAC>; 153 assigned-clock-parents = <&ext_gmac>; 154 pinctrl-names = "default"; 155 pinctrl-0 = <&rgmii_pins>; 156 tx_delay = <0x30>; 157 rx_delay = <0x10>; 158 status = "okay"; 159}; 160 161&i2c0 { 162 clock-frequency = <400000>; 163 status = "okay"; 164 165 vdd_cpu: syr827@40 { 166 compatible = "silergy,syr827"; 167 fcs,suspend-voltage-selector = <1>; 168 reg = <0x40>; 169 regulator-name = "vdd_cpu"; 170 regulator-min-microvolt = <850000>; 171 regulator-max-microvolt = <1350000>; 172 regulator-always-on; 173 regulator-boot-on; 174 vin-supply = <&vcc_sys>; 175 }; 176 177 vdd_gpu: syr828@41 { 178 compatible = "silergy,syr828"; 179 fcs,suspend-voltage-selector = <1>; 180 reg = <0x41>; 181 regulator-name = "vdd_gpu"; 182 regulator-min-microvolt = <850000>; 183 regulator-max-microvolt = <1350000>; 184 regulator-always-on; 185 vin-supply = <&vcc_sys>; 186 }; 187 188 hym8563: hym8563@51 { 189 compatible = "haoyu,hym8563"; 190 reg = <0x51>; 191 #clock-cells = <0>; 192 clock-frequency = <32768>; 193 clock-output-names = "xin32k"; 194 interrupt-parent = <&gpio7>; 195 interrupts = <4 IRQ_TYPE_EDGE_FALLING>; 196 pinctrl-names = "default"; 197 pinctrl-0 = <&rtc_int>; 198 }; 199 200 act8846: act8846@5a { 201 compatible = "active-semi,act8846"; 202 reg = <0x5a>; 203 pinctrl-names = "default"; 204 pinctrl-0 = <&pwr_hold>; 205 system-power-controller; 206 207 regulators { 208 vcc_ddr: REG1 { 209 regulator-name = "vcc_ddr"; 210 regulator-min-microvolt = <1200000>; 211 regulator-max-microvolt = <1200000>; 212 regulator-always-on; 213 }; 214 215 vcc_io: REG2 { 216 regulator-name = "vcc_io"; 217 regulator-min-microvolt = <3300000>; 218 regulator-max-microvolt = <3300000>; 219 regulator-always-on; 220 }; 221 222 vdd_log: REG3 { 223 regulator-name = "vdd_log"; 224 regulator-min-microvolt = <1100000>; 225 regulator-max-microvolt = <1100000>; 226 regulator-always-on; 227 }; 228 229 vcc_20: REG4 { 230 regulator-name = "vcc_20"; 231 regulator-min-microvolt = <2000000>; 232 regulator-max-microvolt = <2000000>; 233 regulator-always-on; 234 }; 235 236 vccio_sd: REG5 { 237 regulator-name = "vccio_sd"; 238 regulator-min-microvolt = <3300000>; 239 regulator-max-microvolt = <3300000>; 240 regulator-always-on; 241 }; 242 243 vdd10_lcd: REG6 { 244 regulator-name = "vdd10_lcd"; 245 regulator-min-microvolt = <1000000>; 246 regulator-max-microvolt = <1000000>; 247 regulator-always-on; 248 }; 249 250 vcca_codec: REG7 { 251 regulator-name = "vcca_codec"; 252 regulator-min-microvolt = <3300000>; 253 regulator-max-microvolt = <3300000>; 254 }; 255 256 vcc_tp: REG8 { 257 regulator-name = "vcca_33"; 258 regulator-min-microvolt = <3300000>; 259 regulator-max-microvolt = <3300000>; 260 }; 261 262 vccio_pmu: REG9 { 263 regulator-name = "vccio_pmu"; 264 regulator-min-microvolt = <3300000>; 265 regulator-max-microvolt = <3300000>; 266 }; 267 268 vdd_10: REG10 { 269 regulator-name = "vdd_10"; 270 regulator-min-microvolt = <1000000>; 271 regulator-max-microvolt = <1000000>; 272 regulator-always-on; 273 }; 274 275 vcc_18: REG11 { 276 regulator-name = "vcc_18"; 277 regulator-min-microvolt = <1800000>; 278 regulator-max-microvolt = <1800000>; 279 regulator-always-on; 280 }; 281 282 vcc18_lcd: REG12 { 283 regulator-name = "vcc18_lcd"; 284 regulator-min-microvolt = <1800000>; 285 regulator-max-microvolt = <1800000>; 286 regulator-always-on; 287 }; 288 }; 289 }; 290}; 291 292&i2c1 { 293 status = "okay"; 294}; 295 296&i2c2 { 297 status = "okay"; 298}; 299 300&i2c4 { 301 status = "okay"; 302}; 303 304&i2c5 { 305 status = "okay"; 306}; 307 308&pinctrl { 309 pcfg_output_high: pcfg-output-high { 310 output-high; 311 }; 312 313 pcfg_output_low: pcfg-output-low { 314 output-low; 315 }; 316 317 act8846 { 318 pwr_hold: pwr-hold { 319 rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_output_high>; 320 }; 321 }; 322 323 hym8563 { 324 rtc_int: rtc-int { 325 rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_up>; 326 }; 327 }; 328 329 sdmmc { 330 sdmmc_pwr: sdmmc-pwr { 331 rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; 332 }; 333 }; 334 335 usb_host { 336 host_vbus_drv: host-vbus-drv { 337 rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>; 338 }; 339 }; 340 341 usb_otg { 342 otg_vbus_drv: otg-vbus-drv { 343 rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>; 344 }; 345 }; 346}; 347 348&pwm0 { 349 status = "okay"; 350}; 351 352&saradc { 353 vref-supply = <&vcc_18>; 354 status = "okay"; 355}; 356 357&sdio0 { 358 broken-cd; 359 bus-width = <4>; 360 disable-wp; 361 non-removable; 362 num-slots = <1>; 363 pinctrl-names = "default"; 364 pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>; 365 vmmc-supply = <&vcc_18>; 366 status = "disabled"; 367}; 368 369&sdmmc { 370 bus-width = <4>; 371 cap-mmc-highspeed; 372 cap-sd-highspeed; 373 card-detect-delay = <200>; 374 disable-wp; 375 num-slots = <1>; 376 pinctrl-names = "default"; 377 pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; 378 vmmc-supply = <&vccio_sd>; 379 status = "okay"; 380}; 381 382&spi0 { 383 pinctrl-names = "default"; 384 pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>; 385 status = "okay"; 386}; 387 388&uart0 { 389 pinctrl-names = "default"; 390 pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>; 391 status = "okay"; 392}; 393 394&uart1 { 395 status = "okay"; 396}; 397 398&uart2 { 399 status = "okay"; 400}; 401 402&uart3 { 403 status = "okay"; 404}; 405 406&usb_host1 { 407 status = "okay"; 408}; 409 410&usb_otg { 411 status = "okay"; 412}; 413 414&vopb { 415 status = "okay"; 416}; 417 418&vopb_mmu { 419 status = "okay"; 420}; 421 422&vopl { 423 status = "okay"; 424}; 425 426&vopl_mmu { 427 status = "okay"; 428}; 429 430&mipi_dsi0 { 431 status = "disabled"; 432 rockchip,panel = <&panel>; 433 display-timings { 434 timing0 { 435 bits-per-pixel = <24>; 436 clock-frequency = <160000000>; 437 hfront-porch = <120>; 438 hsync-len = <20>; 439 hback-porch = <21>; 440 hactive = <1200>; 441 vfront-porch = <21>; 442 vsync-len = <3>; 443 vback-porch = <18>; 444 vactive = <1920>; 445 hsync-active = <0>; 446 vsync-active = <0>; 447 de-active = <1>; 448 pixelclk-active = <0>; 449 }; 450 }; 451}; 452 453&wdt { 454 status = "okay"; 455}; 456