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 status = "okay"; 154}; 155 156&gmac { 157 phy-mode = "rgmii"; 158 clock_in_out = "input"; 159 snps,reset-gpio = <&gpio4 7 0>; 160 snps,reset-active-low; 161 snps,reset-delays-us = <0 10000 1000000>; 162 assigned-clocks = <&cru SCLK_MAC>; 163 assigned-clock-parents = <&ext_gmac>; 164 pinctrl-names = "default"; 165 pinctrl-0 = <&rgmii_pins>; 166 tx_delay = <0x30>; 167 rx_delay = <0x10>; 168 status = "okay"; 169}; 170 171&hdmi { 172 ddc-i2c-bus = <&i2c5>; 173 status = "okay"; 174}; 175 176&i2c0 { 177 clock-frequency = <400000>; 178 status = "okay"; 179 180 vdd_cpu: syr827@40 { 181 compatible = "silergy,syr827"; 182 fcs,suspend-voltage-selector = <1>; 183 reg = <0x40>; 184 regulator-name = "vdd_cpu"; 185 regulator-min-microvolt = <850000>; 186 regulator-max-microvolt = <1350000>; 187 regulator-always-on; 188 regulator-boot-on; 189 vin-supply = <&vcc_sys>; 190 }; 191 192 vdd_gpu: syr828@41 { 193 compatible = "silergy,syr828"; 194 fcs,suspend-voltage-selector = <1>; 195 reg = <0x41>; 196 regulator-name = "vdd_gpu"; 197 regulator-min-microvolt = <850000>; 198 regulator-max-microvolt = <1350000>; 199 regulator-always-on; 200 vin-supply = <&vcc_sys>; 201 }; 202 203 hym8563: hym8563@51 { 204 compatible = "haoyu,hym8563"; 205 reg = <0x51>; 206 #clock-cells = <0>; 207 clock-frequency = <32768>; 208 clock-output-names = "xin32k"; 209 interrupt-parent = <&gpio7>; 210 interrupts = <4 IRQ_TYPE_EDGE_FALLING>; 211 pinctrl-names = "default"; 212 pinctrl-0 = <&rtc_int>; 213 }; 214 215 act8846: act8846@5a { 216 compatible = "active-semi,act8846"; 217 reg = <0x5a>; 218 pinctrl-names = "default"; 219 pinctrl-0 = <&pwr_hold>; 220 system-power-controller; 221 222 regulators { 223 vcc_ddr: REG1 { 224 regulator-name = "vcc_ddr"; 225 regulator-min-microvolt = <1200000>; 226 regulator-max-microvolt = <1200000>; 227 regulator-always-on; 228 }; 229 230 vcc_io: REG2 { 231 regulator-name = "vcc_io"; 232 regulator-min-microvolt = <3300000>; 233 regulator-max-microvolt = <3300000>; 234 regulator-always-on; 235 }; 236 237 vdd_log: REG3 { 238 regulator-name = "vdd_log"; 239 regulator-min-microvolt = <1100000>; 240 regulator-max-microvolt = <1100000>; 241 regulator-always-on; 242 }; 243 244 vcc_20: REG4 { 245 regulator-name = "vcc_20"; 246 regulator-min-microvolt = <2000000>; 247 regulator-max-microvolt = <2000000>; 248 regulator-always-on; 249 }; 250 251 vccio_sd: REG5 { 252 regulator-name = "vccio_sd"; 253 regulator-min-microvolt = <3300000>; 254 regulator-max-microvolt = <3300000>; 255 regulator-always-on; 256 }; 257 258 vdd10_lcd: REG6 { 259 regulator-name = "vdd10_lcd"; 260 regulator-min-microvolt = <1000000>; 261 regulator-max-microvolt = <1000000>; 262 regulator-always-on; 263 }; 264 265 vcca_codec: REG7 { 266 regulator-name = "vcca_codec"; 267 regulator-min-microvolt = <3300000>; 268 regulator-max-microvolt = <3300000>; 269 }; 270 271 vcc_tp: REG8 { 272 regulator-name = "vcca_33"; 273 regulator-min-microvolt = <3300000>; 274 regulator-max-microvolt = <3300000>; 275 }; 276 277 vccio_pmu: REG9 { 278 regulator-name = "vccio_pmu"; 279 regulator-min-microvolt = <3300000>; 280 regulator-max-microvolt = <3300000>; 281 }; 282 283 vdd_10: REG10 { 284 regulator-name = "vdd_10"; 285 regulator-min-microvolt = <1000000>; 286 regulator-max-microvolt = <1000000>; 287 regulator-always-on; 288 }; 289 290 vcc_18: REG11 { 291 regulator-name = "vcc_18"; 292 regulator-min-microvolt = <1800000>; 293 regulator-max-microvolt = <1800000>; 294 regulator-always-on; 295 }; 296 297 vcc18_lcd: REG12 { 298 regulator-name = "vcc18_lcd"; 299 regulator-min-microvolt = <1800000>; 300 regulator-max-microvolt = <1800000>; 301 regulator-always-on; 302 }; 303 }; 304 }; 305}; 306 307&i2c1 { 308 status = "okay"; 309}; 310 311&i2c2 { 312 status = "okay"; 313}; 314 315&i2c4 { 316 status = "okay"; 317}; 318 319&i2c5 { 320 status = "okay"; 321}; 322 323&pinctrl { 324 pcfg_output_high: pcfg-output-high { 325 output-high; 326 }; 327 328 pcfg_output_low: pcfg-output-low { 329 output-low; 330 }; 331 332 act8846 { 333 pwr_hold: pwr-hold { 334 rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_output_high>; 335 }; 336 }; 337 338 hym8563 { 339 rtc_int: rtc-int { 340 rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_up>; 341 }; 342 }; 343 344 keys { 345 pwr_key: pwr-key { 346 rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>; 347 }; 348 }; 349 350 sdmmc { 351 sdmmc_pwr: sdmmc-pwr { 352 rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; 353 }; 354 }; 355 356 usb_host { 357 host_vbus_drv: host-vbus-drv { 358 rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>; 359 }; 360 }; 361 362 usb_otg { 363 otg_vbus_drv: otg-vbus-drv { 364 rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>; 365 }; 366 }; 367}; 368 369&pwm0 { 370 status = "okay"; 371}; 372 373&saradc { 374 vref-supply = <&vcc_18>; 375 status = "okay"; 376}; 377 378&sdio0 { 379 broken-cd; 380 bus-width = <4>; 381 disable-wp; 382 non-removable; 383 num-slots = <1>; 384 pinctrl-names = "default"; 385 pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>; 386 vmmc-supply = <&vcc_18>; 387 status = "disabled"; 388}; 389 390&sdmmc { 391 bus-width = <4>; 392 cap-mmc-highspeed; 393 cap-sd-highspeed; 394 card-detect-delay = <200>; 395 disable-wp; 396 num-slots = <1>; 397 pinctrl-names = "default"; 398 pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; 399 vmmc-supply = <&vccio_sd>; 400 status = "okay"; 401}; 402 403&spi0 { 404 pinctrl-names = "default"; 405 pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>; 406 status = "okay"; 407}; 408 409&uart0 { 410 pinctrl-names = "default"; 411 pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>; 412 status = "okay"; 413}; 414 415&uart1 { 416 status = "okay"; 417}; 418 419&uart2 { 420 status = "okay"; 421}; 422 423&uart3 { 424 status = "okay"; 425}; 426 427&usb_host1 { 428 status = "okay"; 429}; 430 431&usb_otg { 432 status = "okay"; 433}; 434 435&vopb { 436 status = "okay"; 437}; 438 439&vopb_mmu { 440 status = "okay"; 441}; 442 443&vopl { 444 status = "okay"; 445}; 446 447&vopl_mmu { 448 status = "okay"; 449}; 450 451&mipi_dsi0 { 452 status = "disabled"; 453 rockchip,panel = <&panel>; 454 display-timings { 455 timing0 { 456 bits-per-pixel = <24>; 457 clock-frequency = <160000000>; 458 hfront-porch = <120>; 459 hsync-len = <20>; 460 hback-porch = <21>; 461 hactive = <1200>; 462 vfront-porch = <21>; 463 vsync-len = <3>; 464 vback-porch = <18>; 465 vactive = <1920>; 466 hsync-active = <0>; 467 vsync-active = <0>; 468 de-active = <1>; 469 pixelclk-active = <0>; 470 }; 471 }; 472}; 473 474&wdt { 475 status = "okay"; 476}; 477