Skip to content

Commit 054e52f

Browse files
Icenowymripard
authored andcommitted
ARM: dts: sunxi: add support for Orange Pi Zero board
Orange Pi Zero is a board that came with the new Allwinner H2+ SoC and a SDIO Wi-Fi chip by Allwinner (XR819). Add a device tree file for it. Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
1 parent b67379a commit 054e52f

File tree

2 files changed

+160
-0
lines changed

2 files changed

+160
-0
lines changed

arch/arm/boot/dts/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -844,6 +844,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
844844
sun8i-a33-sinlinx-sina33.dtb \
845845
sun8i-a83t-allwinner-h8homlet-v2.dtb \
846846
sun8i-a83t-cubietruck-plus.dtb \
847+
sun8i-h2-plus-orangepi-zero.dtb \
847848
sun8i-h3-bananapi-m2-plus.dtb \
848849
sun8i-h3-nanopi-neo.dtb \
849850
sun8i-h3-orangepi-2.dtb \
Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
/*
2+
* Copyright (C) 2016 Icenowy Zheng <icenowy@aosc.xyz>
3+
*
4+
* Based on sun8i-h3-orangepi-one.dts, which is:
5+
* Copyright (C) 2016 Hans de Goede <hdegoede@redhat.com>
6+
*
7+
* This file is dual-licensed: you can use it either under the terms
8+
* of the GPL or the X11 license, at your option. Note that this dual
9+
* licensing only applies to this file, and not this project as a
10+
* whole.
11+
*
12+
* a) This file is free software; you can redistribute it and/or
13+
* modify it under the terms of the GNU General Public License as
14+
* published by the Free Software Foundation; either version 2 of the
15+
* License, or (at your option) any later version.
16+
*
17+
* This file is distributed in the hope that it will be useful,
18+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
19+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20+
* GNU General Public License for more details.
21+
*
22+
* Or, alternatively,
23+
*
24+
* b) Permission is hereby granted, free of charge, to any person
25+
* obtaining a copy of this software and associated documentation
26+
* files (the "Software"), to deal in the Software without
27+
* restriction, including without limitation the rights to use,
28+
* copy, modify, merge, publish, distribute, sublicense, and/or
29+
* sell copies of the Software, and to permit persons to whom the
30+
* Software is furnished to do so, subject to the following
31+
* conditions:
32+
*
33+
* The above copyright notice and this permission notice shall be
34+
* included in all copies or substantial portions of the Software.
35+
*
36+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
38+
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
39+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
40+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
41+
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
42+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
43+
* OTHER DEALINGS IN THE SOFTWARE.
44+
*/
45+
46+
/dts-v1/;
47+
#include "sun8i-h3.dtsi"
48+
#include "sunxi-common-regulators.dtsi"
49+
50+
#include <dt-bindings/gpio/gpio.h>
51+
#include <dt-bindings/input/input.h>
52+
#include <dt-bindings/pinctrl/sun4i-a10.h>
53+
54+
/ {
55+
model = "Xunlong Orange Pi Zero";
56+
compatible = "xunlong,orangepi-zero", "allwinner,sun8i-h2-plus";
57+
58+
aliases {
59+
serial0 = &uart0;
60+
/* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */
61+
ethernet1 = &xr819;
62+
};
63+
64+
chosen {
65+
stdout-path = "serial0:115200n8";
66+
};
67+
68+
leds {
69+
compatible = "gpio-leds";
70+
71+
pwr_led {
72+
label = "orangepi:green:pwr";
73+
gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
74+
default-state = "on";
75+
};
76+
77+
status_led {
78+
label = "orangepi:red:status";
79+
gpios = <&pio 0 17 GPIO_ACTIVE_HIGH>;
80+
};
81+
};
82+
83+
reg_vcc_wifi: reg_vcc_wifi {
84+
compatible = "regulator-fixed";
85+
regulator-min-microvolt = <3300000>;
86+
regulator-max-microvolt = <3300000>;
87+
regulator-name = "vcc-wifi";
88+
enable-active-high;
89+
gpio = <&pio 0 20 GPIO_ACTIVE_HIGH>;
90+
};
91+
92+
wifi_pwrseq: wifi_pwrseq {
93+
compatible = "mmc-pwrseq-simple";
94+
reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>;
95+
};
96+
};
97+
98+
&ehci1 {
99+
status = "okay";
100+
};
101+
102+
&mmc0 {
103+
pinctrl-names = "default";
104+
pinctrl-0 = <&mmc0_pins_a>;
105+
vmmc-supply = <&reg_vcc3v3>;
106+
bus-width = <4>;
107+
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
108+
cd-inverted;
109+
status = "okay";
110+
};
111+
112+
&mmc1 {
113+
pinctrl-names = "default";
114+
pinctrl-0 = <&mmc1_pins_a>;
115+
vmmc-supply = <&reg_vcc_wifi>;
116+
mmc-pwrseq = <&wifi_pwrseq>;
117+
bus-width = <4>;
118+
non-removable;
119+
status = "okay";
120+
121+
/*
122+
* Explicitly define the sdio device, so that we can add an ethernet
123+
* alias for it (which e.g. makes u-boot set a mac-address).
124+
*/
125+
xr819: sdio_wifi@1 {
126+
reg = <1>;
127+
};
128+
};
129+
130+
&mmc1_pins_a {
131+
bias-pull-up;
132+
};
133+
134+
&ohci1 {
135+
status = "okay";
136+
};
137+
138+
&uart0 {
139+
pinctrl-names = "default";
140+
pinctrl-0 = <&uart0_pins_a>;
141+
status = "okay";
142+
};
143+
144+
&uart1 {
145+
pinctrl-names = "default";
146+
pinctrl-0 = <&uart1_pins>;
147+
status = "disabled";
148+
};
149+
150+
&uart2 {
151+
pinctrl-names = "default";
152+
pinctrl-0 = <&uart2_pins>;
153+
status = "disabled";
154+
};
155+
156+
&usbphy {
157+
/* USB VBUS is always on */
158+
status = "okay";
159+
};

0 commit comments

Comments
 (0)