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