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 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: 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: vsys-regulator { 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: stdby-regulator { 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: emmc-regulator { 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: sata-regulator { 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: sdmmc-regulator { 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: usb-host-regulator { 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: usb-otg-regulator { 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 pinctrl-names = "default"; 146 pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&rmii_rst>; 147 phy = <&phy0>; 148 phy-supply = <&vcc_rmii>; 149 status = "okay"; 150 151 phy0: ethernet-phy@0 { 152 reg = <0>; 153 reset-gpios = <&gpio1 RK_PD6 GPIO_ACTIVE_LOW>; 154 }; 155}; 156 157&emmc { 158 bus-width = <8>; 159 cap-mmc-highspeed; 160 non-removable; 161 pinctrl-names = "default"; 162 pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_rst>; 163 vmmc-supply = <&vcc_emmc>; 164 vqmmc-supply = <&vcc_emmc>; 165 status = "okay"; 166}; 167 168&i2c0 { 169 clock-frequency = <400000>; 170 status = "okay"; 171 172 ak8963: ak8963@d { 173 compatible = "asahi-kasei,ak8975"; 174 reg = <0x0d>; 175 interrupt-parent = <&gpio4>; 176 interrupts = <RK_PC1 IRQ_TYPE_EDGE_RISING>; 177 pinctrl-names = "default"; 178 pinctrl-0 = <&comp_int>; 179 }; 180 181 mma8452: mma8452@1d { 182 compatible = "fsl,mma8452"; 183 reg = <0x1d>; 184 interrupt-parent = <&gpio4>; 185 interrupts = <RK_PC0 IRQ_TYPE_EDGE_RISING>; 186 pinctrl-names = "default"; 187 pinctrl-0 = <&gsensor_int>; 188 }; 189}; 190 191&i2c1 { 192 clock-frequency = <400000>; 193 status = "okay"; 194 195 tps: tps@2d { 196 reg = <0x2d>; 197 interrupt-parent = <&gpio6>; 198 interrupts = <RK_PA4 IRQ_TYPE_EDGE_RISING>; 199 pinctrl-names = "default"; 200 pinctrl-0 = <&pmic_int>, <&pwr_hold>; 201 202 vcc1-supply = <&vsys>; 203 vcc2-supply = <&vsys>; 204 vcc3-supply = <&vsys>; 205 vcc4-supply = <&vsys>; 206 vcc5-supply = <&vcc_io>; 207 vcc6-supply = <&vcc_io>; 208 vcc7-supply = <&vsys>; 209 vccio-supply = <&vsys>; 210 211 regulators { 212 vcc_rtc: regulator@0 { 213 regulator-name = "vcc_rtc"; 214 regulator-always-on; 215 }; 216 217 vcc_io: regulator@1 { 218 regulator-name = "vcc_io"; 219 regulator-min-microvolt = <3300000>; 220 regulator-max-microvolt = <3300000>; 221 regulator-always-on; 222 }; 223 224 vdd_arm: regulator@2 { 225 regulator-name = "vdd_arm"; 226 regulator-min-microvolt = <600000>; 227 regulator-max-microvolt = <1500000>; 228 regulator-always-on; 229 regulator-boot-on; 230 }; 231 232 vcc_ddr: regulator@3 { 233 regulator-name = "vcc_ddr"; 234 regulator-min-microvolt = <600000>; 235 regulator-max-microvolt = <1500000>; 236 regulator-always-on; 237 regulator-boot-on; 238 }; 239 240 vcc18: regulator@5 { 241 regulator-name = "vcc18"; 242 regulator-min-microvolt = <1800000>; 243 regulator-max-microvolt = <1800000>; 244 regulator-always-on; 245 }; 246 247 vdd_11: regulator@6 { 248 regulator-name = "vdd_11"; 249 regulator-min-microvolt = <1100000>; 250 regulator-max-microvolt = <1100000>; 251 regulator-always-on; 252 }; 253 254 vcc_25: regulator@7 { 255 regulator-name = "vcc_25"; 256 regulator-min-microvolt = <2500000>; 257 regulator-max-microvolt = <2500000>; 258 regulator-always-on; 259 }; 260 261 vccio_wl: regulator@8 { 262 regulator-name = "vccio_wl"; 263 regulator-min-microvolt = <1800000>; 264 regulator-max-microvolt = <1800000>; 265 }; 266 267 vcc25_hdmi: regulator@9 { 268 regulator-name = "vcc25_hdmi"; 269 regulator-min-microvolt = <2500000>; 270 regulator-max-microvolt = <2500000>; 271 }; 272 273 vcca_33: regulator@10 { 274 regulator-name = "vcca_33"; 275 regulator-min-microvolt = <3300000>; 276 regulator-max-microvolt = <3300000>; 277 }; 278 279 vcc_rmii: regulator@11 { 280 regulator-name = "vcc_rmii"; 281 regulator-min-microvolt = <3300000>; 282 regulator-max-microvolt = <3300000>; 283 }; 284 285 vcc28_cif: regulator@12 { 286 regulator-name = "vcc28_cif"; 287 regulator-min-microvolt = <2800000>; 288 regulator-max-microvolt = <2800000>; 289 }; 290 }; 291 }; 292}; 293 294#include "tps65910.dtsi" 295 296&i2c2 { 297 status = "okay"; 298}; 299 300&i2c3 { 301 status = "okay"; 302}; 303 304&i2c4 { 305 status = "okay"; 306}; 307 308&mmc0 { 309 bus-width = <4>; 310 disable-wp; 311 pinctrl-names = "default"; 312 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>; 313 vmmc-supply = <&vcc_sd>; 314 cap-mmc-highspeed; 315 cap-sd-highspeed; 316 status = "okay"; 317}; 318 319&mmc1 { 320 bus-width = <4>; 321 non-removable; 322 pinctrl-names = "default"; 323 pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_bus4>; 324 vmmc-supply = <&vccio_wl>; 325 status = "okay"; 326}; 327 328&pinctrl { 329 pcfg_output_high: pcfg-output-high { 330 output-high; 331 }; 332 333 ak8963 { 334 comp_int: comp-int { 335 rockchip,pins = <4 RK_PC1 RK_FUNC_GPIO &pcfg_pull_default>; 336 }; 337 }; 338 339 emac { 340 rmii_rst: rmii-rst { 341 rockchip,pins = <1 RK_PD6 RK_FUNC_GPIO &pcfg_output_high>; 342 }; 343 }; 344 345 ir { 346 ir_int: ir-int { 347 rockchip,pins = <6 RK_PA1 RK_FUNC_GPIO &pcfg_pull_default>; 348 }; 349 }; 350 351 keys { 352 pwr_key: pwr-key { 353 rockchip,pins = <6 RK_PA2 RK_FUNC_GPIO &pcfg_pull_default>; 354 }; 355 }; 356 357 mma8452 { 358 gsensor_int: gsensor-int { 359 rockchip,pins = <4 RK_PC0 RK_FUNC_GPIO &pcfg_pull_default>; 360 }; 361 }; 362 363 mmc { 364 sdmmc_pwr: sdmmc-pwr { 365 rockchip,pins = <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_default>; 366 }; 367 }; 368 369 usb_host { 370 host_drv: host-drv { 371 rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_default>; 372 }; 373 374 hub_rst: hub-rst { 375 rockchip,pins = <1 RK_PD7 RK_FUNC_GPIO &pcfg_output_high>; 376 }; 377 378 sata_pwr: sata-pwr { 379 rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_default>; 380 }; 381 382 sata_reset: sata-reset { 383 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_output_high>; 384 }; 385 }; 386 387 usb_otg { 388 otg_drv: otg-drv { 389 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_default>; 390 }; 391 }; 392 393 tps { 394 pmic_int: pmic-int { 395 rockchip,pins = <6 RK_PA4 RK_FUNC_GPIO &pcfg_pull_default>; 396 }; 397 398 pwr_hold: pwr-hold { 399 rockchip,pins = <6 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>; 400 }; 401 }; 402}; 403 404&pwm1 { 405 status = "okay"; 406}; 407 408&pwm2 { 409 status = "okay"; 410}; 411 412&pwm3 { 413 status = "okay"; 414}; 415 416&saradc { 417 vref-supply = <&vcc_25>; 418 status = "okay"; 419}; 420 421&spi0 { 422 status = "okay"; 423}; 424 425&uart0 { 426 pinctrl-names = "default"; 427 pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>; 428 status = "okay"; 429}; 430 431&uart2 { 432 status = "okay"; 433}; 434 435&uart3 { 436 pinctrl-names = "default"; 437 pinctrl-0 = <&uart3_xfer>, <&uart3_cts>, <&uart3_rts>; 438 status = "okay"; 439}; 440 441&usb_host { 442 pinctrl-names = "default"; 443 pinctrl-0 = <&hub_rst>, <&sata_reset>; 444 status = "okay"; 445}; 446 447&usbphy { 448 status = "okay"; 449}; 450 451&usb_otg { 452 status = "okay"; 453}; 454 455&wdt { 456 status = "okay"; 457}; 458