rk3066a-marsboard.dts 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2014 Romain Perier <[email protected]>
  4. */
  5. /dts-v1/;
  6. #include "rk3066a.dtsi"
  7. / {
  8. model = "MarsBoard RK3066";
  9. compatible = "haoyu,marsboard-rk3066", "rockchip,rk3066a";
  10. aliases {
  11. mmc0 = &mmc0;
  12. };
  13. memory@60000000 {
  14. device_type = "memory";
  15. reg = <0x60000000 0x40000000>;
  16. };
  17. vdd_log: vdd-log {
  18. compatible = "pwm-regulator";
  19. pwms = <&pwm3 0 1000>;
  20. regulator-name = "vdd_log";
  21. regulator-min-microvolt = <1200000>;
  22. regulator-max-microvolt = <1200000>;
  23. regulator-always-on;
  24. voltage-table = <1000000 100>,
  25. <1200000 42>;
  26. status = "okay";
  27. };
  28. vcc_sd0: sdmmc-regulator {
  29. compatible = "regulator-fixed";
  30. regulator-name = "sdmmc-supply";
  31. regulator-min-microvolt = <3000000>;
  32. regulator-max-microvolt = <3000000>;
  33. gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>;
  34. startup-delay-us = <100000>;
  35. vin-supply = <&vcc_io>;
  36. };
  37. vsys: vsys-regulator {
  38. compatible = "regulator-fixed";
  39. regulator-name = "vsys";
  40. regulator-min-microvolt = <5000000>;
  41. regulator-max-microvolt = <5000000>;
  42. regulator-boot-on;
  43. };
  44. };
  45. &cpu0 {
  46. cpu-supply = <&vdd_arm>;
  47. };
  48. &cpu1 {
  49. cpu-supply = <&vdd_arm>;
  50. };
  51. &i2c1 {
  52. status = "okay";
  53. clock-frequency = <400000>;
  54. tps: tps@2d {
  55. reg = <0x2d>;
  56. interrupt-parent = <&gpio6>;
  57. interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
  58. vcc1-supply = <&vsys>;
  59. vcc2-supply = <&vsys>;
  60. vcc3-supply = <&vsys>;
  61. vcc4-supply = <&vsys>;
  62. vcc5-supply = <&vcc_io>;
  63. vcc6-supply = <&vcc_io>;
  64. vcc7-supply = <&vsys>;
  65. vccio-supply = <&vsys>;
  66. regulators {
  67. vcc_rtc: regulator@0 {
  68. regulator-name = "vcc_rtc";
  69. regulator-always-on;
  70. };
  71. vcc_io: regulator@1 {
  72. regulator-name = "vcc_io";
  73. regulator-always-on;
  74. };
  75. vdd_arm: regulator@2 {
  76. regulator-name = "vdd_arm";
  77. regulator-min-microvolt = <600000>;
  78. regulator-max-microvolt = <1500000>;
  79. regulator-boot-on;
  80. regulator-always-on;
  81. };
  82. vcc_ddr: regulator@3 {
  83. regulator-name = "vcc_ddr";
  84. regulator-min-microvolt = <600000>;
  85. regulator-max-microvolt = <1500000>;
  86. regulator-boot-on;
  87. regulator-always-on;
  88. };
  89. vcc18_cif: regulator@5 {
  90. regulator-name = "vcc18_cif";
  91. regulator-always-on;
  92. };
  93. vdd_11: regulator@6 {
  94. regulator-name = "vdd_11";
  95. regulator-always-on;
  96. };
  97. vcc_25: regulator@7 {
  98. regulator-name = "vcc_25";
  99. regulator-always-on;
  100. };
  101. vcc_18: regulator@8 {
  102. regulator-name = "vcc_18";
  103. regulator-always-on;
  104. };
  105. vcc25_hdmi: regulator@9 {
  106. regulator-name = "vcc25_hdmi";
  107. regulator-always-on;
  108. };
  109. vcca_33: regulator@10 {
  110. regulator-name = "vcca_33";
  111. regulator-always-on;
  112. };
  113. vcc_rmii: regulator@11 {
  114. regulator-name = "vcc_rmii";
  115. };
  116. vcc28_cif: regulator@12 {
  117. regulator-name = "vcc28_cif";
  118. regulator-always-on;
  119. };
  120. };
  121. };
  122. };
  123. /* must be included after &tps gets defined */
  124. #include "tps65910.dtsi"
  125. &emac {
  126. phy = <&phy0>;
  127. phy-supply = <&vcc_rmii>;
  128. pinctrl-names = "default";
  129. pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>;
  130. status = "okay";
  131. mdio {
  132. #address-cells = <1>;
  133. #size-cells = <0>;
  134. phy0: ethernet-phy@0 {
  135. reg = <0>;
  136. interrupt-parent = <&gpio1>;
  137. interrupts = <RK_PD2 IRQ_TYPE_LEVEL_LOW>;
  138. };
  139. };
  140. };
  141. &mmc0 {
  142. status = "okay";
  143. pinctrl-names = "default";
  144. pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
  145. vmmc-supply = <&vcc_sd0>;
  146. };
  147. &pinctrl {
  148. lan8720a {
  149. phy_int: phy-int {
  150. rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
  151. };
  152. };
  153. };
  154. &pwm3 {
  155. status = "okay";
  156. };
  157. &uart0 {
  158. status = "okay";
  159. };
  160. &uart1 {
  161. status = "okay";
  162. };
  163. &uart2 {
  164. status = "okay";
  165. };
  166. &uart3 {
  167. status = "okay";
  168. };
  169. &usbphy {
  170. status = "okay";
  171. };
  172. &usb_host {
  173. status = "okay";
  174. };
  175. &usb_otg {
  176. status = "okay";
  177. };
  178. &wdt {
  179. status = "okay";
  180. };