diff options
author | Arnd Bergmann <arnd@arndb.de> | 2016-09-13 11:36:04 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2016-09-13 11:36:04 -0400 |
commit | d9d37f70feab141515e87128af7e1fc8c2352d4e (patch) | |
tree | edd09038077cd21968b8f3864fd28f58cb92f37e | |
parent | a6023d05001737722a9a06c4c49f4e2cf340fda4 (diff) | |
parent | accfb2f19d185628858dc0c063c69c8b75b32724 (diff) |
Merge tag 'sunxi-dt-for-4.9' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt
Pull "Allwinner DT changes for 4.9" from Maxime Ripard:
Business as usual on our side, with a mix of new boards and new IPs enabled
on boards:
- Support for the GPIO found on the AXP PMIC
- ESP8089 on the relevant boards
- More boards converted to the reference design and q8 designs
- New boards: Orange Pi PC Plus, Orange Pi 2, Orange Pi Plus 2E, Orange
Pi Lite, Olimex A33-Olinuxino, Empire Electronix M712, inet-d978_rev2,
Nano Pi Neo
* tag 'sunxi-dt-for-4.9' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (31 commits)
devicetree: Add vendor prefix for FriendlyARM
ARM: dts: sun8i: Add dts file for the NanoPi NEO SBC
ARM: dts: sun8i-q8-common: Add support for SDIO wifi controllers
ARM: dts: sun8i: Add dts file for the Orange Pi Plus2E SBC
ARM: dts: sun8i: Orange Pi Plus dts is for the Plus and Plus 2
ARM: dts: sun8i: Add PWM controller node in H3
ARM: dts: sun8i: Add dts file for inet-d978_rev2 tablets
ARM: dts: sun9i: Add missing #interrupt-cells to R_PIO pinctrl device node
ARM: dts: sun8i: Rename reference-design-tablet touchscreen node
ARM: dts: sun5i: Add dts file for the Empire Electronix M712 tablet
ARM: dts: sun5i: Convert inet-98v-rev2 dts to use reference-design-tablet.dtsi
ARM: dts: sun4i: Disable ohci1 on ba10-tv-box
ARM: dts: sun8i: Add dt node for esp8089 wifi chip on polaroid-mid2809
ARM: dts: sun8i: Add dt node for esp8089 wifi chip on polaroid-mid2407
ARM: dts: sun8i: add NAND controller node for A23/A33
ARM: dts: sun6i: Add new dts file for tablets using the inet-q972 PCB
ARM: dts: sun6i: Add sun6i-reference-design-tablet.dtsi
ARM: dts: sun6i: colorfly-e708-q1: Remove unused mma8452_int_e708_q1 node
ARM: dts: sun9i: Switch to the AC100 RTC clock outputs for osc32k
ARM: dts: sun9i: cubieboard4: Add device node for AC100
...
29 files changed, 1411 insertions, 504 deletions
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index 1992aa97d45a..7b6bda3b4189 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt | |||
@@ -98,6 +98,7 @@ ezchip EZchip Semiconductor | |||
98 | fcs Fairchild Semiconductor | 98 | fcs Fairchild Semiconductor |
99 | firefly Firefly | 99 | firefly Firefly |
100 | focaltech FocalTech Systems Co.,Ltd | 100 | focaltech FocalTech Systems Co.,Ltd |
101 | friendlyarm Guangzhou FriendlyARM Computer Tech Co., Ltd | ||
101 | fsl Freescale Semiconductor | 102 | fsl Freescale Semiconductor |
102 | ge General Electric Company | 103 | ge General Electric Company |
103 | geekbuying GeekBuying | 104 | geekbuying GeekBuying |
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 8eb8cff8c97d..f228163b02f7 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -731,6 +731,7 @@ dtb-$(CONFIG_MACH_SUN5I) += \ | |||
731 | sun5i-a10s-wobo-i5.dtb \ | 731 | sun5i-a10s-wobo-i5.dtb \ |
732 | sun5i-a13-difrnce-dit4350.dtb \ | 732 | sun5i-a13-difrnce-dit4350.dtb \ |
733 | sun5i-a13-empire-electronix-d709.dtb \ | 733 | sun5i-a13-empire-electronix-d709.dtb \ |
734 | sun5i-a13-empire-electronix-m712.dtb \ | ||
734 | sun5i-a13-hsg-h702.dtb \ | 735 | sun5i-a13-hsg-h702.dtb \ |
735 | sun5i-a13-inet-98v-rev2.dtb \ | 736 | sun5i-a13-inet-98v-rev2.dtb \ |
736 | sun5i-a13-olinuxino.dtb \ | 737 | sun5i-a13-olinuxino.dtb \ |
@@ -747,6 +748,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \ | |||
747 | sun6i-a31-mele-a1000g-quad.dtb \ | 748 | sun6i-a31-mele-a1000g-quad.dtb \ |
748 | sun6i-a31s-colorfly-e708-q1.dtb \ | 749 | sun6i-a31s-colorfly-e708-q1.dtb \ |
749 | sun6i-a31s-cs908.dtb \ | 750 | sun6i-a31s-cs908.dtb \ |
751 | sun6i-a31s-inet-q972.dtb \ | ||
750 | sun6i-a31s-primo81.dtb \ | 752 | sun6i-a31s-primo81.dtb \ |
751 | sun6i-a31s-sina31s.dtb \ | 753 | sun6i-a31s-sina31s.dtb \ |
752 | sun6i-a31s-sinovoip-bpi-m2.dtb \ | 754 | sun6i-a31s-sinovoip-bpi-m2.dtb \ |
@@ -786,16 +788,22 @@ dtb-$(CONFIG_MACH_SUN8I) += \ | |||
786 | sun8i-a23-q8-tablet.dtb \ | 788 | sun8i-a23-q8-tablet.dtb \ |
787 | sun8i-a33-et-q8-v1.6.dtb \ | 789 | sun8i-a33-et-q8-v1.6.dtb \ |
788 | sun8i-a33-ga10h-v1.1.dtb \ | 790 | sun8i-a33-ga10h-v1.1.dtb \ |
791 | sun8i-a33-inet-d978-rev2.dtb \ | ||
789 | sun8i-a33-ippo-q8h-v1.2.dtb \ | 792 | sun8i-a33-ippo-q8h-v1.2.dtb \ |
793 | sun8i-a33-olinuxino.dtb \ | ||
790 | sun8i-a33-q8-tablet.dtb \ | 794 | sun8i-a33-q8-tablet.dtb \ |
791 | sun8i-a33-sinlinx-sina33.dtb \ | 795 | sun8i-a33-sinlinx-sina33.dtb \ |
792 | sun8i-a83t-allwinner-h8homlet-v2.dtb \ | 796 | sun8i-a83t-allwinner-h8homlet-v2.dtb \ |
793 | sun8i-a83t-cubietruck-plus.dtb \ | 797 | sun8i-a83t-cubietruck-plus.dtb \ |
794 | sun8i-h3-bananapi-m2-plus.dtb \ | 798 | sun8i-h3-bananapi-m2-plus.dtb \ |
799 | sun8i-h3-nanopi-neo.dtb \ | ||
795 | sun8i-h3-orangepi-2.dtb \ | 800 | sun8i-h3-orangepi-2.dtb \ |
801 | sun8i-h3-orangepi-lite.dtb \ | ||
796 | sun8i-h3-orangepi-one.dtb \ | 802 | sun8i-h3-orangepi-one.dtb \ |
797 | sun8i-h3-orangepi-pc.dtb \ | 803 | sun8i-h3-orangepi-pc.dtb \ |
804 | sun8i-h3-orangepi-pc-plus.dtb \ | ||
798 | sun8i-h3-orangepi-plus.dtb \ | 805 | sun8i-h3-orangepi-plus.dtb \ |
806 | sun8i-h3-orangepi-plus2e.dtb \ | ||
799 | sun8i-r16-parrot.dtb | 807 | sun8i-r16-parrot.dtb |
800 | dtb-$(CONFIG_MACH_SUN9I) += \ | 808 | dtb-$(CONFIG_MACH_SUN9I) += \ |
801 | sun9i-a80-optimus.dtb \ | 809 | sun9i-a80-optimus.dtb \ |
diff --git a/arch/arm/boot/dts/axp209.dtsi b/arch/arm/boot/dts/axp209.dtsi index afbe89c01df5..675bb0f30825 100644 --- a/arch/arm/boot/dts/axp209.dtsi +++ b/arch/arm/boot/dts/axp209.dtsi | |||
@@ -53,6 +53,12 @@ | |||
53 | interrupt-controller; | 53 | interrupt-controller; |
54 | #interrupt-cells = <1>; | 54 | #interrupt-cells = <1>; |
55 | 55 | ||
56 | axp_gpio: gpio { | ||
57 | compatible = "x-powers,axp209-gpio"; | ||
58 | gpio-controller; | ||
59 | #gpio-cells = <2>; | ||
60 | }; | ||
61 | |||
56 | regulators { | 62 | regulators { |
57 | /* Default work frequency for buck regulators */ | 63 | /* Default work frequency for buck regulators */ |
58 | x-powers,dcdc-freq = <1500>; | 64 | x-powers,dcdc-freq = <1500>; |
diff --git a/arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts b/arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts index f3cb297fd1db..5f98582232d6 100644 --- a/arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts +++ b/arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts | |||
@@ -121,10 +121,6 @@ | |||
121 | status = "okay"; | 121 | status = "okay"; |
122 | }; | 122 | }; |
123 | 123 | ||
124 | &ohci1 { | ||
125 | status = "okay"; | ||
126 | }; | ||
127 | |||
128 | &otg_sram { | 124 | &otg_sram { |
129 | status = "okay"; | 125 | status = "okay"; |
130 | }; | 126 | }; |
diff --git a/arch/arm/boot/dts/sun5i-a13-empire-electronix-m712.dts b/arch/arm/boot/dts/sun5i-a13-empire-electronix-m712.dts new file mode 100644 index 000000000000..b1e2afd9de52 --- /dev/null +++ b/arch/arm/boot/dts/sun5i-a13-empire-electronix-m712.dts | |||
@@ -0,0 +1,51 @@ | |||
1 | /* | ||
2 | * Copyright 2016 Hans de Goede <hdegoede@redhat.com> | ||
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 "sun5i-a13.dtsi" | ||
45 | #include "sun5i-reference-design-tablet.dtsi" | ||
46 | #include <dt-bindings/interrupt-controller/irq.h> | ||
47 | |||
48 | / { | ||
49 | model = "Empire Electronix M712 tablet"; | ||
50 | compatible = "empire-electronix,m712", "allwinner,sun5i-a13"; | ||
51 | }; | ||
diff --git a/arch/arm/boot/dts/sun5i-a13-inet-98v-rev2.dts b/arch/arm/boot/dts/sun5i-a13-inet-98v-rev2.dts index 1b11ec95ae53..439ae3b537df 100644 --- a/arch/arm/boot/dts/sun5i-a13-inet-98v-rev2.dts +++ b/arch/arm/boot/dts/sun5i-a13-inet-98v-rev2.dts | |||
@@ -42,171 +42,9 @@ | |||
42 | 42 | ||
43 | /dts-v1/; | 43 | /dts-v1/; |
44 | #include "sun5i-a13.dtsi" | 44 | #include "sun5i-a13.dtsi" |
45 | #include "sunxi-common-regulators.dtsi" | 45 | #include "sun5i-reference-design-tablet.dtsi" |
46 | #include <dt-bindings/gpio/gpio.h> | ||
47 | #include <dt-bindings/input/input.h> | ||
48 | #include <dt-bindings/interrupt-controller/irq.h> | ||
49 | #include <dt-bindings/pinctrl/sun4i-a10.h> | ||
50 | 46 | ||
51 | / { | 47 | / { |
52 | model = "INet-98V Rev 02"; | 48 | model = "INet-98V Rev 02"; |
53 | compatible = "primux,inet98v-rev2", "allwinner,sun5i-a13"; | 49 | compatible = "primux,inet98v-rev2", "allwinner,sun5i-a13"; |
54 | |||
55 | aliases { | ||
56 | serial0 = &uart1; | ||
57 | }; | ||
58 | |||
59 | chosen { | ||
60 | stdout-path = "serial0:115200n8"; | ||
61 | }; | ||
62 | |||
63 | }; | ||
64 | |||
65 | &cpu0 { | ||
66 | cpu-supply = <®_dcdc2>; | ||
67 | }; | ||
68 | |||
69 | &ehci0 { | ||
70 | status = "okay"; | ||
71 | }; | ||
72 | |||
73 | &i2c0 { | ||
74 | pinctrl-names = "default"; | ||
75 | pinctrl-0 = <&i2c0_pins_a>; | ||
76 | status = "okay"; | ||
77 | |||
78 | axp209: pmic@34 { | ||
79 | reg = <0x34>; | ||
80 | interrupts = <0>; | ||
81 | }; | ||
82 | }; | ||
83 | |||
84 | #include "axp209.dtsi" | ||
85 | |||
86 | &i2c1 { | ||
87 | pinctrl-names = "default"; | ||
88 | pinctrl-0 = <&i2c1_pins_a>; | ||
89 | status = "okay"; | ||
90 | |||
91 | pcf8563: rtc@51 { | ||
92 | compatible = "nxp,pcf8563"; | ||
93 | reg = <0x51>; | ||
94 | }; | ||
95 | }; | ||
96 | |||
97 | &lradc { | ||
98 | vref-supply = <®_ldo2>; | ||
99 | status = "okay"; | ||
100 | |||
101 | button@200 { | ||
102 | label = "Volume Up"; | ||
103 | linux,code = <KEY_VOLUMEUP>; | ||
104 | channel = <0>; | ||
105 | voltage = <200000>; | ||
106 | }; | ||
107 | |||
108 | button@400 { | ||
109 | label = "Volume Down"; | ||
110 | linux,code = <KEY_VOLUMEDOWN>; | ||
111 | channel = <0>; | ||
112 | voltage = <400000>; | ||
113 | }; | ||
114 | }; | ||
115 | |||
116 | &mmc0 { | ||
117 | pinctrl-names = "default"; | ||
118 | pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_inet98fv2>; | ||
119 | vmmc-supply = <®_vcc3v3>; | ||
120 | bus-width = <4>; | ||
121 | cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */ | ||
122 | cd-inverted; | ||
123 | status = "okay"; | ||
124 | }; | ||
125 | |||
126 | &otg_sram { | ||
127 | status = "okay"; | ||
128 | }; | ||
129 | |||
130 | &pio { | ||
131 | mmc0_cd_pin_inet98fv2: mmc0_cd_pin@0 { | ||
132 | allwinner,pins = "PG0"; | ||
133 | allwinner,function = "gpio_in"; | ||
134 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
135 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | ||
136 | }; | ||
137 | |||
138 | usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 { | ||
139 | allwinner,pins = "PG1"; | ||
140 | allwinner,function = "gpio_in"; | ||
141 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
142 | allwinner,pull = <SUN4I_PINCTRL_PULL_DOWN>; | ||
143 | }; | ||
144 | |||
145 | usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||
146 | allwinner,pins = "PG2"; | ||
147 | allwinner,function = "gpio_in"; | ||
148 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
149 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | ||
150 | }; | ||
151 | }; | ||
152 | |||
153 | ®_dcdc2 { | ||
154 | regulator-always-on; | ||
155 | regulator-min-microvolt = <1000000>; | ||
156 | regulator-max-microvolt = <1400000>; | ||
157 | regulator-name = "vdd-cpu"; | ||
158 | }; | ||
159 | |||
160 | ®_dcdc3 { | ||
161 | regulator-always-on; | ||
162 | regulator-min-microvolt = <1250000>; | ||
163 | regulator-max-microvolt = <1250000>; | ||
164 | regulator-name = "vdd-int-pll"; | ||
165 | }; | ||
166 | |||
167 | ®_ldo1 { | ||
168 | regulator-name = "vdd-rtc"; | ||
169 | }; | ||
170 | |||
171 | ®_ldo2 { | ||
172 | regulator-always-on; | ||
173 | regulator-min-microvolt = <3000000>; | ||
174 | regulator-max-microvolt = <3000000>; | ||
175 | regulator-name = "avcc"; | ||
176 | }; | ||
177 | |||
178 | ®_ldo3 { | ||
179 | regulator-min-microvolt = <3300000>; | ||
180 | regulator-max-microvolt = <3300000>; | ||
181 | regulator-name = "vcc-wifi"; | ||
182 | }; | ||
183 | |||
184 | ®_usb0_vbus { | ||
185 | gpio = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */ | ||
186 | status = "okay"; | ||
187 | }; | ||
188 | |||
189 | &uart1 { | ||
190 | pinctrl-names = "default"; | ||
191 | pinctrl-0 = <&uart1_pins_b>; | ||
192 | status = "okay"; | ||
193 | }; | ||
194 | |||
195 | &usb_otg { | ||
196 | dr_mode = "otg"; | ||
197 | status = "okay"; | ||
198 | }; | ||
199 | |||
200 | &usb0_vbus_pin_a { | ||
201 | allwinner,pins = "PG12"; | ||
202 | }; | ||
203 | |||
204 | &usbphy { | ||
205 | pinctrl-names = "default"; | ||
206 | pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; | ||
207 | usb0_id_det-gpio = <&pio 6 2 GPIO_ACTIVE_HIGH>; /* PG2 */ | ||
208 | usb0_vbus_det-gpio = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */ | ||
209 | usb0_vbus-supply = <®_usb0_vbus>; | ||
210 | usb1_vbus-supply = <®_ldo3>; | ||
211 | status = "okay"; | ||
212 | }; | 50 | }; |
diff --git a/arch/arm/boot/dts/sun5i-r8-chip.dts b/arch/arm/boot/dts/sun5i-r8-chip.dts index f694482bdeb6..b68a12374b35 100644 --- a/arch/arm/boot/dts/sun5i-r8-chip.dts +++ b/arch/arm/boot/dts/sun5i-r8-chip.dts | |||
@@ -64,6 +64,16 @@ | |||
64 | chosen { | 64 | chosen { |
65 | stdout-path = "serial0:115200n8"; | 65 | stdout-path = "serial0:115200n8"; |
66 | }; | 66 | }; |
67 | |||
68 | leds { | ||
69 | compatible = "gpio-leds"; | ||
70 | |||
71 | status { | ||
72 | label = "chip:white:status"; | ||
73 | gpios = <&axp_gpio 2 GPIO_ACTIVE_HIGH>; | ||
74 | default-state = "on"; | ||
75 | }; | ||
76 | }; | ||
67 | }; | 77 | }; |
68 | 78 | ||
69 | &be0 { | 79 | &be0 { |
diff --git a/arch/arm/boot/dts/sun6i-a31s-colorfly-e708-q1.dts b/arch/arm/boot/dts/sun6i-a31s-colorfly-e708-q1.dts index e182eec6d878..882a4d89fa22 100644 --- a/arch/arm/boot/dts/sun6i-a31s-colorfly-e708-q1.dts +++ b/arch/arm/boot/dts/sun6i-a31s-colorfly-e708-q1.dts | |||
@@ -42,32 +42,11 @@ | |||
42 | 42 | ||
43 | /dts-v1/; | 43 | /dts-v1/; |
44 | #include "sun6i-a31s.dtsi" | 44 | #include "sun6i-a31s.dtsi" |
45 | #include "sunxi-common-regulators.dtsi" | 45 | #include "sun6i-reference-design-tablet.dtsi" |
46 | |||
47 | #include <dt-bindings/gpio/gpio.h> | ||
48 | #include <dt-bindings/input/input.h> | ||
49 | #include <dt-bindings/pinctrl/sun4i-a10.h> | ||
50 | 46 | ||
51 | / { | 47 | / { |
52 | model = "Colorfly E708 Q1 tablet"; | 48 | model = "Colorfly E708 Q1 tablet"; |
53 | compatible = "colorfly,e708-q1", "allwinner,sun6i-a31s"; | 49 | compatible = "colorfly,e708-q1", "allwinner,sun6i-a31s"; |
54 | |||
55 | aliases { | ||
56 | serial0 = &uart0; | ||
57 | }; | ||
58 | |||
59 | chosen { | ||
60 | stdout-path = "serial0:115200n8"; | ||
61 | }; | ||
62 | }; | ||
63 | |||
64 | &cpu0 { | ||
65 | cpu-supply = <®_dcdc3>; | ||
66 | }; | ||
67 | |||
68 | &ehci0 { | ||
69 | /* rtl8188etv wifi is connected here */ | ||
70 | status = "okay"; | ||
71 | }; | 50 | }; |
72 | 51 | ||
73 | &lradc { | 52 | &lradc { |
@@ -82,103 +61,6 @@ | |||
82 | }; | 61 | }; |
83 | }; | 62 | }; |
84 | 63 | ||
85 | &mmc0 { | ||
86 | pinctrl-names = "default"; | ||
87 | pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_e708_q1>; | ||
88 | vmmc-supply = <®_dcdc1>; | ||
89 | bus-width = <4>; | ||
90 | cd-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */ | ||
91 | cd-inverted; | ||
92 | status = "okay"; | ||
93 | }; | ||
94 | |||
95 | &pio { | ||
96 | mma8452_int_e708_q1: mma8452_int_pin@0 { | ||
97 | allwinner,pins = "PA9"; | ||
98 | allwinner,function = "gpio_in"; | ||
99 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
100 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | ||
101 | }; | ||
102 | |||
103 | mmc0_cd_pin_e708_q1: mmc0_cd_pin@0 { | ||
104 | allwinner,pins = "PA8"; | ||
105 | allwinner,function = "gpio_in"; | ||
106 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
107 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | ||
108 | }; | ||
109 | }; | ||
110 | |||
111 | &p2wi { | ||
112 | status = "okay"; | ||
113 | |||
114 | axp22x: pmic@68 { | ||
115 | compatible = "x-powers,axp221"; | ||
116 | reg = <0x68>; | ||
117 | interrupt-parent = <&nmi_intc>; | ||
118 | interrupts = <0 IRQ_TYPE_LEVEL_LOW>; | ||
119 | }; | ||
120 | }; | ||
121 | |||
122 | #include "axp22x.dtsi" | ||
123 | |||
124 | ®_aldo3 { | ||
125 | regulator-always-on; | ||
126 | regulator-min-microvolt = <2700000>; | ||
127 | regulator-max-microvolt = <3300000>; | ||
128 | regulator-name = "avcc"; | ||
129 | }; | ||
130 | |||
131 | ®_dc1sw { | ||
132 | regulator-name = "vcc-lcd"; | ||
133 | }; | ||
134 | |||
135 | ®_dc5ldo { | ||
136 | regulator-always-on; | ||
137 | regulator-min-microvolt = <700000>; | ||
138 | regulator-max-microvolt = <1320000>; | ||
139 | regulator-name = "vdd-cpus"; /* This is an educated guess */ | ||
140 | }; | ||
141 | |||
142 | ®_dcdc1 { | ||
143 | regulator-always-on; | ||
144 | regulator-min-microvolt = <3000000>; | ||
145 | regulator-max-microvolt = <3000000>; | ||
146 | regulator-name = "vcc-3v0"; | ||
147 | }; | ||
148 | |||
149 | ®_dcdc2 { | ||
150 | regulator-min-microvolt = <700000>; | ||
151 | regulator-max-microvolt = <1320000>; | ||
152 | regulator-name = "vdd-gpu"; | ||
153 | }; | ||
154 | |||
155 | ®_dcdc3 { | ||
156 | regulator-always-on; | ||
157 | regulator-min-microvolt = <700000>; | ||
158 | regulator-max-microvolt = <1320000>; | ||
159 | regulator-name = "vdd-cpu"; | ||
160 | }; | ||
161 | |||
162 | ®_dcdc4 { | ||
163 | regulator-always-on; | ||
164 | regulator-min-microvolt = <700000>; | ||
165 | regulator-max-microvolt = <1320000>; | ||
166 | regulator-name = "vdd-sys-dll"; | ||
167 | }; | ||
168 | |||
169 | ®_dcdc5 { | ||
170 | regulator-always-on; | ||
171 | regulator-min-microvolt = <1500000>; | ||
172 | regulator-max-microvolt = <1500000>; | ||
173 | regulator-name = "vcc-dram"; | ||
174 | }; | ||
175 | |||
176 | ®_dldo1 { | ||
177 | regulator-min-microvolt = <3300000>; | ||
178 | regulator-max-microvolt = <3300000>; | ||
179 | regulator-name = "vcc-wifi"; | ||
180 | }; | ||
181 | |||
182 | ®_dldo2 { | 64 | ®_dldo2 { |
183 | regulator-min-microvolt = <1800000>; | 65 | regulator-min-microvolt = <1800000>; |
184 | regulator-max-microvolt = <1800000>; | 66 | regulator-max-microvolt = <1800000>; |
@@ -186,23 +68,5 @@ | |||
186 | }; | 68 | }; |
187 | 69 | ||
188 | &simplefb_lcd { | 70 | &simplefb_lcd { |
189 | vcc-lcd-supply = <®_dc1sw>; | ||
190 | vcc-pg-supply = <®_dldo2>; | 71 | vcc-pg-supply = <®_dldo2>; |
191 | }; | 72 | }; |
192 | |||
193 | /* | ||
194 | * FIXME for now we only support host mode and rely on u-boot to have | ||
195 | * turned on Vbus which is controlled by the axp221 pmic on the board. | ||
196 | * | ||
197 | * Once we have axp221 power-supply and vbus-usb support we should switch | ||
198 | * to fully supporting otg. | ||
199 | */ | ||
200 | &usb_otg { | ||
201 | dr_mode = "host"; | ||
202 | status = "okay"; | ||
203 | }; | ||
204 | |||
205 | &usbphy { | ||
206 | usb1_vbus-supply = <®_dldo1>; | ||
207 | status = "okay"; | ||
208 | }; | ||
diff --git a/arch/arm/boot/dts/sun6i-a31s-inet-q972.dts b/arch/arm/boot/dts/sun6i-a31s-inet-q972.dts new file mode 100644 index 000000000000..e584e6b186a7 --- /dev/null +++ b/arch/arm/boot/dts/sun6i-a31s-inet-q972.dts | |||
@@ -0,0 +1,100 @@ | |||
1 | /* | ||
2 | * Copyright 2016 Hans de Goede <hdegoede@redhat.com> | ||
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 "sun6i-a31s.dtsi" | ||
45 | #include "sun6i-reference-design-tablet.dtsi" | ||
46 | |||
47 | / { | ||
48 | model = "iNet Q972 tablet"; | ||
49 | compatible = "inet-tek,inet-q972", "allwinner,sun6i-a31s"; | ||
50 | }; | ||
51 | |||
52 | &ehci1 { | ||
53 | status = "okay"; | ||
54 | }; | ||
55 | |||
56 | &i2c1 { | ||
57 | pinctrl-names = "default"; | ||
58 | pinctrl-0 = <&i2c1_pins_a>; | ||
59 | status = "okay"; | ||
60 | |||
61 | ft5406ee8: touchscreen@38 { | ||
62 | compatible = "edt,edt-ft5406"; | ||
63 | reg = <0x38>; | ||
64 | interrupt-parent = <&pio>; | ||
65 | interrupts = <0 3 IRQ_TYPE_LEVEL_HIGH>; /* PA3 */ | ||
66 | touchscreen-size-x = <768>; | ||
67 | touchscreen-size-y = <1024>; | ||
68 | touchscreen-swapped-x-y; | ||
69 | }; | ||
70 | }; | ||
71 | |||
72 | &lradc { | ||
73 | vref-supply = <®_aldo3>; | ||
74 | status = "okay"; | ||
75 | |||
76 | button@200 { | ||
77 | label = "Volume Down"; | ||
78 | linux,code = <KEY_VOLUMEDOWN>; | ||
79 | channel = <0>; | ||
80 | voltage = <200000>; | ||
81 | }; | ||
82 | |||
83 | button@900 { | ||
84 | label = "Volume Up"; | ||
85 | linux,code = <KEY_VOLUMEUP>; | ||
86 | channel = <0>; | ||
87 | voltage = <900000>; | ||
88 | }; | ||
89 | |||
90 | button@1200 { | ||
91 | label = "Back"; | ||
92 | linux,code = <KEY_BACK>; | ||
93 | channel = <0>; | ||
94 | voltage = <1200000>; | ||
95 | }; | ||
96 | }; | ||
97 | |||
98 | &ohci1 { | ||
99 | status = "okay"; | ||
100 | }; | ||
diff --git a/arch/arm/boot/dts/sun6i-reference-design-tablet.dtsi b/arch/arm/boot/dts/sun6i-reference-design-tablet.dtsi new file mode 100644 index 000000000000..0c434304e040 --- /dev/null +++ b/arch/arm/boot/dts/sun6i-reference-design-tablet.dtsi | |||
@@ -0,0 +1,193 @@ | |||
1 | /* | ||
2 | * Copyright 2016 Hans de Goede <hdegoede@redhat.com> | ||
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 | #include "sunxi-common-regulators.dtsi" | ||
44 | |||
45 | #include <dt-bindings/gpio/gpio.h> | ||
46 | #include <dt-bindings/input/input.h> | ||
47 | #include <dt-bindings/pinctrl/sun4i-a10.h> | ||
48 | |||
49 | / { | ||
50 | aliases { | ||
51 | serial0 = &uart0; | ||
52 | }; | ||
53 | |||
54 | chosen { | ||
55 | stdout-path = "serial0:115200n8"; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | &cpu0 { | ||
60 | cpu-supply = <®_dcdc3>; | ||
61 | }; | ||
62 | |||
63 | &ehci0 { | ||
64 | /* Wifi is connected here */ | ||
65 | status = "okay"; | ||
66 | }; | ||
67 | |||
68 | &mmc0 { | ||
69 | pinctrl-names = "default"; | ||
70 | pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_e708_q1>; | ||
71 | vmmc-supply = <®_dcdc1>; | ||
72 | bus-width = <4>; | ||
73 | cd-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */ | ||
74 | cd-inverted; | ||
75 | status = "okay"; | ||
76 | }; | ||
77 | |||
78 | &pio { | ||
79 | mmc0_cd_pin_e708_q1: mmc0_cd_pin@0 { | ||
80 | allwinner,pins = "PA8"; | ||
81 | allwinner,function = "gpio_in"; | ||
82 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
83 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | ||
84 | }; | ||
85 | |||
86 | usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||
87 | allwinner,pins = "PA15"; | ||
88 | allwinner,function = "gpio_in"; | ||
89 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
90 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | ||
91 | }; | ||
92 | }; | ||
93 | |||
94 | &p2wi { | ||
95 | status = "okay"; | ||
96 | |||
97 | axp22x: pmic@68 { | ||
98 | compatible = "x-powers,axp221"; | ||
99 | reg = <0x68>; | ||
100 | interrupt-parent = <&nmi_intc>; | ||
101 | interrupts = <0 IRQ_TYPE_LEVEL_LOW>; | ||
102 | drivevbus-supply = <®_vcc5v0>; | ||
103 | x-powers,drive-vbus-en; | ||
104 | }; | ||
105 | }; | ||
106 | |||
107 | #include "axp22x.dtsi" | ||
108 | |||
109 | ®_aldo3 { | ||
110 | regulator-always-on; | ||
111 | regulator-min-microvolt = <2700000>; | ||
112 | regulator-max-microvolt = <3300000>; | ||
113 | regulator-name = "avcc"; | ||
114 | }; | ||
115 | |||
116 | ®_dc1sw { | ||
117 | regulator-name = "vcc-lcd"; | ||
118 | }; | ||
119 | |||
120 | ®_dc5ldo { | ||
121 | regulator-always-on; | ||
122 | regulator-min-microvolt = <700000>; | ||
123 | regulator-max-microvolt = <1320000>; | ||
124 | regulator-name = "vdd-cpus"; /* This is an educated guess */ | ||
125 | }; | ||
126 | |||
127 | ®_dcdc1 { | ||
128 | regulator-always-on; | ||
129 | regulator-min-microvolt = <3000000>; | ||
130 | regulator-max-microvolt = <3000000>; | ||
131 | regulator-name = "vcc-3v0"; | ||
132 | }; | ||
133 | |||
134 | ®_dcdc2 { | ||
135 | regulator-min-microvolt = <700000>; | ||
136 | regulator-max-microvolt = <1320000>; | ||
137 | regulator-name = "vdd-gpu"; | ||
138 | }; | ||
139 | |||
140 | ®_dcdc3 { | ||
141 | regulator-always-on; | ||
142 | regulator-min-microvolt = <700000>; | ||
143 | regulator-max-microvolt = <1320000>; | ||
144 | regulator-name = "vdd-cpu"; | ||
145 | }; | ||
146 | |||
147 | ®_dcdc4 { | ||
148 | regulator-always-on; | ||
149 | regulator-min-microvolt = <700000>; | ||
150 | regulator-max-microvolt = <1320000>; | ||
151 | regulator-name = "vdd-sys-dll"; | ||
152 | }; | ||
153 | |||
154 | ®_dcdc5 { | ||
155 | regulator-always-on; | ||
156 | regulator-min-microvolt = <1500000>; | ||
157 | regulator-max-microvolt = <1500000>; | ||
158 | regulator-name = "vcc-dram"; | ||
159 | }; | ||
160 | |||
161 | ®_dldo1 { | ||
162 | regulator-min-microvolt = <3300000>; | ||
163 | regulator-max-microvolt = <3300000>; | ||
164 | regulator-name = "vcc-wifi"; | ||
165 | }; | ||
166 | |||
167 | ®_drivevbus { | ||
168 | regulator-name = "usb0-vbus"; | ||
169 | status = "okay"; | ||
170 | }; | ||
171 | |||
172 | &simplefb_lcd { | ||
173 | vcc-lcd-supply = <®_dc1sw>; | ||
174 | }; | ||
175 | |||
176 | &usb_otg { | ||
177 | dr_mode = "otg"; | ||
178 | status = "okay"; | ||
179 | }; | ||
180 | |||
181 | &usb_power_supply { | ||
182 | status = "okay"; | ||
183 | }; | ||
184 | |||
185 | &usbphy { | ||
186 | pinctrl-names = "default"; | ||
187 | pinctrl-0 = <&usb0_id_detect_pin>; | ||
188 | usb0_id_det-gpio = <&pio 0 15 GPIO_ACTIVE_HIGH>; /* PA15 */ | ||
189 | usb0_vbus_power-supply = <&usb_power_supply>; | ||
190 | usb0_vbus-supply = <®_drivevbus>; | ||
191 | usb1_vbus-supply = <®_dldo1>; | ||
192 | status = "okay"; | ||
193 | }; | ||
diff --git a/arch/arm/boot/dts/sun8i-a23-a33.dtsi b/arch/arm/boot/dts/sun8i-a23-a33.dtsi index 7e05e09e61c7..6d6509c71009 100644 --- a/arch/arm/boot/dts/sun8i-a23-a33.dtsi +++ b/arch/arm/boot/dts/sun8i-a23-a33.dtsi | |||
@@ -239,6 +239,14 @@ | |||
239 | "mmc2_sample"; | 239 | "mmc2_sample"; |
240 | }; | 240 | }; |
241 | 241 | ||
242 | nand_clk: clk@01c20080 { | ||
243 | #clock-cells = <0>; | ||
244 | compatible = "allwinner,sun4i-a10-mod0-clk"; | ||
245 | reg = <0x01c20080 0x4>; | ||
246 | clocks = <&osc24M>, <&pll6 1>; | ||
247 | clock-output-names = "nand"; | ||
248 | }; | ||
249 | |||
242 | usb_clk: clk@01c200cc { | 250 | usb_clk: clk@01c200cc { |
243 | #clock-cells = <1>; | 251 | #clock-cells = <1>; |
244 | #reset-cells = <1>; | 252 | #reset-cells = <1>; |
@@ -322,6 +330,19 @@ | |||
322 | #size-cells = <0>; | 330 | #size-cells = <0>; |
323 | }; | 331 | }; |
324 | 332 | ||
333 | nfc: nand@01c03000 { | ||
334 | compatible = "allwinner,sun4i-a10-nand"; | ||
335 | reg = <0x01c03000 0x1000>; | ||
336 | interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; | ||
337 | clocks = <&ahb1_gates 13>, <&nand_clk>; | ||
338 | clock-names = "ahb", "mod"; | ||
339 | resets = <&ahb1_rst 13>; | ||
340 | reset-names = "ahb"; | ||
341 | status = "disabled"; | ||
342 | #address-cells = <1>; | ||
343 | #size-cells = <0>; | ||
344 | }; | ||
345 | |||
325 | ehci0: usb@01c1a000 { | 346 | ehci0: usb@01c1a000 { |
326 | compatible = "allwinner,sun8i-a23-ehci", "generic-ehci"; | 347 | compatible = "allwinner,sun8i-a23-ehci", "generic-ehci"; |
327 | reg = <0x01c1a000 0x100>; | 348 | reg = <0x01c1a000 0x100>; |
diff --git a/arch/arm/boot/dts/sun8i-a23-gt90h-v4.dts b/arch/arm/boot/dts/sun8i-a23-gt90h-v4.dts index b2ce284a65a2..f27ebbbeac09 100644 --- a/arch/arm/boot/dts/sun8i-a23-gt90h-v4.dts +++ b/arch/arm/boot/dts/sun8i-a23-gt90h-v4.dts | |||
@@ -42,70 +42,18 @@ | |||
42 | 42 | ||
43 | /dts-v1/; | 43 | /dts-v1/; |
44 | #include "sun8i-a23.dtsi" | 44 | #include "sun8i-a23.dtsi" |
45 | #include "sunxi-common-regulators.dtsi" | 45 | #include "sun8i-reference-design-tablet.dtsi" |
46 | |||
47 | #include <dt-bindings/gpio/gpio.h> | ||
48 | #include <dt-bindings/input/input.h> | ||
49 | #include <dt-bindings/pinctrl/sun4i-a10.h> | ||
50 | #include <dt-bindings/pwm/pwm.h> | ||
51 | 46 | ||
52 | / { | 47 | / { |
53 | model = "Allwinner GT90H Dual Core Tablet (v4)"; | 48 | model = "Allwinner GT90H Dual Core Tablet (v4)"; |
54 | compatible = "allwinner,gt90h-v4", "allwinner,sun8i-a23"; | 49 | compatible = "allwinner,gt90h-v4", "allwinner,sun8i-a23"; |
55 | |||
56 | aliases { | ||
57 | serial0 = &r_uart; | ||
58 | }; | ||
59 | |||
60 | backlight: backlight { | ||
61 | compatible = "pwm-backlight"; | ||
62 | pinctrl-names = "default"; | ||
63 | pinctrl-0 = <&bl_en_pin_gt90h>; | ||
64 | pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>; | ||
65 | brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>; | ||
66 | default-brightness-level = <8>; | ||
67 | enable-gpios = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */ | ||
68 | }; | ||
69 | |||
70 | chosen { | ||
71 | stdout-path = "serial0:115200n8"; | ||
72 | }; | ||
73 | }; | 50 | }; |
74 | 51 | ||
75 | &ehci0 { | 52 | &ehci0 { |
76 | status = "okay"; | 53 | status = "okay"; |
77 | }; | 54 | }; |
78 | 55 | ||
79 | &i2c0 { | ||
80 | pinctrl-names = "default"; | ||
81 | pinctrl-0 = <&i2c0_pins_a>; | ||
82 | status = "okay"; | ||
83 | }; | ||
84 | |||
85 | &i2c1 { | ||
86 | pinctrl-names = "default"; | ||
87 | pinctrl-0 = <&i2c1_pins_a>; | ||
88 | status = "okay"; | ||
89 | }; | ||
90 | |||
91 | &lradc { | 56 | &lradc { |
92 | vref-supply = <®_vcc3v0>; | ||
93 | status = "okay"; | ||
94 | |||
95 | button@200 { | ||
96 | label = "Volume Up"; | ||
97 | linux,code = <KEY_VOLUMEUP>; | ||
98 | channel = <0>; | ||
99 | voltage = <200000>; | ||
100 | }; | ||
101 | |||
102 | button@400 { | ||
103 | label = "Volume Down"; | ||
104 | linux,code = <KEY_VOLUMEDOWN>; | ||
105 | channel = <0>; | ||
106 | voltage = <400000>; | ||
107 | }; | ||
108 | |||
109 | button@600 { | 57 | button@600 { |
110 | label = "Back"; | 58 | label = "Back"; |
111 | linux,code = <KEY_BACK>; | 59 | linux,code = <KEY_BACK>; |
@@ -114,144 +62,6 @@ | |||
114 | }; | 62 | }; |
115 | }; | 63 | }; |
116 | 64 | ||
117 | &mmc0 { | ||
118 | pinctrl-names = "default"; | ||
119 | pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_gt90h>; | ||
120 | vmmc-supply = <®_aldo1>; | ||
121 | bus-width = <4>; | ||
122 | cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ | ||
123 | cd-inverted; | ||
124 | status = "okay"; | ||
125 | }; | ||
126 | |||
127 | &pio { | ||
128 | bl_en_pin_gt90h: bl_en_pin@0 { | ||
129 | allwinner,pins = "PH6"; | ||
130 | allwinner,function = "gpio_in"; | ||
131 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
132 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | ||
133 | }; | ||
134 | |||
135 | mmc0_cd_pin_gt90h: mmc0_cd_pin@0 { | ||
136 | allwinner,pins = "PB4"; | ||
137 | allwinner,function = "gpio_in"; | ||
138 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
139 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | ||
140 | }; | ||
141 | }; | ||
142 | |||
143 | &pwm { | ||
144 | pinctrl-names = "default"; | ||
145 | pinctrl-0 = <&pwm0_pins>; | ||
146 | status = "okay"; | ||
147 | }; | ||
148 | |||
149 | &r_rsb { | ||
150 | status = "okay"; | ||
151 | |||
152 | axp22x: pmic@3a3 { | ||
153 | compatible = "x-powers,axp223"; | ||
154 | reg = <0x3a3>; | ||
155 | interrupt-parent = <&nmi_intc>; | ||
156 | interrupts = <0 IRQ_TYPE_LEVEL_LOW>; | ||
157 | eldoin-supply = <®_dcdc1>; | ||
158 | }; | ||
159 | }; | ||
160 | |||
161 | &r_uart { | ||
162 | pinctrl-names = "default"; | ||
163 | pinctrl-0 = <&r_uart_pins_a>; | ||
164 | status = "okay"; | ||
165 | }; | ||
166 | |||
167 | #include "axp22x.dtsi" | ||
168 | |||
169 | ®_aldo1 { | ||
170 | regulator-always-on; | ||
171 | regulator-min-microvolt = <3000000>; | ||
172 | regulator-max-microvolt = <3000000>; | ||
173 | regulator-name = "vcc-io"; | ||
174 | }; | ||
175 | |||
176 | ®_aldo2 { | ||
177 | regulator-always-on; | ||
178 | regulator-min-microvolt = <2350000>; | ||
179 | regulator-max-microvolt = <2650000>; | ||
180 | regulator-name = "vdd-dll"; | ||
181 | }; | ||
182 | |||
183 | ®_aldo3 { | ||
184 | regulator-always-on; | ||
185 | regulator-min-microvolt = <2700000>; | ||
186 | regulator-max-microvolt = <3300000>; | ||
187 | regulator-name = "vcc-pll-avcc"; | ||
188 | }; | ||
189 | |||
190 | ®_dc1sw { | ||
191 | regulator-name = "vcc-lcd"; | ||
192 | }; | ||
193 | |||
194 | ®_dc5ldo { | ||
195 | regulator-always-on; | ||
196 | regulator-min-microvolt = <900000>; | ||
197 | regulator-max-microvolt = <1400000>; | ||
198 | regulator-name = "vdd-cpus"; | ||
199 | }; | ||
200 | |||
201 | ®_dcdc1 { | ||
202 | regulator-always-on; | ||
203 | regulator-min-microvolt = <3000000>; | ||
204 | regulator-max-microvolt = <3000000>; | ||
205 | regulator-name = "vcc-3v0"; | ||
206 | }; | ||
207 | |||
208 | ®_dcdc2 { | ||
209 | regulator-always-on; | ||
210 | regulator-min-microvolt = <900000>; | ||
211 | regulator-max-microvolt = <1400000>; | ||
212 | regulator-name = "vdd-sys"; | ||
213 | }; | ||
214 | |||
215 | ®_dcdc3 { | ||
216 | regulator-always-on; | ||
217 | regulator-min-microvolt = <900000>; | ||
218 | regulator-max-microvolt = <1400000>; | ||
219 | regulator-name = "vdd-cpu"; | ||
220 | }; | ||
221 | |||
222 | ®_dcdc5 { | ||
223 | regulator-always-on; | ||
224 | regulator-min-microvolt = <1500000>; | ||
225 | regulator-max-microvolt = <1500000>; | ||
226 | regulator-name = "vcc-dram"; | ||
227 | }; | ||
228 | |||
229 | ®_dldo1 { | ||
230 | regulator-min-microvolt = <3300000>; | ||
231 | regulator-max-microvolt = <3300000>; | ||
232 | regulator-name = "vcc-wifi"; | ||
233 | }; | ||
234 | |||
235 | ®_rtc_ldo { | ||
236 | regulator-name = "vcc-rtc"; | ||
237 | }; | ||
238 | |||
239 | &simplefb_lcd { | ||
240 | vcc-lcd-supply = <®_dc1sw>; | ||
241 | }; | ||
242 | |||
243 | /* | ||
244 | * FIXME for now we only support host mode and rely on u-boot to have | ||
245 | * turned on Vbus which is controlled by the axp223 pmic on the board. | ||
246 | * | ||
247 | * Once we have axp223 support we should switch to fully supporting otg. | ||
248 | */ | ||
249 | &usb_otg { | ||
250 | dr_mode = "host"; | ||
251 | status = "okay"; | ||
252 | }; | ||
253 | |||
254 | &usbphy { | 65 | &usbphy { |
255 | usb1_vbus-supply = <®_dldo1>; | 66 | usb1_vbus-supply = <®_dldo1>; |
256 | status = "okay"; | ||
257 | }; | 67 | }; |
diff --git a/arch/arm/boot/dts/sun8i-a23-polaroid-mid2407pxe03.dts b/arch/arm/boot/dts/sun8i-a23-polaroid-mid2407pxe03.dts index e3004428e7a7..4789aac89955 100644 --- a/arch/arm/boot/dts/sun8i-a23-polaroid-mid2407pxe03.dts +++ b/arch/arm/boot/dts/sun8i-a23-polaroid-mid2407pxe03.dts | |||
@@ -47,4 +47,46 @@ | |||
47 | / { | 47 | / { |
48 | model = "Polaroid MID2407PXE03 tablet"; | 48 | model = "Polaroid MID2407PXE03 tablet"; |
49 | compatible = "polaroid,mid2407pxe03", "allwinner,sun8i-a23"; | 49 | compatible = "polaroid,mid2407pxe03", "allwinner,sun8i-a23"; |
50 | |||
51 | aliases { | ||
52 | ethernet0 = &esp8089; | ||
53 | }; | ||
54 | |||
55 | wifi_pwrseq: wifi_pwrseq { | ||
56 | compatible = "mmc-pwrseq-simple"; | ||
57 | pinctrl-names = "default"; | ||
58 | pinctrl-0 = <&wifi_pwrseq_pin_mid2407>; | ||
59 | reset-gpios = <&r_pio 0 6 GPIO_ACTIVE_LOW>; /* PL6 */ | ||
60 | /* The esp8089 needs 200 ms after driving wifi-en high */ | ||
61 | post-power-on-delay-ms = <200>; | ||
62 | }; | ||
63 | }; | ||
64 | |||
65 | &mmc1 { | ||
66 | pinctrl-names = "default"; | ||
67 | pinctrl-0 = <&mmc1_pins_a>; | ||
68 | vmmc-supply = <®_dldo1>; | ||
69 | mmc-pwrseq = <&wifi_pwrseq>; | ||
70 | bus-width = <4>; | ||
71 | non-removable; | ||
72 | status = "okay"; | ||
73 | |||
74 | esp8089: sdio_wifi@1 { | ||
75 | compatible = "esp,esp8089"; | ||
76 | reg = <1>; | ||
77 | esp,crystal-26M-en = <2>; | ||
78 | }; | ||
79 | }; | ||
80 | |||
81 | &mmc1_pins_a { | ||
82 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | ||
83 | }; | ||
84 | |||
85 | &r_pio { | ||
86 | wifi_pwrseq_pin_mid2407: wifi_pwrseq_pin@0 { | ||
87 | allwinner,pins = "PL6"; | ||
88 | allwinner,function = "gpio_out"; | ||
89 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
90 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | ||
91 | }; | ||
50 | }; | 92 | }; |
diff --git a/arch/arm/boot/dts/sun8i-a23-polaroid-mid2809pxe04.dts b/arch/arm/boot/dts/sun8i-a23-polaroid-mid2809pxe04.dts index 6d06e24d446b..c9213caf7424 100644 --- a/arch/arm/boot/dts/sun8i-a23-polaroid-mid2809pxe04.dts +++ b/arch/arm/boot/dts/sun8i-a23-polaroid-mid2809pxe04.dts | |||
@@ -47,4 +47,46 @@ | |||
47 | / { | 47 | / { |
48 | model = "Polaroid MID2809PXE04 tablet"; | 48 | model = "Polaroid MID2809PXE04 tablet"; |
49 | compatible = "polaroid,mid2809pxe04", "allwinner,sun8i-a23"; | 49 | compatible = "polaroid,mid2809pxe04", "allwinner,sun8i-a23"; |
50 | |||
51 | aliases { | ||
52 | ethernet0 = &esp8089; | ||
53 | }; | ||
54 | |||
55 | wifi_pwrseq: wifi_pwrseq { | ||
56 | compatible = "mmc-pwrseq-simple"; | ||
57 | pinctrl-names = "default"; | ||
58 | pinctrl-0 = <&wifi_pwrseq_pin_mid2809>; | ||
59 | reset-gpios = <&r_pio 0 6 GPIO_ACTIVE_LOW>; /* PL6 */ | ||
60 | /* The esp8089 needs 200 ms after driving wifi-en high */ | ||
61 | post-power-on-delay-ms = <200>; | ||
62 | }; | ||
63 | }; | ||
64 | |||
65 | &mmc1 { | ||
66 | pinctrl-names = "default"; | ||
67 | pinctrl-0 = <&mmc1_pins_a>; | ||
68 | vmmc-supply = <®_dldo1>; | ||
69 | mmc-pwrseq = <&wifi_pwrseq>; | ||
70 | bus-width = <4>; | ||
71 | non-removable; | ||
72 | status = "okay"; | ||
73 | |||
74 | esp8089: sdio_wifi@1 { | ||
75 | compatible = "esp,esp8089"; | ||
76 | reg = <1>; | ||
77 | esp,crystal-26M-en = <2>; | ||
78 | }; | ||
79 | }; | ||
80 | |||
81 | &mmc1_pins_a { | ||
82 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | ||
83 | }; | ||
84 | |||
85 | &r_pio { | ||
86 | wifi_pwrseq_pin_mid2809: wifi_pwrseq_pin@0 { | ||
87 | allwinner,pins = "PL6"; | ||
88 | allwinner,function = "gpio_out"; | ||
89 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
90 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | ||
91 | }; | ||
50 | }; | 92 | }; |
diff --git a/arch/arm/boot/dts/sun8i-a33-ga10h-v1.1.dts b/arch/arm/boot/dts/sun8i-a33-ga10h-v1.1.dts index 65660324005c..de6269dcac3a 100644 --- a/arch/arm/boot/dts/sun8i-a33-ga10h-v1.1.dts +++ b/arch/arm/boot/dts/sun8i-a33-ga10h-v1.1.dts | |||
@@ -47,6 +47,11 @@ | |||
47 | / { | 47 | / { |
48 | model = "Allwinner GA10H Quad Core Tablet (v1.1)"; | 48 | model = "Allwinner GA10H Quad Core Tablet (v1.1)"; |
49 | compatible = "allwinner,ga10h-v1.1", "allwinner,sun8i-a33"; | 49 | compatible = "allwinner,ga10h-v1.1", "allwinner,sun8i-a33"; |
50 | |||
51 | aliases { | ||
52 | /* Make u-boot set mac-address for rtl8703as (no eeprom) */ | ||
53 | ethernet0 = &rtl8703as; | ||
54 | }; | ||
50 | }; | 55 | }; |
51 | 56 | ||
52 | &ehci0 { | 57 | &ehci0 { |
@@ -62,6 +67,19 @@ | |||
62 | }; | 67 | }; |
63 | }; | 68 | }; |
64 | 69 | ||
70 | &mmc1 { | ||
71 | pinctrl-names = "default"; | ||
72 | pinctrl-0 = <&mmc1_pins_a>; | ||
73 | vmmc-supply = <®_dldo1>; | ||
74 | bus-width = <4>; | ||
75 | non-removable; | ||
76 | status = "okay"; | ||
77 | |||
78 | rtl8703as: sdio_wifi@1 { | ||
79 | reg = <1>; | ||
80 | }; | ||
81 | }; | ||
82 | |||
65 | &ohci0 { | 83 | &ohci0 { |
66 | status = "okay"; | 84 | status = "okay"; |
67 | }; | 85 | }; |
diff --git a/arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts b/arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts new file mode 100644 index 000000000000..0f52cd9dfa41 --- /dev/null +++ b/arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts | |||
@@ -0,0 +1,88 @@ | |||
1 | /* | ||
2 | * Copyright 2015 Hans de Goede <hdegoede@redhat.com> | ||
3 | * Copyright 2016 Icenowy Zheng <icenowy@aosc.xyz> | ||
4 | * | ||
5 | * This file is dual-licensed: you can use it either under the terms | ||
6 | * of the GPL or the X11 license, at your option. Note that this dual | ||
7 | * licensing only applies to this file, and not this project as a | ||
8 | * whole. | ||
9 | * | ||
10 | * a) This file is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public License as | ||
12 | * published by the Free Software Foundation; either version 2 of the | ||
13 | * License, or (at your option) any later version. | ||
14 | * | ||
15 | * This file is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | * GNU General Public License for more details. | ||
19 | * | ||
20 | * Or, alternatively, | ||
21 | * | ||
22 | * b) Permission is hereby granted, free of charge, to any person | ||
23 | * obtaining a copy of this software and associated documentation | ||
24 | * files (the "Software"), to deal in the Software without | ||
25 | * restriction, including without limitation the rights to use, | ||
26 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
27 | * sell copies of the Software, and to permit persons to whom the | ||
28 | * Software is furnished to do so, subject to the following | ||
29 | * conditions: | ||
30 | * | ||
31 | * The above copyright notice and this permission notice shall be | ||
32 | * included in all copies or substantial portions of the Software. | ||
33 | * | ||
34 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
35 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
36 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
37 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
38 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
39 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
40 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
41 | * OTHER DEALINGS IN THE SOFTWARE. | ||
42 | */ | ||
43 | |||
44 | /dts-v1/; | ||
45 | #include "sun8i-a33.dtsi" | ||
46 | #include "sun8i-reference-design-tablet.dtsi" | ||
47 | |||
48 | / { | ||
49 | model = "INet-D978 Rev 02"; | ||
50 | compatible = "primux,inet-d978-rev2", "allwinner,sun8i-a33"; | ||
51 | |||
52 | leds { | ||
53 | compatible = "gpio-leds"; | ||
54 | pinctrl-names = "default"; | ||
55 | pinctrl-0 = <&led_pin_d978>; | ||
56 | |||
57 | home { | ||
58 | label = "d978:blue:home"; | ||
59 | gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */ | ||
60 | }; | ||
61 | }; | ||
62 | }; | ||
63 | |||
64 | &mmc1_pins_a { | ||
65 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | ||
66 | }; | ||
67 | |||
68 | &mmc1 { | ||
69 | pinctrl-names = "default"; | ||
70 | pinctrl-0 = <&mmc1_pins_a>; | ||
71 | vmmc-supply = <®_dldo1>; | ||
72 | bus-width = <4>; | ||
73 | non-removable; | ||
74 | status = "okay"; | ||
75 | |||
76 | rtl8723bs: sdio_wifi@1 { | ||
77 | reg = <1>; | ||
78 | }; | ||
79 | }; | ||
80 | |||
81 | &r_pio { | ||
82 | led_pin_d978: led_pin_d978@0 { | ||
83 | allwinner,pins = "PL5"; | ||
84 | allwinner,function = "gpio_out"; | ||
85 | allwinner,drive = <SUN4I_PINCTRL_20_MA>; | ||
86 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | ||
87 | }; | ||
88 | }; | ||
diff --git a/arch/arm/boot/dts/sun8i-a33-olinuxino.dts b/arch/arm/boot/dts/sun8i-a33-olinuxino.dts new file mode 100644 index 000000000000..9ea637e82b2d --- /dev/null +++ b/arch/arm/boot/dts/sun8i-a33-olinuxino.dts | |||
@@ -0,0 +1,226 @@ | |||
1 | /* | ||
2 | * Copyright 2016 - Stefan Mavrodiev <stefan.mavrodiev@gmail.com> | ||
3 | * Olimex LTD. <support@olimex.com> | ||
4 | * | ||
5 | * This file is dual-licensed: you can use it either under the terms | ||
6 | * of the GPL or the X11 license, at your option. Note that this dual | ||
7 | * licensing only applies to this file, and not this project as a | ||
8 | * whole. | ||
9 | * | ||
10 | * a) This file is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public License as | ||
12 | * published by the Free Software Foundation; either version 2 of the | ||
13 | * License, or (at your option) any later version. | ||
14 | * | ||
15 | * This file is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | * GNU General Public License for more details. | ||
19 | * | ||
20 | * Or, alternatively, | ||
21 | * | ||
22 | * b) Permission is hereby granted, free of charge, to any person | ||
23 | * obtaining a copy of this software and associated documentation | ||
24 | * files (the "Software"), to deal in the Software without | ||
25 | * restriction, including without limitation the rights to use, | ||
26 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
27 | * sell copies of the Software, and to permit persons to whom the | ||
28 | * Software is furnished to do so, subject to the following | ||
29 | * conditions: | ||
30 | * | ||
31 | * The above copyright notice and this permission notice shall be | ||
32 | * included in all copies or substantial portions of the Software. | ||
33 | * | ||
34 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
35 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
36 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
37 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
38 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
39 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
40 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
41 | * OTHER DEALINGS IN THE SOFTWARE. | ||
42 | */ | ||
43 | |||
44 | /dts-v1/; | ||
45 | #include "sun8i-a33.dtsi" | ||
46 | #include "sunxi-common-regulators.dtsi" | ||
47 | |||
48 | #include <dt-bindings/gpio/gpio.h> | ||
49 | #include <dt-bindings/input/input.h> | ||
50 | |||
51 | / { | ||
52 | model = "Olimex A33-OLinuXino"; | ||
53 | compatible = "olimex,a33-olinuxino","allwinner,sun8i-a33"; | ||
54 | |||
55 | aliases { | ||
56 | serial0 = &uart0; | ||
57 | }; | ||
58 | |||
59 | chosen { | ||
60 | stdout-path = "serial0:115200n8"; | ||
61 | }; | ||
62 | |||
63 | leds { | ||
64 | compatible = "gpio-leds"; | ||
65 | pinctrl-names = "default"; | ||
66 | pinctrl-0 = <&led_pin_olinuxino>; | ||
67 | |||
68 | green { | ||
69 | label = "a33-olinuxino:green:usr"; | ||
70 | gpios = <&pio 1 7 GPIO_ACTIVE_HIGH>; | ||
71 | }; | ||
72 | }; | ||
73 | }; | ||
74 | |||
75 | &ehci0 { | ||
76 | status = "okay"; | ||
77 | }; | ||
78 | |||
79 | &mmc0 { | ||
80 | pinctrl-names = "default"; | ||
81 | pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino>; | ||
82 | vmmc-supply = <®_dcdc1>; | ||
83 | bus-width = <4>; | ||
84 | cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ | ||
85 | cd-inverted; | ||
86 | status = "okay"; | ||
87 | }; | ||
88 | |||
89 | &ohci0 { | ||
90 | status = "okay"; | ||
91 | }; | ||
92 | |||
93 | &pio { | ||
94 | led_pin_olinuxino: led_pins@0 { | ||
95 | allwinner,pins = "PB7"; | ||
96 | allwinner,function = "gpio_out"; | ||
97 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
98 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | ||
99 | }; | ||
100 | |||
101 | mmc0_cd_pin_olinuxino: mmc0_cd_pin@0 { | ||
102 | allwinner,pins = "PB4"; | ||
103 | allwinner,function = "gpio_in"; | ||
104 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
105 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | ||
106 | }; | ||
107 | |||
108 | usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||
109 | allwinner,pins = "PB3"; | ||
110 | allwinner,function = "gpio_in"; | ||
111 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
112 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | ||
113 | }; | ||
114 | }; | ||
115 | |||
116 | &r_rsb { | ||
117 | status = "okay"; | ||
118 | |||
119 | axp22x: pmic@3a3 { | ||
120 | compatible = "x-powers,axp223"; | ||
121 | reg = <0x3a3>; | ||
122 | interrupt-parent = <&nmi_intc>; | ||
123 | interrupts = <0 IRQ_TYPE_LEVEL_LOW>; | ||
124 | eldoin-supply = <®_dcdc1>; | ||
125 | x-powers,drive-vbus-en; | ||
126 | }; | ||
127 | }; | ||
128 | |||
129 | #include "axp22x.dtsi" | ||
130 | |||
131 | ®_aldo1 { | ||
132 | regulator-always-on; | ||
133 | regulator-min-microvolt = <3300000>; | ||
134 | regulator-max-microvolt = <3300000>; | ||
135 | regulator-name = "vcc-io"; | ||
136 | }; | ||
137 | |||
138 | ®_aldo2 { | ||
139 | regulator-always-on; | ||
140 | regulator-min-microvolt = <2350000>; | ||
141 | regulator-max-microvolt = <2650000>; | ||
142 | regulator-name = "vdd-dll"; | ||
143 | }; | ||
144 | |||
145 | ®_aldo3 { | ||
146 | regulator-always-on; | ||
147 | regulator-min-microvolt = <3300000>; | ||
148 | regulator-max-microvolt = <3300000>; | ||
149 | regulator-name = "vcc-avcc"; | ||
150 | }; | ||
151 | |||
152 | ®_dc1sw { | ||
153 | regulator-name = "vcc-lcd"; | ||
154 | }; | ||
155 | |||
156 | ®_dc5ldo { | ||
157 | regulator-always-on; | ||
158 | regulator-min-microvolt = <900000>; | ||
159 | regulator-max-microvolt = <1400000>; | ||
160 | regulator-name = "vdd-cpus"; | ||
161 | }; | ||
162 | |||
163 | ®_dcdc1 { | ||
164 | regulator-always-on; | ||
165 | regulator-min-microvolt = <3300000>; | ||
166 | regulator-max-microvolt = <3300000>; | ||
167 | regulator-name = "vcc-3v3"; | ||
168 | }; | ||
169 | |||
170 | ®_dcdc2 { | ||
171 | regulator-always-on; | ||
172 | regulator-min-microvolt = <900000>; | ||
173 | regulator-max-microvolt = <1400000>; | ||
174 | regulator-name = "vdd-sys"; | ||
175 | }; | ||
176 | |||
177 | ®_dcdc3 { | ||
178 | regulator-always-on; | ||
179 | regulator-min-microvolt = <900000>; | ||
180 | regulator-max-microvolt = <1400000>; | ||
181 | regulator-name = "vdd-cpu"; | ||
182 | }; | ||
183 | |||
184 | ®_dcdc5 { | ||
185 | regulator-always-on; | ||
186 | regulator-min-microvolt = <1500000>; | ||
187 | regulator-max-microvolt = <1500000>; | ||
188 | regulator-name = "vcc-dram"; | ||
189 | }; | ||
190 | |||
191 | ®_drivevbus { | ||
192 | regulator-name = "usb0-vbus"; | ||
193 | status = "okay"; | ||
194 | }; | ||
195 | |||
196 | ®_rtc_ldo { | ||
197 | regulator-name = "vcc-rtc"; | ||
198 | }; | ||
199 | |||
200 | &simplefb_lcd { | ||
201 | vcc-lcd-supply = <®_dc1sw>; | ||
202 | }; | ||
203 | |||
204 | &uart0 { | ||
205 | pinctrl-names = "default"; | ||
206 | pinctrl-0 = <&uart0_pins_b>; | ||
207 | status = "okay"; | ||
208 | }; | ||
209 | |||
210 | &usb_otg { | ||
211 | dr_mode = "otg"; | ||
212 | status = "okay"; | ||
213 | }; | ||
214 | |||
215 | &usb_power_supply { | ||
216 | status = "okay"; | ||
217 | }; | ||
218 | |||
219 | &usbphy { | ||
220 | pinctrl-names = "default"; | ||
221 | pinctrl-0 = <&usb0_id_detect_pin>; | ||
222 | usb0_id_det-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */ | ||
223 | usb0_vbus_power-supply = <&usb_power_supply>; | ||
224 | usb0_vbus-supply = <®_drivevbus>; | ||
225 | status = "okay"; | ||
226 | }; | ||
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts new file mode 100644 index 000000000000..3d64cafc1e90 --- /dev/null +++ b/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts | |||
@@ -0,0 +1,125 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2016 James Pettigrew <james@innovum.com.au> | ||
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 "sun8i-h3.dtsi" | ||
45 | #include "sunxi-common-regulators.dtsi" | ||
46 | |||
47 | #include <dt-bindings/gpio/gpio.h> | ||
48 | #include <dt-bindings/pinctrl/sun4i-a10.h> | ||
49 | |||
50 | / { | ||
51 | model = "FriendlyARM NanoPi NEO"; | ||
52 | compatible = "friendlyarm,nanopi-neo", "allwinner,sun8i-h3"; | ||
53 | |||
54 | aliases { | ||
55 | serial0 = &uart0; | ||
56 | }; | ||
57 | |||
58 | chosen { | ||
59 | stdout-path = "serial0:115200n8"; | ||
60 | }; | ||
61 | |||
62 | leds { | ||
63 | compatible = "gpio-leds"; | ||
64 | pinctrl-names = "default"; | ||
65 | pinctrl-0 = <&leds_opc>, <&leds_r_opc>; | ||
66 | |||
67 | pwr { | ||
68 | label = "nanopi:green:pwr"; | ||
69 | gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */ | ||
70 | default-state = "on"; | ||
71 | }; | ||
72 | |||
73 | status { | ||
74 | label = "nanopi:blue:status"; | ||
75 | gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */ | ||
76 | }; | ||
77 | }; | ||
78 | }; | ||
79 | |||
80 | &ehci3 { | ||
81 | status = "okay"; | ||
82 | }; | ||
83 | |||
84 | &mmc0 { | ||
85 | pinctrl-names = "default"; | ||
86 | pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; | ||
87 | vmmc-supply = <®_vcc3v3>; | ||
88 | bus-width = <4>; | ||
89 | cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ | ||
90 | cd-inverted; | ||
91 | status = "okay"; | ||
92 | }; | ||
93 | |||
94 | &ohci3 { | ||
95 | status = "okay"; | ||
96 | }; | ||
97 | |||
98 | &pio { | ||
99 | leds_opc: led-pins { | ||
100 | allwinner,pins = "PA10"; | ||
101 | allwinner,function = "gpio_out"; | ||
102 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
103 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | ||
104 | }; | ||
105 | }; | ||
106 | |||
107 | &r_pio { | ||
108 | leds_r_opc: led-pins { | ||
109 | allwinner,pins = "PL10"; | ||
110 | allwinner,function = "gpio_out"; | ||
111 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
112 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | ||
113 | }; | ||
114 | }; | ||
115 | |||
116 | &uart0 { | ||
117 | pinctrl-names = "default"; | ||
118 | pinctrl-0 = <&uart0_pins_a>; | ||
119 | status = "okay"; | ||
120 | }; | ||
121 | |||
122 | &usbphy { | ||
123 | /* USB VBUS is always on */ | ||
124 | status = "okay"; | ||
125 | }; | ||
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts index f93f5d1695c4..f89fe00ddec5 100644 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts | |||
@@ -54,6 +54,8 @@ | |||
54 | 54 | ||
55 | aliases { | 55 | aliases { |
56 | serial0 = &uart0; | 56 | serial0 = &uart0; |
57 | /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */ | ||
58 | ethernet1 = &rtl8189; | ||
57 | }; | 59 | }; |
58 | 60 | ||
59 | chosen { | 61 | chosen { |
@@ -131,6 +133,14 @@ | |||
131 | bus-width = <4>; | 133 | bus-width = <4>; |
132 | non-removable; | 134 | non-removable; |
133 | status = "okay"; | 135 | status = "okay"; |
136 | |||
137 | /* | ||
138 | * Explicitly define the sdio device, so that we can add an ethernet | ||
139 | * alias for it (which e.g. makes u-boot set a mac-address). | ||
140 | */ | ||
141 | rtl8189: sdio_wifi@1 { | ||
142 | reg = <1>; | ||
143 | }; | ||
134 | }; | 144 | }; |
135 | 145 | ||
136 | &pio { | 146 | &pio { |
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts new file mode 100644 index 000000000000..1550fee1ec68 --- /dev/null +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts | |||
@@ -0,0 +1,178 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2016 Hans de Goede <hdegoede@redhat.com> | ||
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 "sun8i-h3.dtsi" | ||
45 | #include "sunxi-common-regulators.dtsi" | ||
46 | |||
47 | #include <dt-bindings/gpio/gpio.h> | ||
48 | #include <dt-bindings/input/input.h> | ||
49 | #include <dt-bindings/pinctrl/sun4i-a10.h> | ||
50 | |||
51 | / { | ||
52 | model = "Xunlong Orange Pi Lite"; | ||
53 | compatible = "xunlong,orangepi-lite", "allwinner,sun8i-h3"; | ||
54 | |||
55 | aliases { | ||
56 | /* The H3 emac is not used so the wifi is ethernet0 */ | ||
57 | ethernet0 = &rtl8189ftv; | ||
58 | serial0 = &uart0; | ||
59 | }; | ||
60 | |||
61 | chosen { | ||
62 | stdout-path = "serial0:115200n8"; | ||
63 | }; | ||
64 | |||
65 | leds { | ||
66 | compatible = "gpio-leds"; | ||
67 | pinctrl-names = "default"; | ||
68 | pinctrl-0 = <&leds_opc>, <&leds_r_opc>; | ||
69 | |||
70 | pwr_led { | ||
71 | label = "orangepi:green:pwr"; | ||
72 | gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; | ||
73 | default-state = "on"; | ||
74 | }; | ||
75 | |||
76 | status_led { | ||
77 | label = "orangepi:red:status"; | ||
78 | gpios = <&pio 0 15 GPIO_ACTIVE_HIGH>; | ||
79 | }; | ||
80 | }; | ||
81 | |||
82 | r_gpio_keys { | ||
83 | compatible = "gpio-keys"; | ||
84 | pinctrl-names = "default"; | ||
85 | pinctrl-0 = <&sw_r_opc>; | ||
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 | &ehci1 { | ||
96 | status = "okay"; | ||
97 | }; | ||
98 | |||
99 | &ehci2 { | ||
100 | status = "okay"; | ||
101 | }; | ||
102 | |||
103 | &ir { | ||
104 | pinctrl-names = "default"; | ||
105 | pinctrl-0 = <&ir_pins_a>; | ||
106 | status = "okay"; | ||
107 | }; | ||
108 | |||
109 | &mmc0 { | ||
110 | pinctrl-names = "default"; | ||
111 | pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; | ||
112 | vmmc-supply = <®_vcc3v3>; | ||
113 | bus-width = <4>; | ||
114 | cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ | ||
115 | cd-inverted; | ||
116 | status = "okay"; | ||
117 | }; | ||
118 | |||
119 | &mmc1 { | ||
120 | pinctrl-names = "default"; | ||
121 | pinctrl-0 = <&mmc1_pins_a>; | ||
122 | vmmc-supply = <®_vcc3v3>; | ||
123 | bus-width = <4>; | ||
124 | non-removable; | ||
125 | status = "okay"; | ||
126 | |||
127 | /* | ||
128 | * Explicitly define the sdio device, so that we can add an ethernet | ||
129 | * alias for it (which e.g. makes u-boot set a mac-address). | ||
130 | */ | ||
131 | rtl8189ftv: sdio_wifi@1 { | ||
132 | reg = <1>; | ||
133 | }; | ||
134 | }; | ||
135 | |||
136 | &ohci1 { | ||
137 | status = "okay"; | ||
138 | }; | ||
139 | |||
140 | &ohci2 { | ||
141 | status = "okay"; | ||
142 | }; | ||
143 | |||
144 | &pio { | ||
145 | leds_opc: led_pins@0 { | ||
146 | allwinner,pins = "PA15"; | ||
147 | allwinner,function = "gpio_out"; | ||
148 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
149 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | ||
150 | }; | ||
151 | }; | ||
152 | |||
153 | &r_pio { | ||
154 | leds_r_opc: led_pins@0 { | ||
155 | allwinner,pins = "PL10"; | ||
156 | allwinner,function = "gpio_out"; | ||
157 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
158 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | ||
159 | }; | ||
160 | |||
161 | sw_r_opc: key_pins@0 { | ||
162 | allwinner,pins = "PL3"; | ||
163 | allwinner,function = "gpio_in"; | ||
164 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
165 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | ||
166 | }; | ||
167 | }; | ||
168 | |||
169 | &uart0 { | ||
170 | pinctrl-names = "default"; | ||
171 | pinctrl-0 = <&uart0_pins_a>; | ||
172 | status = "okay"; | ||
173 | }; | ||
174 | |||
175 | &usbphy { | ||
176 | /* USB VBUS is always on */ | ||
177 | status = "okay"; | ||
178 | }; | ||
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts new file mode 100644 index 000000000000..851fd2c2cc8c --- /dev/null +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts | |||
@@ -0,0 +1,88 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2016 Hans de Goede <hdegoede@redhat.com> | ||
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 | /* The Orange Pi PC Plus is an extended version of the regular PC */ | ||
44 | #include "sun8i-h3-orangepi-pc.dts" | ||
45 | |||
46 | / { | ||
47 | model = "Xunlong Orange Pi PC Plus"; | ||
48 | compatible = "xunlong,orangepi-pc-plus", "allwinner,sun8i-h3"; | ||
49 | |||
50 | aliases { | ||
51 | /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */ | ||
52 | ethernet1 = &rtl8189ftv; | ||
53 | }; | ||
54 | }; | ||
55 | |||
56 | &mmc1 { | ||
57 | pinctrl-names = "default"; | ||
58 | pinctrl-0 = <&mmc1_pins_a>; | ||
59 | vmmc-supply = <®_vcc3v3>; | ||
60 | bus-width = <4>; | ||
61 | non-removable; | ||
62 | status = "okay"; | ||
63 | |||
64 | /* | ||
65 | * Explicitly define the sdio device, so that we can add an ethernet | ||
66 | * alias for it (which e.g. makes u-boot set a mac-address). | ||
67 | */ | ||
68 | rtl8189ftv: sdio_wifi@1 { | ||
69 | reg = <1>; | ||
70 | }; | ||
71 | }; | ||
72 | |||
73 | &mmc2 { | ||
74 | pinctrl-names = "default"; | ||
75 | pinctrl-0 = <&mmc2_8bit_pins>; | ||
76 | vmmc-supply = <®_vcc3v3>; | ||
77 | bus-width = <8>; | ||
78 | non-removable; | ||
79 | cap-mmc-hw-reset; | ||
80 | status = "okay"; | ||
81 | }; | ||
82 | |||
83 | &mmc2_8bit_pins { | ||
84 | /* Increase drive strength for DDR modes */ | ||
85 | allwinner,drive = <SUN4I_PINCTRL_40_MA>; | ||
86 | /* eMMC is missing pull-ups */ | ||
87 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | ||
88 | }; | ||
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts index b0cb41787e09..bb585918cf54 100644 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | |||
@@ -44,7 +44,7 @@ | |||
44 | #include "sun8i-h3-orangepi-2.dts" | 44 | #include "sun8i-h3-orangepi-2.dts" |
45 | 45 | ||
46 | / { | 46 | / { |
47 | model = "Xunlong Orange Pi Plus"; | 47 | model = "Xunlong Orange Pi Plus / Plus 2"; |
48 | compatible = "xunlong,orangepi-plus", "allwinner,sun8i-h3"; | 48 | compatible = "xunlong,orangepi-plus", "allwinner,sun8i-h3"; |
49 | 49 | ||
50 | reg_usb3_vbus: usb3-vbus { | 50 | reg_usb3_vbus: usb3-vbus { |
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts new file mode 100644 index 000000000000..5851a47a3089 --- /dev/null +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts | |||
@@ -0,0 +1,53 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2016 Hans de Goede <hdegoede@redhat.com> | ||
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 | /* | ||
44 | * The Orange Pi Plus 2E is an extended version of the Orange Pi PC Plus, | ||
45 | * with 2G RAM and an external gbit ethernet phy. | ||
46 | */ | ||
47 | |||
48 | #include "sun8i-h3-orangepi-pc-plus.dts" | ||
49 | |||
50 | / { | ||
51 | model = "Xunlong Orange Pi Plus 2E"; | ||
52 | compatible = "xunlong,orangepi-plus2e", "allwinner,sun8i-h3"; | ||
53 | }; | ||
diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi index fdf9fdbda267..6d83b8674201 100644 --- a/arch/arm/boot/dts/sun8i-h3.dtsi +++ b/arch/arm/boot/dts/sun8i-h3.dtsi | |||
@@ -389,6 +389,14 @@ | |||
389 | interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; | 389 | interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; |
390 | }; | 390 | }; |
391 | 391 | ||
392 | pwm: pwm@01c21400 { | ||
393 | compatible = "allwinner,sun8i-h3-pwm"; | ||
394 | reg = <0x01c21400 0x8>; | ||
395 | clocks = <&osc24M>; | ||
396 | #pwm-cells = <3>; | ||
397 | status = "disabled"; | ||
398 | }; | ||
399 | |||
392 | uart0: serial@01c28000 { | 400 | uart0: serial@01c28000 { |
393 | compatible = "snps,dw-apb-uart"; | 401 | compatible = "snps,dw-apb-uart"; |
394 | reg = <0x01c28000 0x400>; | 402 | reg = <0x01c28000 0x400>; |
diff --git a/arch/arm/boot/dts/sun8i-q8-common.dtsi b/arch/arm/boot/dts/sun8i-q8-common.dtsi index 60fa9585022b..29f837a47771 100644 --- a/arch/arm/boot/dts/sun8i-q8-common.dtsi +++ b/arch/arm/boot/dts/sun8i-q8-common.dtsi | |||
@@ -42,10 +42,59 @@ | |||
42 | #include "sunxi-reference-design-tablet.dtsi" | 42 | #include "sunxi-reference-design-tablet.dtsi" |
43 | #include "sun8i-reference-design-tablet.dtsi" | 43 | #include "sun8i-reference-design-tablet.dtsi" |
44 | 44 | ||
45 | / { | ||
46 | aliases { | ||
47 | serial0 = &r_uart; | ||
48 | /* Make u-boot set mac-address for wifi without an eeprom */ | ||
49 | ethernet0 = &sdio_wifi; | ||
50 | }; | ||
51 | |||
52 | wifi_pwrseq: wifi_pwrseq { | ||
53 | compatible = "mmc-pwrseq-simple"; | ||
54 | /* | ||
55 | * Q8 boards use various PL# pins as wifi-en. On other boards | ||
56 | * these may be connected to a wifi module output pin. To avoid | ||
57 | * short-circuits we configure these as inputs with pull-ups via | ||
58 | * pinctrl, instead of listing them as active-low reset-gpios. | ||
59 | */ | ||
60 | pinctrl-names = "default"; | ||
61 | pinctrl-0 = <&wifi_pwrseq_pin_q8>; | ||
62 | /* The esp8089 needs 200 ms after driving wifi-en high */ | ||
63 | post-power-on-delay-ms = <200>; | ||
64 | }; | ||
65 | }; | ||
66 | |||
45 | &ehci0 { | 67 | &ehci0 { |
46 | status = "okay"; | 68 | status = "okay"; |
47 | }; | 69 | }; |
48 | 70 | ||
71 | &mmc1 { | ||
72 | pinctrl-names = "default"; | ||
73 | pinctrl-0 = <&mmc1_pins_a>; | ||
74 | vmmc-supply = <®_dldo1>; | ||
75 | mmc-pwrseq = <&wifi_pwrseq>; | ||
76 | bus-width = <4>; | ||
77 | non-removable; | ||
78 | status = "okay"; | ||
79 | |||
80 | sdio_wifi: sdio_wifi@1 { | ||
81 | reg = <1>; | ||
82 | }; | ||
83 | }; | ||
84 | |||
85 | &mmc1_pins_a { | ||
86 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | ||
87 | }; | ||
88 | |||
89 | &r_pio { | ||
90 | wifi_pwrseq_pin_q8: wifi_pwrseq_pin@0 { | ||
91 | allwinner,pins = "PL6", "PL7", "PL11"; | ||
92 | allwinner,function = "gpio_in"; | ||
93 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
94 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | ||
95 | }; | ||
96 | }; | ||
97 | |||
49 | &usbphy { | 98 | &usbphy { |
50 | usb1_vbus-supply = <®_dldo1>; | 99 | usb1_vbus-supply = <®_dldo1>; |
51 | }; | 100 | }; |
diff --git a/arch/arm/boot/dts/sun8i-reference-design-tablet.dtsi b/arch/arm/boot/dts/sun8i-reference-design-tablet.dtsi index 9d9036140511..08cd00143635 100644 --- a/arch/arm/boot/dts/sun8i-reference-design-tablet.dtsi +++ b/arch/arm/boot/dts/sun8i-reference-design-tablet.dtsi | |||
@@ -63,6 +63,25 @@ | |||
63 | }; | 63 | }; |
64 | }; | 64 | }; |
65 | 65 | ||
66 | &i2c0 { | ||
67 | /* | ||
68 | * The gsl1680 is rated at 400KHz and it will not work reliable at | ||
69 | * 100KHz, this has been confirmed on multiple different q8 tablets. | ||
70 | * The gsl1680 is the only device on this bus. | ||
71 | */ | ||
72 | clock-frequency = <400000>; | ||
73 | |||
74 | touchscreen: touchscreen@0 { | ||
75 | interrupt-parent = <&pio>; | ||
76 | interrupts = <1 5 IRQ_TYPE_EDGE_FALLING>; /* PB5 */ | ||
77 | pinctrl-names = "default"; | ||
78 | pinctrl-0 = <&ts_power_pin>; | ||
79 | power-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ | ||
80 | /* Tablet dts must provide reg and compatible */ | ||
81 | status = "disabled"; | ||
82 | }; | ||
83 | }; | ||
84 | |||
66 | &mmc0 { | 85 | &mmc0 { |
67 | pinctrl-names = "default"; | 86 | pinctrl-names = "default"; |
68 | pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; | 87 | pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; |
@@ -88,6 +107,13 @@ | |||
88 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | 107 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; |
89 | }; | 108 | }; |
90 | 109 | ||
110 | ts_power_pin: ts_power_pin@0 { | ||
111 | allwinner,pins = "PH1"; | ||
112 | allwinner,function = "gpio_out"; | ||
113 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | ||
114 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | ||
115 | }; | ||
116 | |||
91 | usb0_id_detect_pin: usb0_id_detect_pin@0 { | 117 | usb0_id_detect_pin: usb0_id_detect_pin@0 { |
92 | allwinner,pins = "PH8"; | 118 | allwinner,pins = "PH8"; |
93 | allwinner,function = "gpio_in"; | 119 | allwinner,function = "gpio_in"; |
diff --git a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts index 1526b41c70f1..04b014603659 100644 --- a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts +++ b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | |||
@@ -103,6 +103,11 @@ | |||
103 | allwinner,drive = <SUN4I_PINCTRL_40_MA>; | 103 | allwinner,drive = <SUN4I_PINCTRL_40_MA>; |
104 | }; | 104 | }; |
105 | 105 | ||
106 | &osc32k { | ||
107 | /* osc32k input is from AC100 */ | ||
108 | clocks = <&ac100_rtc 0>; | ||
109 | }; | ||
110 | |||
106 | &pio { | 111 | &pio { |
107 | led_pins_cubieboard4: led-pins@0 { | 112 | led_pins_cubieboard4: led-pins@0 { |
108 | allwinner,pins = "PH6", "PH17"; | 113 | allwinner,pins = "PH6", "PH17"; |
@@ -250,6 +255,30 @@ | |||
250 | }; | 255 | }; |
251 | }; | 256 | }; |
252 | }; | 257 | }; |
258 | |||
259 | ac100: codec@e89 { | ||
260 | compatible = "x-powers,ac100"; | ||
261 | reg = <0xe89>; | ||
262 | |||
263 | ac100_codec: codec { | ||
264 | compatible = "x-powers,ac100-codec"; | ||
265 | interrupt-parent = <&r_pio>; | ||
266 | interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */ | ||
267 | #clock-cells = <0>; | ||
268 | clock-output-names = "4M_adda"; | ||
269 | }; | ||
270 | |||
271 | ac100_rtc: rtc { | ||
272 | compatible = "x-powers,ac100-rtc"; | ||
273 | interrupt-parent = <&nmi_intc>; | ||
274 | interrupts = <0 IRQ_TYPE_LEVEL_LOW>; | ||
275 | clocks = <&ac100_codec>; | ||
276 | #clock-cells = <1>; | ||
277 | clock-output-names = "cko1_rtc", | ||
278 | "cko2_rtc", | ||
279 | "cko3_rtc"; | ||
280 | }; | ||
281 | }; | ||
253 | }; | 282 | }; |
254 | 283 | ||
255 | #include "axp809.dtsi" | 284 | #include "axp809.dtsi" |
diff --git a/arch/arm/boot/dts/sun9i-a80-optimus.dts b/arch/arm/boot/dts/sun9i-a80-optimus.dts index 7fd22e888602..fd874ded890e 100644 --- a/arch/arm/boot/dts/sun9i-a80-optimus.dts +++ b/arch/arm/boot/dts/sun9i-a80-optimus.dts | |||
@@ -152,6 +152,11 @@ | |||
152 | status = "okay"; | 152 | status = "okay"; |
153 | }; | 153 | }; |
154 | 154 | ||
155 | &osc32k { | ||
156 | /* osc32k input is from AC100 */ | ||
157 | clocks = <&ac100_rtc 0>; | ||
158 | }; | ||
159 | |||
155 | &pio { | 160 | &pio { |
156 | led_pins_optimus: led-pins@0 { | 161 | led_pins_optimus: led-pins@0 { |
157 | allwinner,pins = "PH0", "PH1"; | 162 | allwinner,pins = "PH0", "PH1"; |
@@ -322,6 +327,30 @@ | |||
322 | }; | 327 | }; |
323 | }; | 328 | }; |
324 | }; | 329 | }; |
330 | |||
331 | ac100: codec@e89 { | ||
332 | compatible = "x-powers,ac100"; | ||
333 | reg = <0xe89>; | ||
334 | |||
335 | ac100_codec: codec { | ||
336 | compatible = "x-powers,ac100-codec"; | ||
337 | interrupt-parent = <&r_pio>; | ||
338 | interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */ | ||
339 | #clock-cells = <0>; | ||
340 | clock-output-names = "4M_adda"; | ||
341 | }; | ||
342 | |||
343 | ac100_rtc: rtc { | ||
344 | compatible = "x-powers,ac100-rtc"; | ||
345 | interrupt-parent = <&nmi_intc>; | ||
346 | interrupts = <0 IRQ_TYPE_LEVEL_LOW>; | ||
347 | clocks = <&ac100_codec>; | ||
348 | #clock-cells = <1>; | ||
349 | clock-output-names = "cko1_rtc", | ||
350 | "cko2_rtc", | ||
351 | "cko3_rtc"; | ||
352 | }; | ||
353 | }; | ||
325 | }; | 354 | }; |
326 | 355 | ||
327 | #include "axp809.dtsi" | 356 | #include "axp809.dtsi" |
diff --git a/arch/arm/boot/dts/sun9i-a80.dtsi b/arch/arm/boot/dts/sun9i-a80.dtsi index f68b3242b33a..3c5214cbe4e6 100644 --- a/arch/arm/boot/dts/sun9i-a80.dtsi +++ b/arch/arm/boot/dts/sun9i-a80.dtsi | |||
@@ -148,15 +148,14 @@ | |||
148 | 148 | ||
149 | /* | 149 | /* |
150 | * The 32k clock is from an external source, normally the | 150 | * The 32k clock is from an external source, normally the |
151 | * AC100 codec/RTC chip. This clock is by default enabled | 151 | * AC100 codec/RTC chip. This serves as a placeholder for |
152 | * and clocked at 32768 Hz, from the oscillator connected | 152 | * board dts files to specify the source. |
153 | * to the AC100. It is configurable, but no such driver or | ||
154 | * bindings exist yet. | ||
155 | */ | 153 | */ |
156 | osc32k: osc32k_clk { | 154 | osc32k: osc32k_clk { |
157 | #clock-cells = <0>; | 155 | #clock-cells = <0>; |
158 | compatible = "fixed-clock"; | 156 | compatible = "fixed-factor-clock"; |
159 | clock-frequency = <32768>; | 157 | clock-div = <1>; |
158 | clock-mult = <1>; | ||
160 | clock-output-names = "osc32k"; | 159 | clock-output-names = "osc32k"; |
161 | }; | 160 | }; |
162 | 161 | ||
@@ -899,8 +898,7 @@ | |||
899 | resets = <&apbs_rst 0>; | 898 | resets = <&apbs_rst 0>; |
900 | gpio-controller; | 899 | gpio-controller; |
901 | interrupt-controller; | 900 | interrupt-controller; |
902 | #address-cells = <1>; | 901 | #interrupt-cells = <3>; |
903 | #size-cells = <0>; | ||
904 | #gpio-cells = <3>; | 902 | #gpio-cells = <3>; |
905 | 903 | ||
906 | r_ir_pins: r_ir { | 904 | r_ir_pins: r_ir { |