aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/boot/dts/Makefile3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-pcduino3.dts173
2 files changed, 175 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 774a14b91151..796fea874183 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -379,7 +379,8 @@ dtb-$(CONFIG_MACH_SUN7I) += \
379 sun7i-a20-cubieboard2.dtb \ 379 sun7i-a20-cubieboard2.dtb \
380 sun7i-a20-cubietruck.dtb \ 380 sun7i-a20-cubietruck.dtb \
381 sun7i-a20-i12-tvbox.dtb \ 381 sun7i-a20-i12-tvbox.dtb \
382 sun7i-a20-olinuxino-micro.dtb 382 sun7i-a20-olinuxino-micro.dtb \
383 sun7i-a20-pcduino3.dtb
383dtb-$(CONFIG_MACH_SUN8I) += \ 384dtb-$(CONFIG_MACH_SUN8I) += \
384 sun8i-a23-ippo-q8h-v5.dtb 385 sun8i-a23-ippo-q8h-v5.dtb
385dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ 386dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
diff --git a/arch/arm/boot/dts/sun7i-a20-pcduino3.dts b/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
new file mode 100644
index 000000000000..046dfc0d45d8
--- /dev/null
+++ b/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
@@ -0,0 +1,173 @@
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};