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