aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaxime Ripard <maxime.ripard@free-electrons.com>2014-07-15 13:15:47 -0400
committerMaxime Ripard <maxime.ripard@free-electrons.com>2014-07-18 16:40:37 -0400
commitc220aec2bb793bf5a1fb451fd3e4db87654c5ba5 (patch)
tree81f174094b748064446ffab6db94aeec6befdf14
parente5073fde6b3f6aafec867cfa9f19597f57349a5d (diff)
ARM: dts: sun6i: Add Merrii A31 Hummingbird support
This adds support for the A31 Hummingbird: http://www.merrii.com/en/pla_d.asp?id=172 The Merrii A31 Hummingbird is a development board based on the Allwinner A31 SoC with multiple USB ports through a USB hub chip, a uSD slot, a 10/100/1000M ethernet port, an AP6210 WiFi/BT chip, TV-in, HDMI, VGA, audio in/out ports, and LCD/CSI headers. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> [wens@csie.org: enable usbphy, ehci0, ohci0 for on-board usb hub; add pcf8563 rtc node; add comments for i2c0 and mmc0 pull-ups; correct ethernet phy address to 0x01; drop uart2 (BT chip has no power) and uart3 (no device); use proper commit message] Signed-off-by: Chen-Yu Tsai <wens@csie.org>
-rw-r--r--arch/arm/boot/dts/Makefile1
-rw-r--r--arch/arm/boot/dts/sun6i-a31-hummingbird.dts119
2 files changed, 120 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index c3ee9fba892b..8be3687120d2 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -375,6 +375,7 @@ dtb-$(CONFIG_MACH_SUN5I) += \
375dtb-$(CONFIG_MACH_SUN6I) += \ 375dtb-$(CONFIG_MACH_SUN6I) += \
376 sun6i-a31-app4-evb1.dtb \ 376 sun6i-a31-app4-evb1.dtb \
377 sun6i-a31-colombus.dtb \ 377 sun6i-a31-colombus.dtb \
378 sun6i-a31-hummingbird.dtb \
378 sun6i-a31-m9.dtb 379 sun6i-a31-m9.dtb
379dtb-$(CONFIG_MACH_SUN7I) += \ 380dtb-$(CONFIG_MACH_SUN7I) += \
380 sun7i-a20-cubieboard2.dtb \ 381 sun7i-a20-cubieboard2.dtb \
diff --git a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
new file mode 100644
index 000000000000..f142065b3c1f
--- /dev/null
+++ b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
@@ -0,0 +1,119 @@
1/*
2 * Copyright 2014 Maxime Ripard
3 *
4 * Maxime Ripard <maxime.ripard@free-electrons.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/ "sun6i-a31.dtsi"
16/include/ "sunxi-common-regulators.dtsi"
17
18/ {
19 model = "Merrii A31 Hummingbird";
20 compatible = "merrii,a31-hummingbird", "allwinner,sun6i-a31";
21
22 chosen {
23 bootargs = "earlyprintk console=ttyS0,115200";
24 };
25
26 soc@01c00000 {
27 mmc0: mmc@01c0f000 {
28 pinctrl-names = "default";
29 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_hummingbird>;
30 vmmc-supply = <&reg_vcc3v0>;
31 bus-width = <4>;
32 cd-gpios = <&pio 0 8 0>; /* PA8 */
33 cd-inverted;
34 status = "okay";
35 };
36
37 usbphy: phy@01c19400 {
38 usb1_vbus-supply = <&reg_usb1_vbus>;
39 status = "okay";
40 };
41
42 ehci0: usb@01c1a000 {
43 status = "okay";
44 };
45
46 ohci0: usb@01c1a400 {
47 status = "okay";
48 };
49
50 pio: pinctrl@01c20800 {
51 mmc0_pins_a: mmc0@0 {
52 /* external pull-ups missing for some pins */
53 allwinner,pull = <1>;
54 };
55
56 mmc0_cd_pin_hummingbird: mmc0_cd_pin@0 {
57 allwinner,pins = "PA8";
58 allwinner,function = "gpio_in";
59 allwinner,drive = <0>;
60 allwinner,pull = <1>;
61 };
62
63 usb1_vbus_pin_a: usb1_vbus_pin@0 {
64 allwinner,pins = "PH24";
65 allwinner,function = "gpio_out";
66 allwinner,drive = <0>;
67 allwinner,pull = <0>;
68 };
69 };
70
71 uart0: serial@01c28000 {
72 pinctrl-names = "default";
73 pinctrl-0 = <&uart0_pins_a>;
74 status = "okay";
75 };
76
77 i2c0: i2c@01c2ac00 {
78 pinctrl-names = "default";
79 pinctrl-0 = <&i2c0_pins_a>;
80 /* pull-ups and devices require AXP221 DLDO3 */
81 status = "failed";
82 };
83
84 i2c1: i2c@01c2b000 {
85 pinctrl-names = "default";
86 pinctrl-0 = <&i2c1_pins_a>;
87 status = "okay";
88 };
89
90 i2c2: i2c@01c2b400 {
91 pinctrl-names = "default";
92 pinctrl-0 = <&i2c2_pins_a>;
93 status = "okay";
94
95 pcf8563: rtc@51 {
96 compatible = "nxp,pcf8563";
97 reg = <0x51>;
98 };
99 };
100
101 gmac: ethernet@01c30000 {
102 pinctrl-names = "default";
103 pinctrl-0 = <&gmac_pins_rgmii_a>;
104 phy = <&phy1>;
105 phy-mode = "rgmii";
106 status = "okay";
107
108 phy1: ethernet-phy@1 {
109 reg = <1>;
110 };
111 };
112 };
113
114 reg_usb1_vbus: usb1-vbus {
115 pinctrl-0 = <&usb1_vbus_pin_a>;
116 gpio = <&pio 7 24 0>; /* PH24 */
117 status = "okay";
118 };
119};