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 90&cpu0 { 91 cpu0-supply = <&vdd_cpu>; 92}; 93 94&emmc { 95 broken-cd; 96 bus-width = <8>; 97 cap-mmc-highspeed; 98 disable-wp; 99 non-removable; 100 num-slots = <1>; 101 pinctrl-names = "default"; 102 pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>; 103 vmmc-supply = <&vcc_io>; 104 vqmmc-supply = <&vcc_flash>; 105 status = "okay"; 106}; 107 108&gmac { 109 phy-mode = "rgmii"; 110 clock_in_out = "input"; 111 snps,reset-gpio = <&gpio4 7 0>; 112 snps,reset-active-low; 113 snps,reset-delays-us = <0 10000 1000000>; 114 assigned-clocks = <&cru SCLK_MAC>; 115 assigned-clock-parents = <&ext_gmac>; 116 pinctrl-names = "default"; 117 pinctrl-0 = <&rgmii_pins>; 118 tx_delay = <0x30>; 119 rx_delay = <0x10>; 120 status = "okay"; 121}; 122 123&hdmi { 124 ddc-i2c-bus = <&i2c5>; 125 status = "okay"; 126}; 127 128&i2c0 { 129 clock-frequency = <400000>; 130 status = "okay"; 131 132 vdd_cpu: syr827@40 { 133 compatible = "silergy,syr827"; 134 fcs,suspend-voltage-selector = <1>; 135 reg = <0x40>; 136 regulator-name = "vdd_cpu"; 137 regulator-min-microvolt = <850000>; 138 regulator-max-microvolt = <1350000>; 139 regulator-always-on; 140 regulator-boot-on; 141 vin-supply = <&vcc_sys>; 142 }; 143 144 vdd_gpu: syr828@41 { 145 compatible = "silergy,syr828"; 146 fcs,suspend-voltage-selector = <1>; 147 reg = <0x41>; 148 regulator-name = "vdd_gpu"; 149 regulator-min-microvolt = <850000>; 150 regulator-max-microvolt = <1350000>; 151 regulator-always-on; 152 vin-supply = <&vcc_sys>; 153 }; 154 155 hym8563: hym8563@51 { 156 compatible = "haoyu,hym8563"; 157 reg = <0x51>; 158 #clock-cells = <0>; 159 clock-frequency = <32768>; 160 clock-output-names = "xin32k"; 161 interrupt-parent = <&gpio7>; 162 interrupts = <4 IRQ_TYPE_EDGE_FALLING>; 163 pinctrl-names = "default"; 164 pinctrl-0 = <&rtc_int>; 165 }; 166 167 act8846: act8846@5a { 168 compatible = "active-semi,act8846"; 169 reg = <0x5a>; 170 pinctrl-names = "default"; 171 pinctrl-0 = <&pwr_hold>; 172 system-power-controller; 173 174 regulators { 175 vcc_ddr: REG1 { 176 regulator-name = "vcc_ddr"; 177 regulator-min-microvolt = <1200000>; 178 regulator-max-microvolt = <1200000>; 179 regulator-always-on; 180 }; 181 182 vcc_io: REG2 { 183 regulator-name = "vcc_io"; 184 regulator-min-microvolt = <3300000>; 185 regulator-max-microvolt = <3300000>; 186 regulator-always-on; 187 }; 188 189 vdd_log: REG3 { 190 regulator-name = "vdd_log"; 191 regulator-min-microvolt = <1100000>; 192 regulator-max-microvolt = <1100000>; 193 regulator-always-on; 194 }; 195 196 vcc_20: REG4 { 197 regulator-name = "vcc_20"; 198 regulator-min-microvolt = <2000000>; 199 regulator-max-microvolt = <2000000>; 200 regulator-always-on; 201 }; 202 203 vccio_sd: REG5 { 204 regulator-name = "vccio_sd"; 205 regulator-min-microvolt = <3300000>; 206 regulator-max-microvolt = <3300000>; 207 regulator-always-on; 208 }; 209 210 vdd10_lcd: REG6 { 211 regulator-name = "vdd10_lcd"; 212 regulator-min-microvolt = <1000000>; 213 regulator-max-microvolt = <1000000>; 214 regulator-always-on; 215 }; 216 217 vcca_codec: REG7 { 218 regulator-name = "vcca_codec"; 219 regulator-min-microvolt = <3300000>; 220 regulator-max-microvolt = <3300000>; 221 }; 222 223 vcc_tp: REG8 { 224 regulator-name = "vcca_33"; 225 regulator-min-microvolt = <3300000>; 226 regulator-max-microvolt = <3300000>; 227 }; 228 229 vccio_pmu: REG9 { 230 regulator-name = "vccio_pmu"; 231 regulator-min-microvolt = <3300000>; 232 regulator-max-microvolt = <3300000>; 233 }; 234 235 vdd_10: REG10 { 236 regulator-name = "vdd_10"; 237 regulator-min-microvolt = <1000000>; 238 regulator-max-microvolt = <1000000>; 239 regulator-always-on; 240 }; 241 242 vcc_18: REG11 { 243 regulator-name = "vcc_18"; 244 regulator-min-microvolt = <1800000>; 245 regulator-max-microvolt = <1800000>; 246 regulator-always-on; 247 }; 248 249 vcc18_lcd: REG12 { 250 regulator-name = "vcc18_lcd"; 251 regulator-min-microvolt = <1800000>; 252 regulator-max-microvolt = <1800000>; 253 regulator-always-on; 254 }; 255 }; 256 }; 257}; 258 259&i2c1 { 260 status = "okay"; 261}; 262 263&i2c2 { 264 status = "okay"; 265}; 266 267&i2c4 { 268 status = "okay"; 269}; 270 271&i2c5 { 272 status = "okay"; 273}; 274 275&pinctrl { 276 pcfg_output_high: pcfg-output-high { 277 output-high; 278 }; 279 280 pcfg_output_low: pcfg-output-low { 281 output-low; 282 }; 283 284 act8846 { 285 pwr_hold: pwr-hold { 286 rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_output_high>; 287 }; 288 }; 289 290 hym8563 { 291 rtc_int: rtc-int { 292 rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_up>; 293 }; 294 }; 295 296 keys { 297 pwr_key: pwr-key { 298 rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>; 299 }; 300 }; 301 302 sdmmc { 303 sdmmc_pwr: sdmmc-pwr { 304 rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; 305 }; 306 }; 307 308 usb_host { 309 host_vbus_drv: host-vbus-drv { 310 rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>; 311 }; 312 }; 313 314 usb_otg { 315 otg_vbus_drv: otg-vbus-drv { 316 rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>; 317 }; 318 }; 319}; 320 321&saradc { 322 vref-supply = <&vcc_18>; 323 status = "okay"; 324}; 325 326&sdio0 { 327 broken-cd; 328 bus-width = <4>; 329 disable-wp; 330 non-removable; 331 num-slots = <1>; 332 pinctrl-names = "default"; 333 pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>; 334 vmmc-supply = <&vcc_18>; 335 status = "disabled"; 336}; 337 338&sdmmc { 339 bus-width = <4>; 340 cap-mmc-highspeed; 341 cap-sd-highspeed; 342 card-detect-delay = <200>; 343 disable-wp; 344 num-slots = <1>; 345 pinctrl-names = "default"; 346 pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; 347 vmmc-supply = <&vccio_sd>; 348 status = "okay"; 349}; 350 351&spi0 { 352 pinctrl-names = "default"; 353 pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>; 354 status = "okay"; 355}; 356 357&uart0 { 358 pinctrl-names = "default"; 359 pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>; 360 status = "okay"; 361}; 362 363&uart1 { 364 status = "okay"; 365}; 366 367&uart2 { 368 status = "okay"; 369}; 370 371&uart3 { 372 status = "okay"; 373}; 374 375&usb_host1 { 376 status = "okay"; 377}; 378 379&usb_otg { 380 status = "okay"; 381}; 382 383&vopb { 384 status = "okay"; 385}; 386 387&vopb_mmu { 388 status = "okay"; 389}; 390 391&vopl { 392 status = "okay"; 393}; 394 395&vopl_mmu { 396 status = "okay"; 397}; 398 399&wdt { 400 status = "okay"; 401}; 402