rk3066a-rayeager.dts 9.0 KB

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