1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2014, 2015 FUKAUMI Naoki <naobsd@gmail.com> 4 */ 5 6/dts-v1/; 7#include <dt-bindings/input/input.h> 8#include "rk3066a.dtsi" 9 10/ { 11 model = "Rayeager PX2"; 12 compatible = "chipspark,rayeager-px2", "rockchip,rk3066a"; 13 14 aliases { 15 mmc0 = &mmc0; 16 mmc1 = &mmc1; 17 mmc2 = &emmc; 18 }; 19 20 memory@60000000 { 21 device_type = "memory"; 22 reg = <0x60000000 0x40000000>; 23 }; 24 25 ir: ir-receiver { 26 compatible = "gpio-ir-receiver"; 27 gpios = <&gpio6 RK_PA1 GPIO_ACTIVE_LOW>; 28 pinctrl-names = "default"; 29 pinctrl-0 = <&ir_int>; 30 }; 31 32 keys: gpio-keys { 33 compatible = "gpio-keys"; 34 35 key-power { 36 wakeup-source; 37 gpios = <&gpio6 RK_PA2 GPIO_ACTIVE_LOW>; 38 label = "GPIO Power"; 39 linux,code = <KEY_POWER>; 40 pinctrl-names = "default"; 41 pinctrl-0 = <&pwr_key>; 42 }; 43 }; 44 45 vdd_log: regulator-vdd-log { 46 compatible = "pwm-regulator"; 47 pwms = <&pwm3 0 1000>; 48 regulator-name = "vdd_log"; 49 regulator-min-microvolt = <1200000>; 50 regulator-max-microvolt = <1200000>; 51 regulator-always-on; 52 voltage-table = <1000000 100>, 53 <1200000 42>; 54 status = "okay"; 55 }; 56 57 vsys: regulator-vsys { 58 compatible = "regulator-fixed"; 59 regulator-name = "vsys"; 60 regulator-min-microvolt = <5000000>; 61 regulator-max-microvolt = <5000000>; 62 regulator-always-on; 63 regulator-boot-on; 64 }; 65 66 /* input for 5V_STDBY is VSYS or DC5V, selectable by jumper J4 */ 67 vcc_stdby: regulator-stdby { 68 compatible = "regulator-fixed"; 69 regulator-name = "5v_stdby"; 70 regulator-min-microvolt = <5000000>; 71 regulator-max-microvolt = <5000000>; 72 regulator-always-on; 73 regulator-boot-on; 74 }; 75 76 vcc_emmc: regulator-emmc { 77 compatible = "regulator-fixed"; 78 regulator-name = "emmc_vccq"; 79 regulator-min-microvolt = <3000000>; 80 regulator-max-microvolt = <3000000>; 81 vin-supply = <&vsys>; 82 }; 83 84 vcc_sata: regulator-sata { 85 compatible = "regulator-fixed"; 86 enable-active-high; 87 gpio = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>; 88 pinctrl-names = "default"; 89 pinctrl-0 = <&sata_pwr>; 90 regulator-name = "usb_5v"; 91 regulator-min-microvolt = <5000000>; 92 regulator-max-microvolt = <5000000>; 93 regulator-always-on; 94 vin-supply = <&vcc_stdby>; 95 }; 96 97 vcc_sd: regulator-sdmmc { 98 compatible = "regulator-fixed"; 99 gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>; 100 pinctrl-names = "default"; 101 pinctrl-0 = <&sdmmc_pwr>; 102 regulator-name = "vcc_sd"; 103 regulator-min-microvolt = <3300000>; 104 regulator-max-microvolt = <3300000>; 105 startup-delay-us = <100000>; 106 vin-supply = <&vcc_io>; 107 }; 108 109 vcc_host: regulator-usb-host { 110 compatible = "regulator-fixed"; 111 enable-active-high; 112 gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; 113 pinctrl-names = "default"; 114 pinctrl-0 = <&host_drv>; 115 regulator-name = "host-pwr"; 116 regulator-min-microvolt = <5000000>; 117 regulator-max-microvolt = <5000000>; 118 regulator-always-on; 119 vin-supply = <&vcc_stdby>; 120 }; 121 122 vcc_otg: regulator-usb-otg { 123 compatible = "regulator-fixed"; 124 enable-active-high; 125 gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 126 pinctrl-names = "default"; 127 pinctrl-0 = <&otg_drv>; 128 regulator-name = "vcc_otg"; 129 regulator-min-microvolt = <5000000>; 130 regulator-max-microvolt = <5000000>; 131 regulator-always-on; 132 vin-supply = <&vcc_stdby>; 133 }; 134}; 135 136&cpu0 { 137 cpu-supply = <&vdd_arm>; 138}; 139 140&cpu1 { 141 cpu-supply = <&vdd_arm>; 142}; 143 144&emac { 145 phy = <&phy0>; 146 phy-supply = <&vcc_rmii>; 147 pinctrl-names = "default"; 148 pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&rmii_rst>; 149 status = "okay"; 150 151 mdio { 152 #address-cells = <1>; 153 #size-cells = <0>; 154 155 phy0: ethernet-phy@0 { 156 reg = <0>; 157 reset-gpios = <&gpio1 RK_PD6 GPIO_ACTIVE_LOW>; 158 }; 159 }; 160}; 161 162&emmc { 163 bus-width = <8>; 164 cap-mmc-highspeed; 165 non-removable; 166 pinctrl-names = "default"; 167 pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_rst>; 168 vmmc-supply = <&vcc_emmc>; 169 vqmmc-supply = <&vcc_emmc>; 170 status = "okay"; 171}; 172 173&i2c0 { 174 clock-frequency = <400000>; 175 status = "okay"; 176 177 ak8963: ak8963@d { 178 compatible = "asahi-kasei,ak8975"; 179 reg = <0x0d>; 180 interrupt-parent = <&gpio4>; 181 interrupts = <RK_PC1 IRQ_TYPE_EDGE_RISING>; 182 pinctrl-names = "default"; 183 pinctrl-0 = <&comp_int>; 184 }; 185 186 mma8452: mma8452@1d { 187 compatible = "fsl,mma8452"; 188 reg = <0x1d>; 189 interrupt-parent = <&gpio4>; 190 interrupts = <RK_PC0 IRQ_TYPE_EDGE_RISING>; 191 pinctrl-names = "default"; 192 pinctrl-0 = <&gsensor_int>; 193 }; 194}; 195 196&i2c1 { 197 clock-frequency = <400000>; 198 status = "okay"; 199 200 tps: tps@2d { 201 reg = <0x2d>; 202 interrupt-parent = <&gpio6>; 203 interrupts = <RK_PA4 IRQ_TYPE_EDGE_RISING>; 204 pinctrl-names = "default"; 205 pinctrl-0 = <&pmic_int>, <&pwr_hold>; 206 207 vcc1-supply = <&vsys>; 208 vcc2-supply = <&vsys>; 209 vcc3-supply = <&vsys>; 210 vcc4-supply = <&vsys>; 211 vcc5-supply = <&vcc_io>; 212 vcc6-supply = <&vcc_io>; 213 vcc7-supply = <&vsys>; 214 vccio-supply = <&vsys>; 215 216 regulators { 217 vcc_rtc: regulator@0 { 218 regulator-name = "vcc_rtc"; 219 regulator-always-on; 220 }; 221 222 vcc_io: regulator@1 { 223 regulator-name = "vcc_io"; 224 regulator-min-microvolt = <3300000>; 225 regulator-max-microvolt = <3300000>; 226 regulator-always-on; 227 }; 228 229 vdd_arm: regulator@2 { 230 regulator-name = "vdd_arm"; 231 regulator-min-microvolt = <600000>; 232 regulator-max-microvolt = <1500000>; 233 regulator-always-on; 234 regulator-boot-on; 235 }; 236 237 vcc_ddr: regulator@3 { 238 regulator-name = "vcc_ddr"; 239 regulator-min-microvolt = <600000>; 240 regulator-max-microvolt = <1500000>; 241 regulator-always-on; 242 regulator-boot-on; 243 }; 244 245 vcc18: regulator@5 { 246 regulator-name = "vcc18"; 247 regulator-min-microvolt = <1800000>; 248 regulator-max-microvolt = <1800000>; 249 regulator-always-on; 250 }; 251 252 vdd_11: regulator@6 { 253 regulator-name = "vdd_11"; 254 regulator-min-microvolt = <1100000>; 255 regulator-max-microvolt = <1100000>; 256 regulator-always-on; 257 }; 258 259 vcc_25: regulator@7 { 260 regulator-name = "vcc_25"; 261 regulator-min-microvolt = <2500000>; 262 regulator-max-microvolt = <2500000>; 263 regulator-always-on; 264 }; 265 266 vccio_wl: regulator@8 { 267 regulator-name = "vccio_wl"; 268 regulator-min-microvolt = <1800000>; 269 regulator-max-microvolt = <1800000>; 270 }; 271 272 vcc25_hdmi: regulator@9 { 273 regulator-name = "vcc25_hdmi"; 274 regulator-min-microvolt = <2500000>; 275 regulator-max-microvolt = <2500000>; 276 }; 277 278 vcca_33: regulator@10 { 279 regulator-name = "vcca_33"; 280 regulator-min-microvolt = <3300000>; 281 regulator-max-microvolt = <3300000>; 282 }; 283 284 vcc_rmii: regulator@11 { 285 regulator-name = "vcc_rmii"; 286 regulator-min-microvolt = <3300000>; 287 regulator-max-microvolt = <3300000>; 288 }; 289 290 vcc28_cif: regulator@12 { 291 regulator-name = "vcc28_cif"; 292 regulator-min-microvolt = <2800000>; 293 regulator-max-microvolt = <2800000>; 294 }; 295 }; 296 }; 297}; 298 299#include "../tps65910.dtsi" 300 301&i2c2 { 302 status = "okay"; 303}; 304 305&i2c3 { 306 status = "okay"; 307}; 308 309&i2c4 { 310 status = "okay"; 311}; 312 313&mmc0 { 314 bus-width = <4>; 315 disable-wp; 316 pinctrl-names = "default"; 317 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>; 318 vmmc-supply = <&vcc_sd>; 319 cap-mmc-highspeed; 320 cap-sd-highspeed; 321 status = "okay"; 322}; 323 324&mmc1 { 325 bus-width = <4>; 326 non-removable; 327 pinctrl-names = "default"; 328 pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_bus4>; 329 vmmc-supply = <&vccio_wl>; 330 status = "okay"; 331}; 332 333&pinctrl { 334 pcfg_output_high: pcfg-output-high { 335 output-high; 336 }; 337 338 ak8963 { 339 comp_int: comp-int { 340 rockchip,pins = <4 RK_PC1 RK_FUNC_GPIO &pcfg_pull_default>; 341 }; 342 }; 343 344 emac { 345 rmii_rst: rmii-rst { 346 rockchip,pins = <1 RK_PD6 RK_FUNC_GPIO &pcfg_output_high>; 347 }; 348 }; 349 350 ir { 351 ir_int: ir-int { 352 rockchip,pins = <6 RK_PA1 RK_FUNC_GPIO &pcfg_pull_default>; 353 }; 354 }; 355 356 keys { 357 pwr_key: pwr-key { 358 rockchip,pins = <6 RK_PA2 RK_FUNC_GPIO &pcfg_pull_default>; 359 }; 360 }; 361 362 mma8452 { 363 gsensor_int: gsensor-int { 364 rockchip,pins = <4 RK_PC0 RK_FUNC_GPIO &pcfg_pull_default>; 365 }; 366 }; 367 368 mmc { 369 sdmmc_pwr: sdmmc-pwr { 370 rockchip,pins = <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_default>; 371 }; 372 }; 373 374 usb_host { 375 host_drv: host-drv { 376 rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_default>; 377 }; 378 379 hub_rst: hub-rst { 380 rockchip,pins = <1 RK_PD7 RK_FUNC_GPIO &pcfg_output_high>; 381 }; 382 383 sata_pwr: sata-pwr { 384 rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_default>; 385 }; 386 387 sata_reset: sata-reset { 388 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_output_high>; 389 }; 390 }; 391 392 usb_otg { 393 otg_drv: otg-drv { 394 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_default>; 395 }; 396 }; 397 398 tps { 399 pmic_int: pmic-int { 400 rockchip,pins = <6 RK_PA4 RK_FUNC_GPIO &pcfg_pull_default>; 401 }; 402 403 pwr_hold: pwr-hold { 404 rockchip,pins = <6 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>; 405 }; 406 }; 407}; 408 409&pwm1 { 410 status = "okay"; 411}; 412 413&pwm2 { 414 status = "okay"; 415}; 416 417&pwm3 { 418 status = "okay"; 419}; 420 421&saradc { 422 vref-supply = <&vcc_25>; 423 status = "okay"; 424}; 425 426&spi0 { 427 status = "okay"; 428}; 429 430&uart0 { 431 pinctrl-names = "default"; 432 pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>; 433 status = "okay"; 434}; 435 436&uart2 { 437 status = "okay"; 438}; 439 440&uart3 { 441 pinctrl-names = "default"; 442 pinctrl-0 = <&uart3_xfer>, <&uart3_cts>, <&uart3_rts>; 443 status = "okay"; 444}; 445 446&usb_host { 447 pinctrl-names = "default"; 448 pinctrl-0 = <&hub_rst>, <&sata_reset>; 449 status = "okay"; 450}; 451 452&usbphy { 453 status = "okay"; 454}; 455 456&usb_otg { 457 status = "okay"; 458}; 459 460&wdt { 461 status = "okay"; 462}; 463