sun7i-a20-cubietruck.dts 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. /*
  2. * Copyright 2013 Oliver Schinagl
  3. *
  4. * Oliver Schinagl <oliver@schinagl.nl>
  5. *
  6. * The code contained herein is licensed under the GNU General Public
  7. * License. You may obtain a copy of the GNU General Public License
  8. * Version 2 or later at the following locations:
  9. *
  10. * http://www.opensource.org/licenses/gpl-license.html
  11. * http://www.gnu.org/copyleft/gpl.html
  12. */
  13. /dts-v1/;
  14. /include/ "sun7i-a20.dtsi"
  15. /include/ "sunxi-common-regulators.dtsi"
  16. / {
  17. model = "Cubietech Cubietruck";
  18. compatible = "cubietech,cubietruck", "allwinner,sun7i-a20";
  19. soc@01c00000 {
  20. mmc0: mmc@01c0f000 {
  21. pinctrl-names = "default";
  22. pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
  23. vmmc-supply = <&reg_vcc3v3>;
  24. bus-width = <4>;
  25. cd-gpios = <&pio 7 1 0>; /* PH1 */
  26. cd-inverted;
  27. status = "okay";
  28. };
  29. mmc3: mmc@01c12000 {
  30. pinctrl-names = "default";
  31. pinctrl-0 = <&mmc3_pins_a>;
  32. vmmc-supply = <&reg_vmmc3>;
  33. bus-width = <4>;
  34. non-removable;
  35. status = "okay";
  36. };
  37. usbphy: phy@01c13400 {
  38. usb1_vbus-supply = <&reg_usb1_vbus>;
  39. usb2_vbus-supply = <&reg_usb2_vbus>;
  40. status = "okay";
  41. };
  42. ehci0: usb@01c14000 {
  43. status = "okay";
  44. };
  45. ohci0: usb@01c14400 {
  46. status = "okay";
  47. };
  48. ahci: sata@01c18000 {
  49. target-supply = <&reg_ahci_5v>;
  50. status = "okay";
  51. };
  52. ehci1: usb@01c1c000 {
  53. status = "okay";
  54. };
  55. ohci1: usb@01c1c400 {
  56. status = "okay";
  57. };
  58. pinctrl@01c20800 {
  59. mmc3_pins_a: mmc3@0 {
  60. /* AP6210 requires pull-up */
  61. allwinner,pull = <1>;
  62. };
  63. vmmc3_pin_cubietruck: vmmc3_pin@0 {
  64. allwinner,pins = "PH9";
  65. allwinner,function = "gpio_out";
  66. allwinner,drive = <0>;
  67. allwinner,pull = <0>;
  68. };
  69. ahci_pwr_pin_cubietruck: ahci_pwr_pin@1 {
  70. allwinner,pins = "PH12";
  71. allwinner,function = "gpio_out";
  72. allwinner,drive = <0>;
  73. allwinner,pull = <0>;
  74. };
  75. led_pins_cubietruck: led_pins@0 {
  76. allwinner,pins = "PH7", "PH11", "PH20", "PH21";
  77. allwinner,function = "gpio_out";
  78. allwinner,drive = <0>;
  79. allwinner,pull = <0>;
  80. };
  81. };
  82. pwm: pwm@01c20e00 {
  83. pinctrl-names = "default";
  84. pinctrl-0 = <&pwm0_pins_a>, <&pwm1_pins_a>;
  85. status = "okay";
  86. };
  87. ir0: ir@01c21800 {
  88. pinctrl-names = "default";
  89. pinctrl-0 = <&ir0_pins_a>;
  90. status = "okay";
  91. };
  92. uart0: serial@01c28000 {
  93. pinctrl-names = "default";
  94. pinctrl-0 = <&uart0_pins_a>;
  95. status = "okay";
  96. };
  97. i2c0: i2c@01c2ac00 {
  98. pinctrl-names = "default";
  99. pinctrl-0 = <&i2c0_pins_a>;
  100. status = "okay";
  101. axp209: pmic@34 {
  102. compatible = "x-powers,axp209";
  103. reg = <0x34>;
  104. interrupt-parent = <&nmi_intc>;
  105. interrupts = <0 8>;
  106. interrupt-controller;
  107. #interrupt-cells = <1>;
  108. };
  109. };
  110. i2c1: i2c@01c2b000 {
  111. pinctrl-names = "default";
  112. pinctrl-0 = <&i2c1_pins_a>;
  113. status = "okay";
  114. };
  115. i2c2: i2c@01c2b400 {
  116. pinctrl-names = "default";
  117. pinctrl-0 = <&i2c2_pins_a>;
  118. status = "okay";
  119. };
  120. gmac: ethernet@01c50000 {
  121. pinctrl-names = "default";
  122. pinctrl-0 = <&gmac_pins_rgmii_a>;
  123. phy = <&phy1>;
  124. phy-mode = "rgmii";
  125. status = "okay";
  126. phy1: ethernet-phy@1 {
  127. reg = <1>;
  128. };
  129. };
  130. };
  131. leds {
  132. compatible = "gpio-leds";
  133. pinctrl-names = "default";
  134. pinctrl-0 = <&led_pins_cubietruck>;
  135. blue {
  136. label = "cubietruck:blue:usr";
  137. gpios = <&pio 7 21 0>;
  138. };
  139. orange {
  140. label = "cubietruck:orange:usr";
  141. gpios = <&pio 7 20 0>;
  142. };
  143. white {
  144. label = "cubietruck:white:usr";
  145. gpios = <&pio 7 11 0>;
  146. };
  147. green {
  148. label = "cubietruck:green:usr";
  149. gpios = <&pio 7 7 0>;
  150. };
  151. };
  152. reg_ahci_5v: ahci-5v {
  153. pinctrl-0 = <&ahci_pwr_pin_cubietruck>;
  154. gpio = <&pio 7 12 0>;
  155. status = "okay";
  156. };
  157. reg_usb1_vbus: usb1-vbus {
  158. status = "okay";
  159. };
  160. reg_usb2_vbus: usb2-vbus {
  161. status = "okay";
  162. };
  163. reg_vmmc3: vmmc3 {
  164. compatible = "regulator-fixed";
  165. pinctrl-names = "default";
  166. pinctrl-0 = <&vmmc3_pin_cubietruck>;
  167. regulator-name = "vmmc3";
  168. regulator-min-microvolt = <3300000>;
  169. regulator-max-microvolt = <3300000>;
  170. enable-active-high;
  171. gpio = <&pio 7 9 0>;
  172. };
  173. };