Commit 3551b24f5354fc47bb4ddf99d2f095ccc6b03f2d
1 parent
cd38e3d1b4
Exists in
v2017.01-smarct4x
and in
25 other branches
sunxi: Add defconfig and dts file for inet86dz board
The inet86dz board is a board used in 7" tablets from various oems. These tablets are a23 based 7" tablets featuring a 1024x600 LCD, 512MB RAM, 4G NAND, rtl8188etv usb wifi, gsl1680 touchschreen, micro-sd slot, 3.5mm headphone jack and a micro-usb otg connector which doubles as charging port. The dts file this commit adds is identical to the one submitted to the upstream kernel. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
Showing 4 changed files with 319 additions and 0 deletions Side-by-side Diff
arch/arm/dts/Makefile
arch/arm/dts/sun8i-a23-inet86dz.dts
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 "sun8i-a23.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 | +#include <dt-bindings/pwm/pwm.h> | |
51 | + | |
52 | +/ { | |
53 | + model = "INet-86DZ Rev 01"; | |
54 | + compatible = "primux,inet86dz", "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_inet86dz>; | |
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 | +}; | |
74 | + | |
75 | +&ehci0 { | |
76 | + status = "okay"; | |
77 | +}; | |
78 | + | |
79 | +&i2c0 { | |
80 | + pinctrl-names = "default"; | |
81 | + pinctrl-0 = <&i2c0_pins_a>; | |
82 | + status = "okay"; | |
83 | + /* | |
84 | + * The gsl1680 is rated at 400KHz and it will not work reliable at | |
85 | + * 100KHz, this has been confirmed on multiple different tablets. | |
86 | + * The gsl1680 is the only device on this bus. | |
87 | + */ | |
88 | + clock-frequency = <400000>; | |
89 | + | |
90 | + gsl1680: touchscreen@40 { | |
91 | + compatible = "silead,gsl1680"; | |
92 | + reg = <0x40>; | |
93 | + interrupt-parent = <&pio>; | |
94 | + interrupts = <1 5 IRQ_TYPE_EDGE_FALLING>; /* PB5 */ | |
95 | + pinctrl-names = "default"; | |
96 | + pinctrl-0 = <&ts_power_pin_inet86dz>; | |
97 | + power-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ | |
98 | + touchscreen-size-x = <960>; | |
99 | + touchscreen-size-y = <640>; | |
100 | + touchscreen-max-fingers = <5>; | |
101 | + touchscreen-fw-name = "silead/gsl1680-inet86dz.fw"; | |
102 | + }; | |
103 | +}; | |
104 | + | |
105 | +&i2c1 { | |
106 | + pinctrl-names = "default"; | |
107 | + pinctrl-0 = <&i2c1_pins_a>; | |
108 | + status = "okay"; | |
109 | +}; | |
110 | + | |
111 | +&lradc { | |
112 | + vref-supply = <®_vcc3v0>; | |
113 | + status = "okay"; | |
114 | + | |
115 | + button@200 { | |
116 | + label = "Volume Up"; | |
117 | + linux,code = <KEY_VOLUMEUP>; | |
118 | + channel = <0>; | |
119 | + voltage = <200000>; | |
120 | + }; | |
121 | + | |
122 | + button@400 { | |
123 | + label = "Volume Down"; | |
124 | + linux,code = <KEY_VOLUMEDOWN>; | |
125 | + channel = <0>; | |
126 | + voltage = <400000>; | |
127 | + }; | |
128 | +}; | |
129 | + | |
130 | +&mmc0 { | |
131 | + pinctrl-names = "default"; | |
132 | + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_inet86dz>; | |
133 | + vmmc-supply = <®_dcdc1>; | |
134 | + bus-width = <4>; | |
135 | + cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ | |
136 | + cd-inverted; | |
137 | + status = "okay"; | |
138 | +}; | |
139 | + | |
140 | +&pio { | |
141 | + bl_en_pin_inet86dz: bl_en_pin@0 { | |
142 | + allwinner,pins = "PH6"; | |
143 | + allwinner,function = "gpio_in"; | |
144 | + allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
145 | + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
146 | + }; | |
147 | + | |
148 | + mmc0_cd_pin_inet86dz: mmc0_cd_pin@0 { | |
149 | + allwinner,pins = "PB4"; | |
150 | + allwinner,function = "gpio_in"; | |
151 | + allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
152 | + allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | |
153 | + }; | |
154 | + | |
155 | + ts_power_pin_inet86dz: ts_power_pin@0 { | |
156 | + allwinner,pins = "PH1"; | |
157 | + allwinner,function = "gpio_out"; | |
158 | + allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
159 | + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
160 | + }; | |
161 | + | |
162 | + usb0_id_detect_pin: usb0_id_detect_pin@0 { | |
163 | + allwinner,pins = "PH8"; | |
164 | + allwinner,function = "gpio_in"; | |
165 | + allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
166 | + allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | |
167 | + }; | |
168 | +}; | |
169 | + | |
170 | +&pwm { | |
171 | + pinctrl-names = "default"; | |
172 | + pinctrl-0 = <&pwm0_pins>; | |
173 | + status = "okay"; | |
174 | +}; | |
175 | + | |
176 | +&r_rsb { | |
177 | + status = "okay"; | |
178 | + | |
179 | + axp22x: pmic@3a3 { | |
180 | + compatible = "x-powers,axp223"; | |
181 | + reg = <0x3a3>; | |
182 | + interrupt-parent = <&nmi_intc>; | |
183 | + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; | |
184 | + eldoin-supply = <®_dcdc1>; | |
185 | + x-powers,drive-vbus-en; | |
186 | + }; | |
187 | +}; | |
188 | + | |
189 | +&r_uart { | |
190 | + pinctrl-names = "default"; | |
191 | + pinctrl-0 = <&r_uart_pins_a>; | |
192 | + status = "okay"; | |
193 | +}; | |
194 | + | |
195 | +#include "axp22x.dtsi" | |
196 | + | |
197 | +®_aldo1 { | |
198 | + regulator-always-on; | |
199 | + regulator-min-microvolt = <3000000>; | |
200 | + regulator-max-microvolt = <3000000>; | |
201 | + regulator-name = "vcc-io"; | |
202 | +}; | |
203 | + | |
204 | +®_aldo2 { | |
205 | + regulator-always-on; | |
206 | + regulator-min-microvolt = <2350000>; | |
207 | + regulator-max-microvolt = <2650000>; | |
208 | + regulator-name = "vdd-dll"; | |
209 | +}; | |
210 | + | |
211 | +®_aldo3 { | |
212 | + regulator-always-on; | |
213 | + regulator-min-microvolt = <2700000>; | |
214 | + regulator-max-microvolt = <3300000>; | |
215 | + regulator-name = "vcc-pll-avcc"; | |
216 | +}; | |
217 | + | |
218 | +®_dc1sw { | |
219 | + regulator-name = "vcc-lcd"; | |
220 | +}; | |
221 | + | |
222 | +®_dc5ldo { | |
223 | + regulator-always-on; | |
224 | + regulator-min-microvolt = <900000>; | |
225 | + regulator-max-microvolt = <1400000>; | |
226 | + regulator-name = "vdd-cpus"; | |
227 | +}; | |
228 | + | |
229 | +®_dcdc1 { | |
230 | + regulator-always-on; | |
231 | + regulator-min-microvolt = <3000000>; | |
232 | + regulator-max-microvolt = <3000000>; | |
233 | + regulator-name = "vcc-3v0"; | |
234 | +}; | |
235 | + | |
236 | +®_dcdc2 { | |
237 | + regulator-always-on; | |
238 | + regulator-min-microvolt = <900000>; | |
239 | + regulator-max-microvolt = <1400000>; | |
240 | + regulator-name = "vdd-sys"; | |
241 | +}; | |
242 | + | |
243 | +®_dcdc3 { | |
244 | + regulator-always-on; | |
245 | + regulator-min-microvolt = <900000>; | |
246 | + regulator-max-microvolt = <1400000>; | |
247 | + regulator-name = "vdd-cpu"; | |
248 | +}; | |
249 | + | |
250 | +®_dcdc5 { | |
251 | + regulator-always-on; | |
252 | + regulator-min-microvolt = <1500000>; | |
253 | + regulator-max-microvolt = <1500000>; | |
254 | + regulator-name = "vcc-dram"; | |
255 | +}; | |
256 | + | |
257 | +®_dldo1 { | |
258 | + regulator-min-microvolt = <3300000>; | |
259 | + regulator-max-microvolt = <3300000>; | |
260 | + regulator-name = "vcc-wifi"; | |
261 | +}; | |
262 | + | |
263 | +®_drivevbus { | |
264 | + regulator-name = "usb0-vbus"; | |
265 | + status = "okay"; | |
266 | +}; | |
267 | + | |
268 | +®_rtc_ldo { | |
269 | + regulator-name = "vcc-rtc"; | |
270 | +}; | |
271 | + | |
272 | +&simplefb_lcd { | |
273 | + vcc-lcd-supply = <®_dc1sw>; | |
274 | +}; | |
275 | + | |
276 | +&usb_otg { | |
277 | + dr_mode = "otg"; | |
278 | + status = "okay"; | |
279 | +}; | |
280 | + | |
281 | +&usb_power_supply { | |
282 | + status = "okay"; | |
283 | +}; | |
284 | + | |
285 | +&usbphy { | |
286 | + pinctrl-names = "default"; | |
287 | + pinctrl-0 = <&usb0_id_detect_pin>; | |
288 | + usb0_id_det-gpio = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */ | |
289 | + usb0_vbus_power-supply = <&usb_power_supply>; | |
290 | + usb0_vbus-supply = <®_drivevbus>; | |
291 | + usb1_vbus-supply = <®_dldo1>; | |
292 | + status = "okay"; | |
293 | +}; |
board/sunxi/MAINTAINERS
configs/inet86dz_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_SUNXI=y | |
3 | +CONFIG_MACH_SUN8I_A23=y | |
4 | +CONFIG_DRAM_CLK=552 | |
5 | +CONFIG_DRAM_ZQ=63351 | |
6 | +CONFIG_MMC0_CD_PIN="PB4" | |
7 | +CONFIG_USB0_VBUS_PIN="AXP0-VBUS-ENABLE" | |
8 | +CONFIG_USB0_VBUS_DET="AXP0-VBUS-DETECT" | |
9 | +CONFIG_USB0_ID_DET="PH8" | |
10 | +CONFIG_AXP_GPIO=y | |
11 | +CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:18,pclk_khz:51000,le:138,ri:162,up:22,lo:10,hs:20,vs:3,sync:3,vmode:0" | |
12 | +CONFIG_VIDEO_LCD_DCLK_PHASE=0 | |
13 | +CONFIG_VIDEO_LCD_POWER="PH7" | |
14 | +CONFIG_VIDEO_LCD_BL_EN="PH6" | |
15 | +CONFIG_VIDEO_LCD_BL_PWM="PH0" | |
16 | +CONFIG_DEFAULT_DEVICE_TREE="sun8i-a23-inet86dz" | |
17 | +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set | |
18 | +CONFIG_SPL=y | |
19 | +CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5" | |
20 | +# CONFIG_CMD_IMLS is not set | |
21 | +# CONFIG_CMD_FLASH is not set | |
22 | +# CONFIG_CMD_FPGA is not set | |
23 | +CONFIG_AXP_DLDO1_VOLT=3300 | |
24 | +CONFIG_USB_MUSB_HOST=y |