Loading...
1// SPDX-License-Identifier: GPL-2.0-only
2
3/dts-v1/;
4
5#include "msm8916-pm8916.dtsi"
6
7#include <dt-bindings/gpio/gpio.h>
8#include <dt-bindings/input/input.h>
9#include <dt-bindings/interrupt-controller/irq.h>
10#include <dt-bindings/leds/common.h>
11
12/*
13 * NOTE: The original firmware from Acer can only boot 32-bit kernels.
14 * To boot this device tree using arm64 it is necessary to flash 64-bit
15 * TZ/HYP firmware (e.g. taken from the DragonBoard 410c).
16 * See https://wiki.postmarketos.org/wiki/Acer_Iconia_Talk_S_(acer-a1-724)
17 * for suggested installation instructions.
18 */
19
20/ {
21 model = "Acer Iconia Talk S A1-724";
22 compatible = "acer,a1-724", "qcom,msm8916";
23 chassis-type = "tablet";
24
25 aliases {
26 mmc0 = &sdhc_1; /* eMMC */
27 mmc1 = &sdhc_2; /* SD card */
28 serial0 = &blsp_uart2;
29 };
30
31 chosen {
32 stdout-path = "serial0";
33 };
34
35 gpio-keys {
36 compatible = "gpio-keys";
37
38 pinctrl-names = "default";
39 pinctrl-0 = <&gpio_keys_default>;
40
41 label = "GPIO Buttons";
42
43 button-volume-up {
44 label = "Volume Up";
45 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
46 linux,code = <KEY_VOLUMEUP>;
47 };
48 };
49
50 usb_id: usb-id {
51 compatible = "linux,extcon-usb-gpio";
52 id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
53 pinctrl-names = "default";
54 pinctrl-0 = <&usb_id_default>;
55 };
56};
57
58&blsp_i2c2 {
59 status = "okay";
60
61 accelerometer@10 {
62 compatible = "bosch,bmc150_accel";
63 reg = <0x10>;
64 interrupt-parent = <&tlmm>;
65 interrupts = <115 IRQ_TYPE_EDGE_RISING>;
66
67 vdd-supply = <&pm8916_l17>;
68 vddio-supply = <&pm8916_l6>;
69
70 pinctrl-names = "default";
71 pinctrl-0 = <&accel_int_default>;
72
73 mount-matrix = "0", "-1", "0",
74 "-1", "0", "0",
75 "0", "0", "1";
76 };
77
78 magnetometer@12 {
79 compatible = "bosch,bmc150_magn";
80 reg = <0x12>;
81
82 vdd-supply = <&pm8916_l17>;
83 vddio-supply = <&pm8916_l6>;
84 };
85};
86
87&blsp_i2c4 {
88 status = "okay";
89
90 led-controller@30 {
91 compatible = "kinetic,ktd2026";
92 reg = <0x30>;
93 #address-cells = <1>;
94 #size-cells = <0>;
95
96 led@0 {
97 reg = <0>;
98 function = LED_FUNCTION_STATUS;
99 color = <LED_COLOR_ID_RED>;
100 };
101
102 led@1 {
103 reg = <1>;
104 function = LED_FUNCTION_STATUS;
105 color = <LED_COLOR_ID_GREEN>;
106 };
107 };
108};
109
110&blsp_i2c5 {
111 status = "okay";
112
113 touchscreen@38 {
114 /* Actually ft5446 */
115 compatible = "edt,edt-ft5406";
116 reg = <0x38>;
117
118 interrupt-parent = <&tlmm>;
119 interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
120
121 reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>;
122
123 vcc-supply = <&pm8916_l16>;
124 iovcc-supply = <&pm8916_l6>;
125
126 touchscreen-size-x = <720>;
127 touchscreen-size-y = <1280>;
128
129 pinctrl-names = "default";
130 pinctrl-0 = <&touchscreen_default>;
131 };
132};
133
134&blsp_uart2 {
135 status = "okay";
136};
137
138&pm8916_resin {
139 linux,code = <KEY_VOLUMEDOWN>;
140 status = "okay";
141};
142
143&pm8916_rpm_regulators {
144 pm8916_l16: l16 {
145 regulator-min-microvolt = <2900000>;
146 regulator-max-microvolt = <2900000>;
147 };
148
149 pm8916_l17: l17 {
150 regulator-min-microvolt = <2850000>;
151 regulator-max-microvolt = <2850000>;
152 };
153};
154
155&pm8916_vib {
156 status = "okay";
157};
158
159&sdhc_1 {
160 status = "okay";
161};
162
163&sdhc_2 {
164 pinctrl-names = "default", "sleep";
165 pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
166 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
167
168 cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>;
169
170 status = "okay";
171};
172
173&usb {
174 extcon = <&usb_id>, <&usb_id>;
175 status = "okay";
176};
177
178&usb_hs_phy {
179 extcon = <&usb_id>;
180};
181
182&venus {
183 status = "okay";
184};
185
186&venus_mem {
187 status = "okay";
188};
189
190&wcnss {
191 status = "okay";
192};
193
194&wcnss_iris {
195 compatible = "qcom,wcn3620";
196};
197
198&wcnss_mem {
199 status = "okay";
200};
201
202&tlmm {
203 accel_int_default: accel-int-default-state {
204 pins = "gpio115";
205 function = "gpio";
206
207 drive-strength = <2>;
208 bias-disable;
209 };
210
211 gpio_keys_default: gpio-keys-default-state {
212 pins = "gpio107";
213 function = "gpio";
214
215 drive-strength = <2>;
216 bias-pull-up;
217 };
218
219 sdc2_cd_default: sdc2-cd-default-state {
220 pins = "gpio38";
221 function = "gpio";
222 drive-strength = <2>;
223 bias-disable;
224 };
225
226 touchscreen_default: touchscreen-default-state {
227 reset-pins {
228 pins = "gpio12";
229 function = "gpio";
230 drive-strength = <2>;
231 bias-disable;
232 };
233
234 touchscreen-pins {
235 pins = "gpio13";
236 function = "gpio";
237 drive-strength = <2>;
238 bias-pull-up;
239 };
240 };
241
242 usb_id_default: usb-id-default-state {
243 pins = "gpio110";
244 function = "gpio";
245
246 drive-strength = <8>;
247 bias-pull-up;
248 };
249};