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