diff options
author | Wills Wang <wills.wang.open@gmail.com> | 2014-08-19 03:33:01 -0400 |
---|---|---|
committer | Maxime Ripard <maxime.ripard@free-electrons.com> | 2014-08-19 07:19:35 -0400 |
commit | d95d6d47138ec1a3ab0a528470f98f8082f389d0 (patch) | |
tree | f8bd1c79bd64ac60b151ad364fcdadca262add39 | |
parent | 7b5bace34fe1ab412fb44ad1aaeaf9081b898d0a (diff) |
ARM: dts: sun7i: Add Merrii A20 Hummingbird board
This adds support for the A20 Hummingbird:
http://www.merrii.com/en/pla_d.asp?id=171
This patch enable most on-board peripherals supported on current kernel,
such as uart, i2c, spi, pwm, ohci/ehci, gmac and mmc.
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Wills Wang <wills.wang.open@gmail.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
-rw-r--r-- | arch/arm/boot/dts/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/sun7i-a20-hummingbird.dts | 236 |
2 files changed, 237 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index b8c5cd3ddeb9..c72f6537b47a 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -416,6 +416,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \ | |||
416 | dtb-$(CONFIG_MACH_SUN7I) += \ | 416 | dtb-$(CONFIG_MACH_SUN7I) += \ |
417 | sun7i-a20-cubieboard2.dtb \ | 417 | sun7i-a20-cubieboard2.dtb \ |
418 | sun7i-a20-cubietruck.dtb \ | 418 | sun7i-a20-cubietruck.dtb \ |
419 | sun7i-a20-hummingbird.dtb \ | ||
419 | sun7i-a20-i12-tvbox.dtb \ | 420 | sun7i-a20-i12-tvbox.dtb \ |
420 | sun7i-a20-olinuxino-micro.dtb \ | 421 | sun7i-a20-olinuxino-micro.dtb \ |
421 | sun7i-a20-pcduino3.dtb | 422 | sun7i-a20-pcduino3.dtb |
diff --git a/arch/arm/boot/dts/sun7i-a20-hummingbird.dts b/arch/arm/boot/dts/sun7i-a20-hummingbird.dts new file mode 100644 index 000000000000..0e4bfa3b2b85 --- /dev/null +++ b/arch/arm/boot/dts/sun7i-a20-hummingbird.dts | |||
@@ -0,0 +1,236 @@ | |||
1 | /* | ||
2 | * Copyright 2013 Wills Wang | ||
3 | * | ||
4 | * Wills Wang <wills.wang.open@gmail.com> | ||
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 = "Merrii A20 Hummingbird"; | ||
20 | compatible = "merrii,a20-hummingbird", "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 = <®_vcc3v0>; | ||
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 = <®_mmc3_vdd>; | ||
37 | bus-width = <4>; | ||
38 | non-removable; | ||
39 | status = "okay"; | ||
40 | }; | ||
41 | |||
42 | usbphy: phy@01c13400 { | ||
43 | usb1_vbus-supply = <®_usb1_vbus>; | ||
44 | usb2_vbus-supply = <®_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 = <®_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 | pio: pinctrl@01c20800 { | ||
70 | ahci_pwr_pin_a20_hummingbird: ahci_pwr_pin@0 { | ||
71 | allwinner,pins = "PH15"; | ||
72 | allwinner,function = "gpio_out"; | ||
73 | allwinner,drive = <0>; | ||
74 | allwinner,pull = <0>; | ||
75 | }; | ||
76 | |||
77 | usb1_vbus_pin_a20_hummingbird: usb1_vbus_pin@0 { | ||
78 | allwinner,pins = "PH2"; | ||
79 | allwinner,function = "gpio_out"; | ||
80 | allwinner,drive = <0>; | ||
81 | allwinner,pull = <0>; | ||
82 | }; | ||
83 | |||
84 | mmc3_vdd_pin_a20_hummingbird: mmc3_vdd_pin@0 { | ||
85 | allwinner,pins = "PH9"; | ||
86 | allwinner,function = "gpio_out"; | ||
87 | allwinner,drive = <0>; | ||
88 | allwinner,pull = <0>; | ||
89 | }; | ||
90 | |||
91 | gmac_vdd_pin_a20_hummingbird: gmac_vdd_pin@0 { | ||
92 | allwinner,pins = "PH16"; | ||
93 | allwinner,function = "gpio_out"; | ||
94 | allwinner,drive = <0>; | ||
95 | allwinner,pull = <0>; | ||
96 | }; | ||
97 | }; | ||
98 | |||
99 | pwm: pwm@01c20e00 { | ||
100 | pinctrl-names = "default"; | ||
101 | pinctrl-0 = <&pwm0_pins_a>; | ||
102 | status = "okay"; | ||
103 | }; | ||
104 | |||
105 | ir0: ir@01c21800 { | ||
106 | pinctrl-names = "default"; | ||
107 | pinctrl-0 = <&ir0_pins_a>; | ||
108 | status = "okay"; | ||
109 | }; | ||
110 | |||
111 | uart0: serial@01c28000 { | ||
112 | pinctrl-names = "default"; | ||
113 | pinctrl-0 = <&uart0_pins_a>; | ||
114 | status = "okay"; | ||
115 | }; | ||
116 | |||
117 | uart2: serial@01c28800 { | ||
118 | pinctrl-names = "default"; | ||
119 | pinctrl-0 = <&uart2_pins_a>; | ||
120 | status = "okay"; | ||
121 | }; | ||
122 | |||
123 | uart3: serial@01c28c00 { | ||
124 | pinctrl-names = "default"; | ||
125 | pinctrl-0 = <&uart3_pins_a>; | ||
126 | status = "okay"; | ||
127 | }; | ||
128 | |||
129 | uart4: serial@01c29000 { | ||
130 | pinctrl-names = "default"; | ||
131 | pinctrl-0 = <&uart4_pins_a>; | ||
132 | status = "okay"; | ||
133 | }; | ||
134 | |||
135 | uart5: serial@01c29400 { | ||
136 | pinctrl-names = "default"; | ||
137 | pinctrl-0 = <&uart5_pins_a>; | ||
138 | status = "okay"; | ||
139 | }; | ||
140 | |||
141 | i2c0: i2c@01c2ac00 { | ||
142 | pinctrl-names = "default"; | ||
143 | pinctrl-0 = <&i2c0_pins_a>; | ||
144 | status = "okay"; | ||
145 | |||
146 | axp209: pmic@34 { | ||
147 | compatible = "x-powers,axp209"; | ||
148 | reg = <0x34>; | ||
149 | interrupt-parent = <&nmi_intc>; | ||
150 | interrupts = <0 8>; | ||
151 | interrupt-controller; | ||
152 | #interrupt-cells = <1>; | ||
153 | }; | ||
154 | }; | ||
155 | |||
156 | i2c1: i2c@01c2b000 { | ||
157 | pinctrl-names = "default"; | ||
158 | pinctrl-0 = <&i2c1_pins_a>; | ||
159 | status = "okay"; | ||
160 | }; | ||
161 | |||
162 | i2c2: i2c@01c2b400 { | ||
163 | pinctrl-names = "default"; | ||
164 | pinctrl-0 = <&i2c2_pins_a>; | ||
165 | status = "okay"; | ||
166 | }; | ||
167 | |||
168 | i2c3: i2c@01c2b800 { | ||
169 | pinctrl-names = "default"; | ||
170 | pinctrl-0 = <&i2c3_pins_a>; | ||
171 | status = "okay"; | ||
172 | }; | ||
173 | |||
174 | spi2: spi@01c17000 { | ||
175 | pinctrl-names = "default"; | ||
176 | pinctrl-0 = <&spi2_pins_b>; | ||
177 | status = "okay"; | ||
178 | }; | ||
179 | |||
180 | gmac: ethernet@01c50000 { | ||
181 | pinctrl-names = "default"; | ||
182 | pinctrl-0 = <&gmac_pins_rgmii_a>; | ||
183 | phy = <&phy1>; | ||
184 | phy-mode = "rgmii"; | ||
185 | phy-supply = <®_gmac_vdd>; | ||
186 | /* phy reset config */ | ||
187 | snps,reset-gpio = <&pio 0 17 0>; /* PA17 */ | ||
188 | snps,reset-active-low; | ||
189 | /* wait 1s after reset, otherwise fail to read phy id */ | ||
190 | snps,reset-delays-us = <0 10000 1000000>; | ||
191 | status = "okay"; | ||
192 | |||
193 | phy1: ethernet-phy@1 { | ||
194 | reg = <1>; | ||
195 | }; | ||
196 | }; | ||
197 | }; | ||
198 | |||
199 | reg_ahci_5v: ahci-5v { | ||
200 | pinctrl-0 = <&ahci_pwr_pin_a20_hummingbird>; | ||
201 | gpio = <&pio 7 15 0>; /* PH15 */ | ||
202 | status = "okay"; | ||
203 | }; | ||
204 | |||
205 | reg_usb1_vbus: usb1-vbus { | ||
206 | pinctrl-0 = <&usb1_vbus_pin_a20_hummingbird>; | ||
207 | gpio = <&pio 7 2 0>; /* PH2 */ | ||
208 | status = "okay"; | ||
209 | }; | ||
210 | |||
211 | reg_usb2_vbus: usb2-vbus { | ||
212 | status = "okay"; | ||
213 | }; | ||
214 | |||
215 | reg_mmc3_vdd: mmc3_vdd { | ||
216 | compatible = "regulator-fixed"; | ||
217 | pinctrl-names = "default"; | ||
218 | pinctrl-0 = <&mmc3_vdd_pin_a20_hummingbird>; | ||
219 | regulator-name = "mmc3_vdd"; | ||
220 | regulator-min-microvolt = <3000000>; | ||
221 | regulator-max-microvolt = <3000000>; | ||
222 | enable-active-high; | ||
223 | gpio = <&pio 7 9 0>; /* PH9 */ | ||
224 | }; | ||
225 | |||
226 | reg_gmac_vdd: gmac_vdd { | ||
227 | compatible = "regulator-fixed"; | ||
228 | pinctrl-names = "default"; | ||
229 | pinctrl-0 = <&gmac_vdd_pin_a20_hummingbird>; | ||
230 | regulator-name = "gmac_vdd"; | ||
231 | regulator-min-microvolt = <3000000>; | ||
232 | regulator-max-microvolt = <3000000>; | ||
233 | enable-active-high; | ||
234 | gpio = <&pio 7 16 0>; /* PH16 */ | ||
235 | }; | ||
236 | }; | ||