arm64: dts: qcom: ipq8074: Fix hwlock index for SMEM
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / qcom / msm8916-alcatel-idol347.dts
1 // SPDX-License-Identifier: GPL-2.0-only
2
3 /dts-v1/;
4
5 #include "msm8916-pm8916.dtsi"
6 #include <dt-bindings/gpio/gpio.h>
7 #include <dt-bindings/input/input.h>
8 #include <dt-bindings/leds/common.h>
9
10 / {
11         model = "Alcatel OneTouch Idol 3 (4.7)";
12         compatible = "alcatel,idol347", "qcom,msm8916";
13         chassis-type = "handset";
14
15         aliases {
16                 mmc0 = &sdhc_1; /* eMMC */
17                 mmc1 = &sdhc_2; /* SD card */
18                 serial0 = &blsp_uart2;
19         };
20
21         chosen {
22                 stdout-path = "serial0";
23         };
24
25         gpio-keys {
26                 compatible = "gpio-keys";
27
28                 pinctrl-names = "default";
29                 pinctrl-0 = <&gpio_keys_default>;
30
31                 label = "GPIO Buttons";
32
33                 button-volume-up {
34                         label = "Volume Up";
35                         gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
36                         linux,code = <KEY_VOLUMEUP>;
37                 };
38         };
39
40         gpio-leds {
41                 compatible = "gpio-leds";
42
43                 pinctrl-names = "default";
44                 pinctrl-0 = <&gpio_leds_default>;
45
46                 led-0 {
47                         gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;
48                         linux,default-trigger = "torch";
49                         function = LED_FUNCTION_TORCH;
50                 };
51         };
52
53         usb_id: usb-id {
54                 compatible = "linux,extcon-usb-gpio";
55                 id-gpios = <&tlmm 69 GPIO_ACTIVE_HIGH>;
56                 pinctrl-names = "default";
57                 pinctrl-0 = <&usb_id_default>;
58         };
59 };
60
61 &blsp_uart2 {
62         status = "okay";
63 };
64
65 &blsp_i2c4 {
66         status = "okay";
67
68         touchscreen@26 {
69                 compatible = "mstar,msg2638";
70                 reg = <0x26>;
71                 interrupt-parent = <&tlmm>;
72                 interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
73                 reset-gpios = <&tlmm 100 GPIO_ACTIVE_LOW>;
74                 pinctrl-names = "default";
75                 pinctrl-0 = <&ts_int_reset_default>;
76                 vdd-supply = <&pm8916_l17>;
77                 vddio-supply = <&pm8916_l5>;
78                 touchscreen-size-x = <2048>;
79                 touchscreen-size-y = <2048>;
80         };
81 };
82
83 &blsp_i2c5 {
84         status = "okay";
85
86         magnetometer@c {
87                 compatible = "asahi-kasei,ak09911";
88                 reg = <0x0c>;
89                 vdd-supply = <&pm8916_l17>;
90                 vid-supply = <&pm8916_l6>;
91                 reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
92                 pinctrl-names = "default";
93                 pinctrl-0 = <&mag_reset_default>;
94                 mount-matrix = "0", "1", "0",
95                                "-1", "0", "0",
96                                "0", "0", "1";
97         };
98
99         accelerometer@f {
100                 compatible = "kionix,kxtj21009";
101                 reg = <0x0f>;
102                 vdd-supply = <&pm8916_l17>;
103                 vddio-supply = <&pm8916_l6>;
104                 interrupt-parent = <&tlmm>;
105                 interrupts = <31 IRQ_TYPE_EDGE_RISING>;
106                 pinctrl-names = "default";
107                 pinctrl-0 = <&accel_int_default>;
108                 mount-matrix = "-1", "0", "0",
109                                "0", "1", "0",
110                                "0", "0", "-1";
111         };
112
113         proximity@48 {
114                 compatible = "sensortek,stk3310";
115                 reg = <0x48>;
116                 interrupt-parent = <&tlmm>;
117                 interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
118                 pinctrl-names = "default";
119                 pinctrl-0 = <&proximity_int_default>;
120         };
121
122         gyroscope@68 {
123                 compatible = "bosch,bmg160";
124                 reg = <0x68>;
125                 vdd-supply = <&pm8916_l17>;
126                 vddio-supply = <&pm8916_l6>;
127                 interrupt-parent = <&tlmm>;
128                 interrupts = <97 IRQ_TYPE_EDGE_RISING>,
129                              <98 IRQ_TYPE_EDGE_RISING>;
130                 pinctrl-names = "default";
131                 pinctrl-0 = <&gyro_int_default>;
132         };
133 };
134
135 &blsp_i2c6 {
136         status = "okay";
137
138         led-controller@68 {
139                 compatible = "si-en,sn3190";
140                 reg = <0x68>;
141                 shutdown-gpios = <&tlmm 89 GPIO_ACTIVE_HIGH>;
142                 pinctrl-names = "default";
143                 pinctrl-0 = <&led_enable_default &led_shutdown_default>;
144                 #address-cells = <1>;
145                 #size-cells = <0>;
146
147                 led@1 {
148                         reg = <1>;
149                         led-max-microamp = <5000>;
150                         function = LED_FUNCTION_INDICATOR;
151                         color = <LED_COLOR_ID_WHITE>;
152                 };
153         };
154 };
155
156 &pm8916_resin {
157         status = "okay";
158         linux,code = <KEY_VOLUMEDOWN>;
159 };
160
161 &pm8916_rpm_regulators {
162         pm8916_l17: l17 {
163                 regulator-min-microvolt = <2850000>;
164                 regulator-max-microvolt = <2850000>;
165         };
166 };
167
168 &pm8916_vib {
169         status = "okay";
170 };
171
172 &sdhc_1 {
173         status = "okay";
174 };
175
176 &sdhc_2 {
177         status = "okay";
178
179         pinctrl-names = "default", "sleep";
180         pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
181         pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
182
183         cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
184 };
185
186 &usb {
187         status = "okay";
188         extcon = <&usb_id>, <&usb_id>;
189 };
190
191 &usb_hs_phy {
192         extcon = <&usb_id>;
193 };
194
195 &wcnss {
196         status = "okay";
197 };
198
199 &wcnss_iris {
200         compatible = "qcom,wcn3620";
201 };
202
203 &tlmm {
204         accel_int_default: accel-int-default-state {
205                 pins = "gpio31";
206                 function = "gpio";
207
208                 drive-strength = <2>;
209                 bias-disable;
210         };
211
212         gpio_keys_default: gpio-keys-default-state {
213                 pins = "gpio107";
214                 function = "gpio";
215
216                 drive-strength = <2>;
217                 bias-pull-up;
218         };
219
220         gpio_leds_default: gpio-leds-default-state {
221                 pins = "gpio32";
222                 function = "gpio";
223
224                 drive-strength = <2>;
225                 bias-disable;
226         };
227
228         gyro_int_default: gyro-int-default-state {
229                 pins = "gpio97", "gpio98";
230                 function = "gpio";
231
232                 drive-strength = <2>;
233                 bias-disable;
234         };
235
236         /*
237          * The OEM wired an additional GPIO to be asserted so that
238          * the si-en,sn3190 LED IC works. Since this GPIO is not
239          * part of the IC datasheet nor supported by the driver,
240          * force it asserted here.
241          */
242         led_enable_default: led-enable-default-state {
243                 pins = "gpio102";
244                 function = "gpio";
245
246                 drive-strength = <2>;
247                 bias-disable;
248                 output-high;
249         };
250
251         led_shutdown_default: led-shutdown-default-state {
252                 pins = "gpio89";
253                 function = "gpio";
254
255                 drive-strength = <2>;
256                 bias-disable;
257         };
258
259         mag_reset_default: mag-reset-default-state {
260                 pins = "gpio8";
261                 function = "gpio";
262
263                 drive-strength = <2>;
264                 bias-disable;
265         };
266
267         proximity_int_default: proximity-int-default-state {
268                 pins = "gpio12";
269                 function = "gpio";
270
271                 drive-strength = <6>;
272                 bias-pull-up;
273         };
274
275         sdc2_cd_default: sdc2-cd-default-state {
276                 pins = "gpio38";
277                 function = "gpio";
278                 drive-strength = <2>;
279                 bias-disable;
280         };
281
282         ts_int_reset_default: ts-int-reset-default-state {
283                 pins = "gpio13", "gpio100";
284                 function = "gpio";
285
286                 drive-strength = <2>;
287                 bias-disable;
288         };
289
290         usb_id_default: usb-id-default-state {
291                 pins = "gpio69";
292                 function = "gpio";
293
294                 drive-strength = <8>;
295                 bias-pull-up;
296         };
297 };