~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0-only
  2 
  3 /dts-v1/;
  4 
  5 #include "msm8916-pm8916.dtsi"
  6 #include "msm8916-modem-qdsp6.dtsi"
  7 
  8 #include <dt-bindings/gpio/gpio.h>
  9 #include <dt-bindings/input/input.h>
 10 #include <dt-bindings/leds/common.h>
 11 
 12 / {
 13         model = "Alcatel OneTouch Idol 3 (4.7)";
 14         compatible = "alcatel,idol347", "qcom,msm8916";
 15         chassis-type = "handset";
 16 
 17         aliases {
 18                 mmc0 = &sdhc_1; /* eMMC */
 19                 mmc1 = &sdhc_2; /* SD card */
 20                 serial0 = &blsp_uart2;
 21         };
 22 
 23         chosen {
 24                 stdout-path = "serial0";
 25         };
 26 
 27         reserved-memory {
 28                 /delete-node/ reserved@86680000;
 29                 /delete-node/ rmtfs@86700000;
 30 
 31                 rmtfs: rmtfs@86680000 {
 32                         compatible = "qcom,rmtfs-mem";
 33                         reg = <0x0 0x86680000 0x0 0x160000>;
 34                         no-map;
 35 
 36                         qcom,client-id = <1>;
 37                 };
 38         };
 39 
 40         gpio-keys {
 41                 compatible = "gpio-keys";
 42 
 43                 pinctrl-names = "default";
 44                 pinctrl-0 = <&gpio_keys_default>;
 45 
 46                 label = "GPIO Buttons";
 47 
 48                 button-volume-up {
 49                         label = "Volume Up";
 50                         gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
 51                         linux,code = <KEY_VOLUMEUP>;
 52                 };
 53         };
 54 
 55         gpio-leds {
 56                 compatible = "gpio-leds";
 57 
 58                 pinctrl-names = "default";
 59                 pinctrl-0 = <&gpio_leds_default>;
 60 
 61                 led-0 {
 62                         gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;
 63                         linux,default-trigger = "torch";
 64                         function = LED_FUNCTION_TORCH;
 65                 };
 66         };
 67 
 68         reg_headphones_avdd: regulator-headphones-avdd {
 69                 compatible = "regulator-fixed";
 70                 regulator-name = "headphones_avdd";
 71                 regulator-min-microvolt = <1800000>;
 72                 regulator-max-microvolt = <1800000>;
 73                 gpio = <&tlmm 121 GPIO_ACTIVE_HIGH>;
 74                 enable-active-high;
 75                 pinctrl-0 = <&headphones_avdd_default>;
 76                 pinctrl-names = "default";
 77         };
 78 
 79         usb_id: usb-id {
 80                 compatible = "linux,extcon-usb-gpio";
 81                 id-gpios = <&tlmm 69 GPIO_ACTIVE_HIGH>;
 82                 pinctrl-names = "default";
 83                 pinctrl-0 = <&usb_id_default>;
 84         };
 85 };
 86 
 87 &blsp_i2c3 {
 88         status = "okay";
 89 
 90         headphones: audio-codec@10 {
 91                 compatible = "asahi-kasei,ak4375";
 92                 reg = <0x10>;
 93                 avdd-supply = <&reg_headphones_avdd>;
 94                 tvdd-supply = <&pm8916_l6>;
 95                 pdn-gpios = <&tlmm 114 GPIO_ACTIVE_HIGH>;
 96                 pinctrl-0 = <&headphones_pdn_default>;
 97                 pinctrl-names = "default";
 98                 #sound-dai-cells = <0>;
 99         };
100 
101         speaker_codec_top: audio-codec@34 {
102                 compatible = "nxp,tfa9897";
103                 reg = <0x34>;
104                 vddd-supply = <&pm8916_l6>;
105                 rcv-gpios = <&tlmm 50 GPIO_ACTIVE_HIGH>;
106                 pinctrl-0 = <&speaker_top_default>;
107                 pinctrl-names = "default";
108                 sound-name-prefix = "Speaker Top";
109                 #sound-dai-cells = <0>;
110         };
111 
112         speaker_codec_bottom: audio-codec@36 {
113                 compatible = "nxp,tfa9897";
114                 reg = <0x36>;
115                 vddd-supply = <&pm8916_l6>;
116                 rcv-gpios = <&tlmm 111 GPIO_ACTIVE_HIGH>;
117                 pinctrl-0 = <&speaker_bottom_default>;
118                 pinctrl-names = "default";
119                 sound-name-prefix = "Speaker Bottom";
120                 #sound-dai-cells = <0>;
121         };
122 };
123 
124 &blsp_i2c4 {
125         status = "okay";
126 
127         touchscreen@26 {
128                 compatible = "mstar,msg2638";
129                 reg = <0x26>;
130                 interrupt-parent = <&tlmm>;
131                 interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
132                 reset-gpios = <&tlmm 100 GPIO_ACTIVE_LOW>;
133                 pinctrl-names = "default";
134                 pinctrl-0 = <&ts_int_reset_default>;
135                 vdd-supply = <&pm8916_l17>;
136                 vddio-supply = <&pm8916_l5>;
137                 touchscreen-size-x = <2048>;
138                 touchscreen-size-y = <2048>;
139         };
140 };
141 
142 &blsp_i2c5 {
143         status = "okay";
144 
145         magnetometer@c {
146                 compatible = "asahi-kasei,ak09911";
147                 reg = <0x0c>;
148                 vdd-supply = <&pm8916_l17>;
149                 vid-supply = <&pm8916_l6>;
150                 reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
151                 pinctrl-names = "default";
152                 pinctrl-0 = <&mag_reset_default>;
153                 mount-matrix = "0", "1", "0",
154                                "-1", "0", "0",
155                                "0", "0", "1";
156         };
157 
158         accelerometer@f {
159                 compatible = "kionix,kxtj21009";
160                 reg = <0x0f>;
161                 vdd-supply = <&pm8916_l17>;
162                 vddio-supply = <&pm8916_l6>;
163                 interrupt-parent = <&tlmm>;
164                 interrupts = <31 IRQ_TYPE_EDGE_RISING>;
165                 pinctrl-names = "default";
166                 pinctrl-0 = <&accel_int_default>;
167                 mount-matrix = "-1", "0", "0",
168                                "0", "1", "0",
169                                "0", "0", "-1";
170         };
171 
172         proximity@48 {
173                 compatible = "sensortek,stk3310";
174                 reg = <0x48>;
175                 interrupt-parent = <&tlmm>;
176                 interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
177                 pinctrl-names = "default";
178                 pinctrl-0 = <&proximity_int_default>;
179         };
180 
181         gyroscope@68 {
182                 compatible = "bosch,bmg160";
183                 reg = <0x68>;
184                 vdd-supply = <&pm8916_l17>;
185                 vddio-supply = <&pm8916_l6>;
186                 interrupt-parent = <&tlmm>;
187                 interrupts = <97 IRQ_TYPE_EDGE_RISING>,
188                              <98 IRQ_TYPE_EDGE_RISING>;
189                 pinctrl-names = "default";
190                 pinctrl-0 = <&gyro_int_default>;
191         };
192 };
193 
194 &blsp_i2c6 {
195         status = "okay";
196 
197         led-controller@68 {
198                 compatible = "si-en,sn3190";
199                 reg = <0x68>;
200                 shutdown-gpios = <&tlmm 89 GPIO_ACTIVE_HIGH>;
201                 pinctrl-names = "default";
202                 pinctrl-0 = <&led_enable_default &led_shutdown_default>;
203                 #address-cells = <1>;
204                 #size-cells = <0>;
205 
206                 led@1 {
207                         reg = <1>;
208                         led-max-microamp = <5000>;
209                         function = LED_FUNCTION_INDICATOR;
210                         color = <LED_COLOR_ID_WHITE>;
211                 };
212         };
213 };
214 
215 &blsp_uart2 {
216         status = "okay";
217 };
218 
219 &mpss_mem {
220         reg = <0x0 0x86800000 0x0 0x5000000>;
221 };
222 
223 &pm8916_codec {
224         qcom,micbias1-ext-cap;
225         qcom,micbias-lvl = <2800>;
226         qcom,mbhc-vthreshold-low = <75 100 120 180 500>;
227         qcom,mbhc-vthreshold-high = <75 100 120 180 500>;
228         qcom,hphl-jack-type-normally-open;
229 };
230 
231 &pm8916_resin {
232         status = "okay";
233         linux,code = <KEY_VOLUMEDOWN>;
234 };
235 
236 &pm8916_rpm_regulators {
237         pm8916_l17: l17 {
238                 regulator-min-microvolt = <2850000>;
239                 regulator-max-microvolt = <2850000>;
240         };
241 };
242 
243 &pm8916_vib {
244         status = "okay";
245 };
246 
247 &q6afedai {
248         dai@18 {
249                 reg = <SECONDARY_MI2S_RX>;
250                 qcom,sd-lines = <0>;
251         };
252         dai@22 {
253                 reg = <QUATERNARY_MI2S_RX>;
254                 qcom,sd-lines = <0>;
255         };
256 };
257 
258 &sdhc_1 {
259         status = "okay";
260 };
261 
262 &sdhc_2 {
263         status = "okay";
264 
265         pinctrl-names = "default", "sleep";
266         pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
267         pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
268 
269         cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
270 };
271 
272 &sound {
273         /* Add pin switches for speakers to allow disabling them individually */
274         model = "alcatel-idol3";
275         widgets =
276                 "Speaker", "Speaker Top",
277                 "Speaker", "Speaker Bottom";
278         pin-switches = "Speaker Top", "Speaker Bottom";
279         audio-routing =
280                 "Speaker Top", "Speaker Top OUT",
281                 "Speaker Bottom", "Speaker Bottom OUT",
282                 "AMIC1", "MIC BIAS External1",
283                 "AMIC2", "MIC BIAS Internal2",
284                 "AMIC3", "MIC BIAS External1";
285 
286         pinctrl-0 = <&cdc_pdm_default &pri_mi2s_default &pri_mi2s_ws_default &sec_mi2s_default>;
287         pinctrl-1 = <&cdc_pdm_sleep &pri_mi2s_sleep &pri_mi2s_ws_sleep &sec_mi2s_sleep>;
288         pinctrl-names = "default", "sleep";
289 
290         sound_link_backend2: backend2-dai-link {
291                 link-name = "Quaternary MI2S";
292 
293                 cpu {
294                         sound-dai = <&q6afedai QUATERNARY_MI2S_RX>;
295                 };
296                 platform {
297                         sound-dai = <&q6routing>;
298                 };
299                 codec {
300                         sound-dai = <&speaker_codec_top>, <&speaker_codec_bottom>;
301                 };
302         };
303 };
304 
305 &sound_link_backend0 {
306         /* Primary MI2S is not used, replace with Secondary MI2S for headphones */
307         link-name = "Secondary MI2S";
308 
309         cpu {
310                 sound-dai = <&q6afedai SECONDARY_MI2S_RX>;
311         };
312         platform {
313                 sound-dai = <&q6routing>;
314         };
315         codec {
316                 sound-dai = <&headphones>;
317         };
318 };
319 
320 &usb {
321         status = "okay";
322         extcon = <&usb_id>, <&usb_id>;
323 };
324 
325 &usb_hs_phy {
326         extcon = <&usb_id>;
327 };
328 
329 &venus {
330         status = "okay";
331 };
332 
333 &venus_mem {
334         status = "okay";
335 };
336 
337 &wcnss {
338         status = "okay";
339 };
340 
341 &wcnss_iris {
342         compatible = "qcom,wcn3620";
343 };
344 
345 &wcnss_mem {
346         status = "okay";
347 };
348 
349 /* Only some of the pins are used */
350 &pri_mi2s_default {
351         pins = "gpio113", "gpio115";
352 };
353 
354 &pri_mi2s_sleep {
355         pins = "gpio113", "gpio115";
356 };
357 
358 &tlmm {
359         accel_int_default: accel-int-default-state {
360                 pins = "gpio31";
361                 function = "gpio";
362 
363                 drive-strength = <2>;
364                 bias-disable;
365         };
366 
367         gpio_keys_default: gpio-keys-default-state {
368                 pins = "gpio107";
369                 function = "gpio";
370 
371                 drive-strength = <2>;
372                 bias-pull-up;
373         };
374 
375         gpio_leds_default: gpio-leds-default-state {
376                 pins = "gpio32";
377                 function = "gpio";
378 
379                 drive-strength = <2>;
380                 bias-disable;
381         };
382 
383         gyro_int_default: gyro-int-default-state {
384                 pins = "gpio97", "gpio98";
385                 function = "gpio";
386 
387                 drive-strength = <2>;
388                 bias-disable;
389         };
390 
391         headphones_avdd_default: headphones-avdd-default-state {
392                 pins = "gpio121";
393                 function = "gpio";
394                 drive-strength = <2>;
395                 bias-disable;
396         };
397 
398         headphones_pdn_default: headphones-pdn-default-state {
399                 pins = "gpio114";
400                 function = "gpio";
401                 drive-strength = <2>;
402                 bias-disable;
403         };
404 
405         /*
406          * The OEM wired an additional GPIO to be asserted so that
407          * the si-en,sn3190 LED IC works. Since this GPIO is not
408          * part of the IC datasheet nor supported by the driver,
409          * force it asserted here.
410          */
411         led_enable_default: led-enable-default-state {
412                 pins = "gpio102";
413                 function = "gpio";
414 
415                 drive-strength = <2>;
416                 bias-disable;
417                 output-high;
418         };
419 
420         led_shutdown_default: led-shutdown-default-state {
421                 pins = "gpio89";
422                 function = "gpio";
423 
424                 drive-strength = <2>;
425                 bias-disable;
426         };
427 
428         mag_reset_default: mag-reset-default-state {
429                 pins = "gpio8";
430                 function = "gpio";
431 
432                 drive-strength = <2>;
433                 bias-disable;
434         };
435 
436         proximity_int_default: proximity-int-default-state {
437                 pins = "gpio12";
438                 function = "gpio";
439 
440                 drive-strength = <6>;
441                 bias-pull-up;
442         };
443 
444         sdc2_cd_default: sdc2-cd-default-state {
445                 pins = "gpio38";
446                 function = "gpio";
447                 drive-strength = <2>;
448                 bias-disable;
449         };
450 
451         speaker_bottom_default: speaker-bottom-default-state {
452                 pins = "gpio111";
453                 function = "gpio";
454                 drive-strength = <2>;
455                 bias-disable;
456         };
457 
458         speaker_top_default: speaker-top-default-state {
459                 pins = "gpio50";
460                 function = "gpio";
461                 drive-strength = <2>;
462                 bias-disable;
463         };
464 
465         ts_int_reset_default: ts-int-reset-default-state {
466                 pins = "gpio13", "gpio100";
467                 function = "gpio";
468 
469                 drive-strength = <2>;
470                 bias-disable;
471         };
472 
473         usb_id_default: usb-id-default-state {
474                 pins = "gpio69";
475                 function = "gpio";
476 
477                 drive-strength = <8>;
478                 bias-pull-up;
479         };
480 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php