Merge branch 'for-3.17/drivers' of git://git.kernel.dk/linux-block
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / sun7i-a20-pcduino3.dts
1 /*
2  * Copyright 2014 Zoltan HERPAI
3  * Zoltan HERPAI <wigyori@uid0.hu>
4  *
5  * The code contained herein is licensed under the GNU General Public
6  * License. You may obtain a copy of the GNU General Public License
7  * Version 2 or later at the following locations:
8  *
9  * http://www.opensource.org/licenses/gpl-license.html
10  * http://www.gnu.org/copyleft/gpl.html
11  */
12
13 /dts-v1/;
14 /include/ "sun7i-a20.dtsi"
15 /include/ "sunxi-common-regulators.dtsi"
16 #include <dt-bindings/gpio/gpio.h>
17 #include <dt-bindings/input/input.h>
18
19 / {
20         model = "LinkSprite pcDuino3";
21         compatible = "linksprite,pcduino3", "allwinner,sun7i-a20";
22
23         soc@01c00000 {
24                 mmc0: mmc@01c0f000 {
25                         pinctrl-names = "default";
26                         pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
27                         vmmc-supply = <&reg_vcc3v3>;
28                         bus-width = <4>;
29                         cd-gpios = <&pio 7 1 0>; /* PH1 */
30                         cd-inverted;
31                         status = "okay";
32                 };
33
34                 usbphy: phy@01c13400 {
35                         usb1_vbus-supply = <&reg_usb1_vbus>;
36                         usb2_vbus-supply = <&reg_usb2_vbus>;
37                         status = "okay";
38                 };
39
40                 ehci0: usb@01c14000 {
41                         status = "okay";
42                 };
43
44                 ohci0: usb@01c14400 {
45                         status = "okay";
46                 };
47
48                 ahci: sata@01c18000 {
49                         target-supply = <&reg_ahci_5v>;
50                         status = "okay";
51                 };
52
53                 ehci1: usb@01c1c000 {
54                         status = "okay";
55                 };
56
57                 ohci1: usb@01c1c400 {
58                         status = "okay";
59                 };
60
61                 pinctrl@01c20800 {
62                         ahci_pwr_pin_a: ahci_pwr_pin@0 {
63                                 allwinner,pins = "PH2";
64                         };
65
66                         led_pins_pcduino3: led_pins@0 {
67                                 allwinner,pins = "PH15", "PH16";
68                                 allwinner,function = "gpio_out";
69                                 allwinner,drive = <0>;
70                                 allwinner,pull = <0>;
71                         };
72
73                         key_pins_pcduino3: key_pins@0 {
74                                 allwinner,pins = "PH17", "PH18", "PH19";
75                                 allwinner,function = "gpio_in";
76                                 allwinner,drive = <0>;
77                                 allwinner,pull = <0>;
78                         };
79                 };
80
81                 ir0: ir@01c21800 {
82                         pinctrl-names = "default";
83                         pinctrl-0 = <&ir0_pins_a>;
84                         status = "okay";
85                 };
86
87                 uart0: serial@01c28000 {
88                         pinctrl-names = "default";
89                         pinctrl-0 = <&uart0_pins_a>;
90                         status = "okay";
91                 };
92
93                 i2c0: i2c@01c2ac00 {
94                         pinctrl-names = "default";
95                         pinctrl-0 = <&i2c0_pins_a>;
96                         status = "okay";
97
98                         axp209: pmic@34 {
99                                 compatible = "x-powers,axp209";
100                                 reg = <0x34>;
101                                 interrupt-parent = <&nmi_intc>;
102                                 interrupts = <0 8>;
103
104                                 interrupt-controller;
105                                 #interrupt-cells = <1>;
106                         };
107                 };
108
109                 gmac: ethernet@01c50000 {
110                         pinctrl-names = "default";
111                         pinctrl-0 = <&gmac_pins_mii_a>;
112                         phy = <&phy1>;
113                         phy-mode = "mii";
114                         status = "okay";
115
116                         phy1: ethernet-phy@1 {
117                                 reg = <1>;
118                         };
119                 };
120         };
121
122         leds {
123                 compatible = "gpio-leds";
124                 pinctrl-names = "default";
125                 pinctrl-0 = <&led_pins_pcduino3>;
126
127                 tx {
128                         label = "pcduino3:green:tx";
129                         gpios = <&pio 7 15 GPIO_ACTIVE_LOW>;
130                 };
131
132                 rx {
133                         label = "pcduino3:green:rx";
134                         gpios = <&pio 7 16 GPIO_ACTIVE_LOW>;
135                 };
136         };
137
138         gpio_keys {
139                 compatible = "gpio-keys";
140                 pinctrl-names = "default";
141                 pinctrl-0 = <&key_pins_pcduino3>;
142                 #address-cells = <1>;
143                 #size-cells = <0>;
144                 button@0 {
145                         label = "Key Back";
146                         linux,code = <KEY_BACK>;
147                         gpios = <&pio 7 17 GPIO_ACTIVE_LOW>;
148                 };
149                 button@1 {
150                         label = "Key Home";
151                         linux,code = <KEY_HOME>;
152                         gpios = <&pio 7 18 GPIO_ACTIVE_LOW>;
153                 };
154                 button@2 {
155                         label = "Key Menu";
156                         linux,code = <KEY_MENU>;
157                         gpios = <&pio 7 19 GPIO_ACTIVE_LOW>;
158                 };
159         };
160
161         reg_usb1_vbus: usb1-vbus {
162                 status = "okay";
163         };
164
165         reg_usb2_vbus: usb2-vbus {
166                 status = "okay";
167         };
168
169         reg_ahci_5v: ahci-5v {
170                 gpio = <&pio 7 2 0>;
171                 status = "okay";
172         };
173 };