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 compatible = "ti,tps65910"; 202 reg = <0x2d>; 203 204 gpio-controller; 205 #gpio-cells = <2>; 206 207 interrupt-parent = <&gpio6>; 208 interrupts = <RK_PA4 IRQ_TYPE_EDGE_RISING>; 209 210 interrupt-controller; 211 #interrupt-cells = <2>; 212 213 pinctrl-names = "default"; 214 pinctrl-0 = <&pmic_int>, <&pwr_hold>; 215 216 vcc1-supply = <&vsys>; 217 vcc2-supply = <&vsys>; 218 vcc3-supply = <&vsys>; 219 vcc4-supply = <&vsys>; 220 vcc5-supply = <&vcc_io>; 221 vcc6-supply = <&vcc_io>; 222 vcc7-supply = <&vsys>; 223 vccio-supply = <&vsys>; 224 225 regulators { 226 vcc_rtc: vrtc { 227 regulator-name = "vcc_rtc"; 228 regulator-always-on; 229 }; 230 231 vcc_io: vio { 232 regulator-name = "vcc_io"; 233 regulator-min-microvolt = <3300000>; 234 regulator-max-microvolt = <3300000>; 235 regulator-always-on; 236 }; 237 238 vdd_arm: vdd1 { 239 regulator-name = "vdd_arm"; 240 regulator-min-microvolt = <600000>; 241 regulator-max-microvolt = <1500000>; 242 regulator-always-on; 243 regulator-boot-on; 244 }; 245 246 vcc_ddr: vdd2 { 247 regulator-name = "vcc_ddr"; 248 regulator-min-microvolt = <600000>; 249 regulator-max-microvolt = <1500000>; 250 regulator-always-on; 251 regulator-boot-on; 252 }; 253 254 vcc18: vdig1 { 255 regulator-name = "vcc18"; 256 regulator-min-microvolt = <1800000>; 257 regulator-max-microvolt = <1800000>; 258 regulator-always-on; 259 }; 260 261 vdd_11: vdig2 { 262 regulator-name = "vdd_11"; 263 regulator-min-microvolt = <1100000>; 264 regulator-max-microvolt = <1100000>; 265 regulator-always-on; 266 }; 267 268 vcc_25: vpll { 269 regulator-name = "vcc_25"; 270 regulator-min-microvolt = <2500000>; 271 regulator-max-microvolt = <2500000>; 272 regulator-always-on; 273 }; 274 275 vccio_wl: vdac { 276 regulator-name = "vccio_wl"; 277 regulator-min-microvolt = <1800000>; 278 regulator-max-microvolt = <1800000>; 279 }; 280 281 vcc25_hdmi: vaux1 { 282 regulator-name = "vcc25_hdmi"; 283 regulator-min-microvolt = <2500000>; 284 regulator-max-microvolt = <2500000>; 285 }; 286 287 vcca_33: vaux2 { 288 regulator-name = "vcca_33"; 289 regulator-min-microvolt = <3300000>; 290 regulator-max-microvolt = <3300000>; 291 }; 292 293 vcc_rmii: vaux33 { 294 regulator-name = "vcc_rmii"; 295 regulator-min-microvolt = <3300000>; 296 regulator-max-microvolt = <3300000>; 297 }; 298 299 vcc28_cif: vmmc { 300 regulator-name = "vcc28_cif"; 301 regulator-min-microvolt = <2800000>; 302 regulator-max-microvolt = <2800000>; 303 }; 304 }; 305 }; 306}; 307 308&i2c2 { 309 status = "okay"; 310}; 311 312&i2c3 { 313 status = "okay"; 314}; 315 316&i2c4 { 317 status = "okay"; 318}; 319 320&mmc0 { 321 bus-width = <4>; 322 disable-wp; 323 pinctrl-names = "default"; 324 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>; 325 vmmc-supply = <&vcc_sd>; 326 cap-mmc-highspeed; 327 cap-sd-highspeed; 328 status = "okay"; 329}; 330 331&mmc1 { 332 bus-width = <4>; 333 non-removable; 334 pinctrl-names = "default"; 335 pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_bus4>; 336 vmmc-supply = <&vccio_wl>; 337 status = "okay"; 338}; 339 340&pinctrl { 341 pcfg_output_high: pcfg-output-high { 342 output-high; 343 }; 344 345 ak8963 { 346 comp_int: comp-int { 347 rockchip,pins = <4 RK_PC1 RK_FUNC_GPIO &pcfg_pull_default>; 348 }; 349 }; 350 351 emac { 352 rmii_rst: rmii-rst { 353 rockchip,pins = <1 RK_PD6 RK_FUNC_GPIO &pcfg_output_high>; 354 }; 355 }; 356 357 ir { 358 ir_int: ir-int { 359 rockchip,pins = <6 RK_PA1 RK_FUNC_GPIO &pcfg_pull_default>; 360 }; 361 }; 362 363 keys { 364 pwr_key: pwr-key { 365 rockchip,pins = <6 RK_PA2 RK_FUNC_GPIO &pcfg_pull_default>; 366 }; 367 }; 368 369 mma8452 { 370 gsensor_int: gsensor-int { 371 rockchip,pins = <4 RK_PC0 RK_FUNC_GPIO &pcfg_pull_default>; 372 }; 373 }; 374 375 mmc { 376 sdmmc_pwr: sdmmc-pwr { 377 rockchip,pins = <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_default>; 378 }; 379 }; 380 381 usb_host { 382 host_drv: host-drv { 383 rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_default>; 384 }; 385 386 hub_rst: hub-rst { 387 rockchip,pins = <1 RK_PD7 RK_FUNC_GPIO &pcfg_output_high>; 388 }; 389 390 sata_pwr: sata-pwr { 391 rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_default>; 392 }; 393 394 sata_reset: sata-reset { 395 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_output_high>; 396 }; 397 }; 398 399 usb_otg { 400 otg_drv: otg-drv { 401 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_default>; 402 }; 403 }; 404 405 tps { 406 pmic_int: pmic-int { 407 rockchip,pins = <6 RK_PA4 RK_FUNC_GPIO &pcfg_pull_default>; 408 }; 409 410 pwr_hold: pwr-hold { 411 rockchip,pins = <6 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>; 412 }; 413 }; 414}; 415 416&pwm1 { 417 status = "okay"; 418}; 419 420&pwm2 { 421 status = "okay"; 422}; 423 424&pwm3 { 425 status = "okay"; 426}; 427 428&saradc { 429 vref-supply = <&vcc_25>; 430 status = "okay"; 431}; 432 433&spi0 { 434 status = "okay"; 435}; 436 437&uart0 { 438 pinctrl-names = "default"; 439 pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>; 440 status = "okay"; 441}; 442 443&uart2 { 444 status = "okay"; 445}; 446 447&uart3 { 448 pinctrl-names = "default"; 449 pinctrl-0 = <&uart3_xfer>, <&uart3_cts>, <&uart3_rts>; 450 status = "okay"; 451}; 452 453&usb_host { 454 pinctrl-names = "default"; 455 pinctrl-0 = <&hub_rst>, <&sata_reset>; 456 status = "okay"; 457}; 458 459&usbphy { 460 status = "okay"; 461}; 462 463&usb_otg { 464 status = "okay"; 465}; 466 467&wdt { 468 status = "okay"; 469}; 470