Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[cascardo/linux.git] / arch / arm / boot / dts / sun7i-a20-cubietruck.dts
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
14 /dts-v1/;
15 /include/ "sun7i-a20.dtsi"
16 /include/ "sunxi-common-regulators.dtsi"
17
18 / {
19         model = "Cubietech Cubietruck";
20         compatible = "cubietech,cubietruck", "allwinner,sun7i-a20";
21
22         soc@01c00000 {
23                 mmc0: mmc@01c0f000 {
24                         pinctrl-names = "default";
25                         pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
26                         vmmc-supply = <&reg_vcc3v3>;
27                         bus-width = <4>;
28                         cd-gpios = <&pio 7 1 0>; /* PH1 */
29                         cd-inverted;
30                         status = "okay";
31                 };
32
33                 mmc3: mmc@01c12000 {
34                         pinctrl-names = "default";
35                         pinctrl-0 = <&mmc3_pins_a>;
36                         vmmc-supply = <&reg_vmmc3>;
37                         bus-width = <4>;
38                         non-removable;
39                         status = "okay";
40                 };
41
42                 usbphy: phy@01c13400 {
43                         usb0_vbus-supply = <&reg_usb0_vbus>;
44                         usb1_vbus-supply = <&reg_usb1_vbus>;
45                         usb2_vbus-supply = <&reg_usb2_vbus>;
46                         status = "okay";
47                 };
48
49                 ehci0: usb@01c14000 {
50                         status = "okay";
51                 };
52
53                 ohci0: usb@01c14400 {
54                         status = "okay";
55                 };
56
57                 ahci: sata@01c18000 {
58                         target-supply = <&reg_ahci_5v>;
59                         status = "okay";
60                 };
61
62                 ehci1: usb@01c1c000 {
63                         status = "okay";
64                 };
65
66                 ohci1: usb@01c1c400 {
67                         status = "okay";
68                 };
69
70                 pinctrl@01c20800 {
71                         mmc3_pins_a: mmc3@0 {
72                                 /* AP6210 requires pull-up */
73                                 allwinner,pull = <1>;
74                         };
75
76                         vmmc3_pin_cubietruck: vmmc3_pin@0 {
77                                 allwinner,pins = "PH9";
78                                 allwinner,function = "gpio_out";
79                                 allwinner,drive = <0>;
80                                 allwinner,pull = <0>;
81                         };
82
83                         ahci_pwr_pin_cubietruck: ahci_pwr_pin@1 {
84                                 allwinner,pins = "PH12";
85                                 allwinner,function = "gpio_out";
86                                 allwinner,drive = <0>;
87                                 allwinner,pull = <0>;
88                         };
89
90                         led_pins_cubietruck: led_pins@0 {
91                                 allwinner,pins = "PH7", "PH11", "PH20", "PH21";
92                                 allwinner,function = "gpio_out";
93                                 allwinner,drive = <0>;
94                                 allwinner,pull = <0>;
95                         };
96
97                         usb0_vbus_pin_a: usb0_vbus_pin@0 {
98                                 allwinner,pins = "PH17";
99                                 allwinner,function = "gpio_out";
100                                 allwinner,drive = <0>;
101                                 allwinner,pull = <0>;
102                         };
103                 };
104
105                 pwm: pwm@01c20e00 {
106                         pinctrl-names = "default";
107                         pinctrl-0 = <&pwm0_pins_a>, <&pwm1_pins_a>;
108                         status = "okay";
109                 };
110
111                 ir0: ir@01c21800 {
112                         pinctrl-names = "default";
113                         pinctrl-0 = <&ir0_pins_a>;
114                         status = "okay";
115                 };
116
117                 uart0: serial@01c28000 {
118                         pinctrl-names = "default";
119                         pinctrl-0 = <&uart0_pins_a>;
120                         status = "okay";
121                 };
122
123                 i2c0: i2c@01c2ac00 {
124                         pinctrl-names = "default";
125                         pinctrl-0 = <&i2c0_pins_a>;
126                         status = "okay";
127
128                         axp209: pmic@34 {
129                                 compatible = "x-powers,axp209";
130                                 reg = <0x34>;
131                                 interrupt-parent = <&nmi_intc>;
132                                 interrupts = <0 8>;
133
134                                 interrupt-controller;
135                                 #interrupt-cells = <1>;
136                         };
137                 };
138
139                 i2c1: i2c@01c2b000 {
140                         pinctrl-names = "default";
141                         pinctrl-0 = <&i2c1_pins_a>;
142                         status = "okay";
143                 };
144
145                 i2c2: i2c@01c2b400 {
146                         pinctrl-names = "default";
147                         pinctrl-0 = <&i2c2_pins_a>;
148                         status = "okay";
149                 };
150
151                 gmac: ethernet@01c50000 {
152                         pinctrl-names = "default";
153                         pinctrl-0 = <&gmac_pins_rgmii_a>;
154                         phy = <&phy1>;
155                         phy-mode = "rgmii";
156                         status = "okay";
157
158                         phy1: ethernet-phy@1 {
159                                 reg = <1>;
160                         };
161                 };
162         };
163
164         leds {
165                 compatible = "gpio-leds";
166                 pinctrl-names = "default";
167                 pinctrl-0 = <&led_pins_cubietruck>;
168
169                 blue {
170                         label = "cubietruck:blue:usr";
171                         gpios = <&pio 7 21 0>;
172                 };
173
174                 orange {
175                         label = "cubietruck:orange:usr";
176                         gpios = <&pio 7 20 0>;
177                 };
178
179                 white {
180                         label = "cubietruck:white:usr";
181                         gpios = <&pio 7 11 0>;
182                 };
183
184                 green {
185                         label = "cubietruck:green:usr";
186                         gpios = <&pio 7 7 0>;
187                 };
188         };
189
190         reg_ahci_5v: ahci-5v {
191                 pinctrl-0 = <&ahci_pwr_pin_cubietruck>;
192                 gpio = <&pio 7 12 0>;
193                 status = "okay";
194         };
195
196         reg_usb0_vbus: usb0-vbus {
197                 pinctrl-0 = <&usb0_vbus_pin_a>;
198                 gpio = <&pio 7 17 0>;
199                 status = "okay";
200         };
201
202         reg_usb1_vbus: usb1-vbus {
203                 status = "okay";
204         };
205
206         reg_usb2_vbus: usb2-vbus {
207                 status = "okay";
208         };
209
210         reg_vmmc3: vmmc3 {
211                 compatible = "regulator-fixed";
212                 pinctrl-names = "default";
213                 pinctrl-0 = <&vmmc3_pin_cubietruck>;
214                 regulator-name = "vmmc3";
215                 regulator-min-microvolt = <3300000>;
216                 regulator-max-microvolt = <3300000>;
217                 enable-active-high;
218                 gpio = <&pio 7 9 0>;
219         };
220 };