Merge remote-tracking branches 'regulator/topic/lp8755', 'regulator/topic/ltc3589...
[firefly-linux-kernel-4.4.55.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                         usb1_vbus-supply = <&reg_usb1_vbus>;
44                         usb2_vbus-supply = <&reg_usb2_vbus>;
45                         status = "okay";
46                 };
47
48                 ehci0: usb@01c14000 {
49                         status = "okay";
50                 };
51
52                 ohci0: usb@01c14400 {
53                         status = "okay";
54                 };
55
56                 ahci: sata@01c18000 {
57                         target-supply = <&reg_ahci_5v>;
58                         status = "okay";
59                 };
60
61                 ehci1: usb@01c1c000 {
62                         status = "okay";
63                 };
64
65                 ohci1: usb@01c1c400 {
66                         status = "okay";
67                 };
68
69                 pinctrl@01c20800 {
70                         mmc3_pins_a: mmc3@0 {
71                                 /* AP6210 requires pull-up */
72                                 allwinner,pull = <1>;
73                         };
74
75                         vmmc3_pin_cubietruck: vmmc3_pin@0 {
76                                 allwinner,pins = "PH9";
77                                 allwinner,function = "gpio_out";
78                                 allwinner,drive = <0>;
79                                 allwinner,pull = <0>;
80                         };
81
82                         ahci_pwr_pin_cubietruck: ahci_pwr_pin@1 {
83                                 allwinner,pins = "PH12";
84                                 allwinner,function = "gpio_out";
85                                 allwinner,drive = <0>;
86                                 allwinner,pull = <0>;
87                         };
88
89                         led_pins_cubietruck: led_pins@0 {
90                                 allwinner,pins = "PH7", "PH11", "PH20", "PH21";
91                                 allwinner,function = "gpio_out";
92                                 allwinner,drive = <0>;
93                                 allwinner,pull = <0>;
94                         };
95                 };
96
97                 pwm: pwm@01c20e00 {
98                         pinctrl-names = "default";
99                         pinctrl-0 = <&pwm0_pins_a>, <&pwm1_pins_a>;
100                         status = "okay";
101                 };
102
103                 uart0: serial@01c28000 {
104                         pinctrl-names = "default";
105                         pinctrl-0 = <&uart0_pins_a>;
106                         status = "okay";
107                 };
108
109                 i2c0: i2c@01c2ac00 {
110                         pinctrl-names = "default";
111                         pinctrl-0 = <&i2c0_pins_a>;
112                         status = "okay";
113                 };
114
115                 i2c1: i2c@01c2b000 {
116                         pinctrl-names = "default";
117                         pinctrl-0 = <&i2c1_pins_a>;
118                         status = "okay";
119                 };
120
121                 i2c2: i2c@01c2b400 {
122                         pinctrl-names = "default";
123                         pinctrl-0 = <&i2c2_pins_a>;
124                         status = "okay";
125                 };
126
127                 gmac: ethernet@01c50000 {
128                         pinctrl-names = "default";
129                         pinctrl-0 = <&gmac_pins_rgmii_a>;
130                         phy = <&phy1>;
131                         phy-mode = "rgmii";
132                         status = "okay";
133
134                         phy1: ethernet-phy@1 {
135                                 reg = <1>;
136                         };
137                 };
138         };
139
140         leds {
141                 compatible = "gpio-leds";
142                 pinctrl-names = "default";
143                 pinctrl-0 = <&led_pins_cubietruck>;
144
145                 blue {
146                         label = "cubietruck:blue:usr";
147                         gpios = <&pio 7 21 0>;
148                 };
149
150                 orange {
151                         label = "cubietruck:orange:usr";
152                         gpios = <&pio 7 20 0>;
153                 };
154
155                 white {
156                         label = "cubietruck:white:usr";
157                         gpios = <&pio 7 11 0>;
158                 };
159
160                 green {
161                         label = "cubietruck:green:usr";
162                         gpios = <&pio 7 7 0>;
163                 };
164         };
165
166         reg_ahci_5v: ahci-5v {
167                 pinctrl-0 = <&ahci_pwr_pin_cubietruck>;
168                 gpio = <&pio 7 12 0>;
169                 status = "okay";
170         };
171
172         reg_usb1_vbus: usb1-vbus {
173                 status = "okay";
174         };
175
176         reg_usb2_vbus: usb2-vbus {
177                 status = "okay";
178         };
179
180         reg_vmmc3: vmmc3 {
181                 compatible = "regulator-fixed";
182                 pinctrl-names = "default";
183                 pinctrl-0 = <&vmmc3_pin_cubietruck>;
184                 regulator-name = "vmmc3";
185                 regulator-min-microvolt = <3300000>;
186                 regulator-max-microvolt = <3300000>;
187                 enable-active-high;
188                 gpio = <&pio 7 9 0>;
189         };
190 };