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