diff options
author | Andre Przywara <andre.przywara@arm.com> | 2017-03-06 12:17:50 -0500 |
---|---|---|
committer | Maxime Ripard <maxime.ripard@free-electrons.com> | 2017-03-27 07:44:40 -0400 |
commit | 9d41bbb6e13f7a3209ea4c4d86c2753c8f075a32 (patch) | |
tree | e6af71861cb6e7e4780bdda028b40da596bd92a5 | |
parent | 4e36de179f27d1017e60e25e429f50ed8382f195 (diff) |
arm64: allwinner: h5: add support for the Orange Pi PC 2 board
The Orange Pi PC 2 is a typical single board computer using the
Allwinner H5 SoC. Apart from the usual suspects it features three
separately driven USB ports and a Gigabit Ethernet port.
Also it has a SPI NOR flash soldered, from which the board can boot
from. This enables the SBC to behave like a "real computer" with
built-in firmware.
Add the board specific .dts file, which includes the H5 .dtsi and
enables the peripherals that we support so far.
Reviewed-by: Rask Ingemann Lambertsen <rask@formelder.dk>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
[Icenowy: dropped all GPIO pinctrl nodes, change red LED gpio,
change MMC cd to active-low, rename some node names to prevent
underscores]
Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
-rw-r--r-- | arch/arm64/boot/dts/allwinner/Makefile | 1 | ||||
-rw-r--r-- | arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts | 163 |
2 files changed, 164 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile index bc6f342be59f..244e8b7565f9 100644 --- a/arch/arm64/boot/dts/allwinner/Makefile +++ b/arch/arm64/boot/dts/allwinner/Makefile | |||
@@ -1,5 +1,6 @@ | |||
1 | dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-bananapi-m64.dtb | 1 | dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-bananapi-m64.dtb |
2 | dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb | 2 | dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb |
3 | dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-pc2.dtb | ||
3 | 4 | ||
4 | always := $(dtb-y) | 5 | always := $(dtb-y) |
5 | subdir-y := $(dts-dirs) | 6 | subdir-y := $(dts-dirs) |
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts new file mode 100644 index 000000000000..30639729920d --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts | |||
@@ -0,0 +1,163 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2016 ARM Ltd. | ||
3 | * | ||
4 | * This file is dual-licensed: you can use it either under the terms | ||
5 | * of the GPL or the X11 license, at your option. Note that this dual | ||
6 | * licensing only applies to this file, and not this project as a | ||
7 | * whole. | ||
8 | * | ||
9 | * a) This file is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License as | ||
11 | * published by the Free Software Foundation; either version 2 of the | ||
12 | * License, or (at your option) any later version. | ||
13 | * | ||
14 | * This file is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * Or, alternatively, | ||
20 | * | ||
21 | * b) Permission is hereby granted, free of charge, to any person | ||
22 | * obtaining a copy of this software and associated documentation | ||
23 | * files (the "Software"), to deal in the Software without | ||
24 | * restriction, including without limitation the rights to use, | ||
25 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
26 | * sell copies of the Software, and to permit persons to whom the | ||
27 | * Software is furnished to do so, subject to the following | ||
28 | * conditions: | ||
29 | * | ||
30 | * The above copyright notice and this permission notice shall be | ||
31 | * included in all copies or substantial portions of the Software. | ||
32 | * | ||
33 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
34 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
35 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
36 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
37 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
38 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
39 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
40 | * OTHER DEALINGS IN THE SOFTWARE. | ||
41 | */ | ||
42 | |||
43 | /dts-v1/; | ||
44 | #include "sun50i-h5.dtsi" | ||
45 | |||
46 | #include <dt-bindings/gpio/gpio.h> | ||
47 | #include <dt-bindings/input/input.h> | ||
48 | #include <dt-bindings/pinctrl/sun4i-a10.h> | ||
49 | |||
50 | / { | ||
51 | model = "Xunlong Orange Pi PC 2"; | ||
52 | compatible = "xunlong,orangepi-pc2", "allwinner,sun50i-h5"; | ||
53 | |||
54 | reg_vcc3v3: vcc3v3 { | ||
55 | compatible = "regulator-fixed"; | ||
56 | regulator-name = "vcc3v3"; | ||
57 | regulator-min-microvolt = <3300000>; | ||
58 | regulator-max-microvolt = <3300000>; | ||
59 | }; | ||
60 | |||
61 | aliases { | ||
62 | serial0 = &uart0; | ||
63 | }; | ||
64 | |||
65 | chosen { | ||
66 | stdout-path = "serial0:115200n8"; | ||
67 | }; | ||
68 | |||
69 | leds { | ||
70 | compatible = "gpio-leds"; | ||
71 | |||
72 | pwr { | ||
73 | label = "orangepi:green:pwr"; | ||
74 | gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; | ||
75 | default-state = "on"; | ||
76 | }; | ||
77 | |||
78 | status { | ||
79 | label = "orangepi:red:status"; | ||
80 | gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>; | ||
81 | }; | ||
82 | }; | ||
83 | |||
84 | r-gpio-keys { | ||
85 | compatible = "gpio-keys"; | ||
86 | |||
87 | sw4 { | ||
88 | label = "sw4"; | ||
89 | linux,code = <BTN_0>; | ||
90 | gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; | ||
91 | }; | ||
92 | }; | ||
93 | }; | ||
94 | |||
95 | &codec { | ||
96 | allwinner,audio-routing = | ||
97 | "Line Out", "LINEOUT", | ||
98 | "MIC1", "Mic", | ||
99 | "Mic", "MBIAS"; | ||
100 | status = "okay"; | ||
101 | }; | ||
102 | |||
103 | &ehci1 { | ||
104 | status = "okay"; | ||
105 | }; | ||
106 | |||
107 | &ehci2 { | ||
108 | status = "okay"; | ||
109 | }; | ||
110 | |||
111 | &ehci3 { | ||
112 | status = "okay"; | ||
113 | }; | ||
114 | |||
115 | &ir { | ||
116 | pinctrl-names = "default"; | ||
117 | pinctrl-0 = <&ir_pins_a>; | ||
118 | status = "okay"; | ||
119 | }; | ||
120 | |||
121 | &mmc0 { | ||
122 | pinctrl-names = "default"; | ||
123 | pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; | ||
124 | vmmc-supply = <®_vcc3v3>; | ||
125 | bus-width = <4>; | ||
126 | cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ | ||
127 | status = "okay"; | ||
128 | }; | ||
129 | |||
130 | &ohci1 { | ||
131 | status = "okay"; | ||
132 | }; | ||
133 | |||
134 | &ohci2 { | ||
135 | status = "okay"; | ||
136 | }; | ||
137 | |||
138 | &ohci3 { | ||
139 | status = "okay"; | ||
140 | }; | ||
141 | |||
142 | &uart0 { | ||
143 | pinctrl-names = "default"; | ||
144 | pinctrl-0 = <&uart0_pins_a>; | ||
145 | status = "okay"; | ||
146 | }; | ||
147 | |||
148 | &uart1 { | ||
149 | pinctrl-names = "default"; | ||
150 | pinctrl-0 = <&uart1_pins>; | ||
151 | status = "disabled"; | ||
152 | }; | ||
153 | |||
154 | &uart2 { | ||
155 | pinctrl-names = "default"; | ||
156 | pinctrl-0 = <&uart2_pins>; | ||
157 | status = "disabled"; | ||
158 | }; | ||
159 | |||
160 | &usbphy { | ||
161 | /* USB VBUS is always on */ | ||
162 | status = "okay"; | ||
163 | }; | ||