]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/gnu/dts/arm64/qcom/apq8016-sbc.dtsi
Import DTS files for arm, arm64, riscv from Linux 5.8
[FreeBSD/FreeBSD.git] / sys / gnu / dts / arm64 / qcom / apq8016-sbc.dtsi
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * Copyright (c) 2015, The Linux Foundation. All rights reserved.
4  */
5
6 #include "msm8916.dtsi"
7 #include "pm8916.dtsi"
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/input/input.h>
10 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
11 #include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
12 #include <dt-bindings/sound/apq8016-lpass.h>
13
14 /*
15  * GPIO name legend: proper name = the GPIO line is used as GPIO
16  *         NC = not connected (pin out but not routed from the chip to
17  *              anything the board)
18  *         "[PER]" = pin is muxed for [peripheral] (not GPIO)
19  *         LSEC = Low Speed External Connector
20  *         HSEC = High Speed External Connector
21  *
22  * Line names are taken from the schematic "DragonBoard410c"
23  * dated monday, august 31, 2015. Page 5 in particular.
24  *
25  * For the lines routed to the external connectors the
26  * lines are named after the 96Boards CE Specification 1.0,
27  * Appendix "Expansion Connector Signal Description".
28  *
29  * When the 96Board naming of a line and the schematic name of
30  * the same line are in conflict, the 96Board specification
31  * takes precedence, which means that the external UART on the
32  * LSEC is named UART0 while the schematic and SoC names this
33  * UART3. This is only for the informational lines i.e. "[FOO]",
34  * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only
35  * ones actually used for GPIO.
36  */
37
38 / {
39         aliases {
40                 serial0 = &blsp1_uart2;
41                 serial1 = &blsp1_uart1;
42                 usid0 = &pm8916_0;
43                 i2c0    = &blsp_i2c2;
44                 i2c1    = &blsp_i2c6;
45                 i2c3    = &blsp_i2c4;
46                 spi0    = &blsp_spi5;
47                 spi1    = &blsp_spi3;
48         };
49
50         chosen {
51                 stdout-path = "serial0";
52         };
53
54         camera_vdddo_1v8: camera-vdddo-1v8 {
55                 compatible = "regulator-fixed";
56                 regulator-name = "camera_vdddo";
57                 regulator-min-microvolt = <1800000>;
58                 regulator-max-microvolt = <1800000>;
59                 regulator-always-on;
60         };
61
62         camera_vdda_2v8: camera-vdda-2v8 {
63                 compatible = "regulator-fixed";
64                 regulator-name = "camera_vdda";
65                 regulator-min-microvolt = <2800000>;
66                 regulator-max-microvolt = <2800000>;
67                 regulator-always-on;
68         };
69
70         camera_vddd_1v5: camera-vddd-1v5 {
71                 compatible = "regulator-fixed";
72                 regulator-name = "camera_vddd";
73                 regulator-min-microvolt = <1500000>;
74                 regulator-max-microvolt = <1500000>;
75                 regulator-always-on;
76         };
77
78         reserved-memory {
79                 ramoops@bff00000{
80                         compatible = "ramoops";
81                         reg = <0x0 0xbff00000 0x0 0x100000>;
82
83                         record-size = <0x20000>;
84                         console-size = <0x20000>;
85                         ftrace-size = <0x20000>;
86                 };
87         };
88
89         soc {
90                 pinctrl@1000000 {
91                         gpio-line-names =
92                                 "[UART0_TX]", /* GPIO_0, LSEC pin 5 */
93                                 "[UART0_RX]", /* GPIO_1, LSEC pin 7 */
94                                 "[UART0_CTS_N]", /* GPIO_2, LSEC pin 3 */
95                                 "[UART0_RTS_N]", /* GPIO_3, LSEC pin 9 */
96                                 "[UART1_TX]", /* GPIO_4, LSEC pin 11 */
97                                 "[UART1_RX]", /* GPIO_5, LSEC pin 13 */
98                                 "[I2C0_SDA]", /* GPIO_8, LSEC pin 17 */
99                                 "[I2C0_SCL]", /* GPIO_7, LSEC pin 15 */
100                                 "[SPI1_DOUT]", /* SPI1_MOSI, HSEC pin 1 */
101                                 "[SPI1_DIN]", /* SPI1_MISO, HSEC pin 11 */
102                                 "[SPI1_CS]", /* SPI1_CS_N, HSEC pin 7 */
103                                 "[SPI1_SCLK]", /* SPI1_CLK, HSEC pin 9 */
104                                 "GPIO-B", /* LS_EXP_GPIO_B, LSEC pin 24 */
105                                 "GPIO-C", /* LS_EXP_GPIO_C, LSEC pin 25 */
106                                 "[I2C3_SDA]", /* HSEC pin 38 */
107                                 "[I2C3_SCL]", /* HSEC pin 36 */
108                                 "[SPI0_MOSI]", /* LSEC pin 14 */
109                                 "[SPI0_MISO]", /* LSEC pin 10 */
110                                 "[SPI0_CS_N]", /* LSEC pin 12 */
111                                 "[SPI0_CLK]", /* LSEC pin 8 */
112                                 "HDMI_HPD_N", /* GPIO 20 */
113                                 "USR_LED_1_CTRL",
114                                 "[I2C1_SDA]", /* GPIO_22, LSEC pin 21 */
115                                 "[I2C1_SCL]", /* GPIO_23, LSEC pin 19 */
116                                 "GPIO-G", /* LS_EXP_GPIO_G, LSEC pin 29 */
117                                 "GPIO-H", /* LS_EXP_GPIO_H, LSEC pin 30 */
118                                 "[CSI0_MCLK]", /* HSEC pin 15 */
119                                 "[CSI1_MCLK]", /* HSEC pin 17 */
120                                 "GPIO-K", /* LS_EXP_GPIO_K, LSEC pin 33 */
121                                 "[I2C2_SDA]", /* HSEC pin 34 */
122                                 "[I2C2_SCL]", /* HSEC pin 32 */
123                                 "DSI2HDMI_INT_N",
124                                 "DSI_SW_SEL_APQ",
125                                 "GPIO-L", /* LS_EXP_GPIO_L, LSEC pin 34 */
126                                 "GPIO-J", /* LS_EXP_GPIO_J, LSEC pin 32 */
127                                 "GPIO-I", /* LS_EXP_GPIO_I, LSEC pin 31 */
128                                 "GPIO-A", /* LS_EXP_GPIO_A, LSEC pin 23 */
129                                 "FORCED_USB_BOOT",
130                                 "SD_CARD_DET_N",
131                                 "[WCSS_BT_SSBI]",
132                                 "[WCSS_WLAN_DATA_2]", /* GPIO 40 */
133                                 "[WCSS_WLAN_DATA_1]",
134                                 "[WCSS_WLAN_DATA_0]",
135                                 "[WCSS_WLAN_SET]",
136                                 "[WCSS_WLAN_CLK]",
137                                 "[WCSS_FM_SSBI]",
138                                 "[WCSS_FM_SDI]",
139                                 "[WCSS_BT_DAT_CTL]",
140                                 "[WCSS_BT_DAT_STB]",
141                                 "NC",
142                                 "NC", /* GPIO 50 */
143                                 "NC",
144                                 "NC",
145                                 "NC",
146                                 "NC",
147                                 "NC",
148                                 "NC",
149                                 "NC",
150                                 "NC",
151                                 "NC",
152                                 "NC", /* GPIO 60 */
153                                 "NC",
154                                 "NC",
155                                 "[CDC_PDM0_CLK]",
156                                 "[CDC_PDM0_SYNC]",
157                                 "[CDC_PDM0_TX0]",
158                                 "[CDC_PDM0_RX0]",
159                                 "[CDC_PDM0_RX1]",
160                                 "[CDC_PDM0_RX2]",
161                                 "GPIO-D", /* LS_EXP_GPIO_D, LSEC pin 26 */
162                                 "NC", /* GPIO 70 */
163                                 "NC",
164                                 "NC",
165                                 "NC",
166                                 "NC", /* GPIO 74 */
167                                 "NC",
168                                 "NC",
169                                 "NC",
170                                 "NC",
171                                 "NC",
172                                 "BOOT_CONFIG_0", /* GPIO 80 */
173                                 "BOOT_CONFIG_1",
174                                 "BOOT_CONFIG_2",
175                                 "BOOT_CONFIG_3",
176                                 "NC",
177                                 "NC",
178                                 "BOOT_CONFIG_5",
179                                 "NC",
180                                 "NC",
181                                 "NC",
182                                 "NC", /* GPIO 90 */
183                                 "NC",
184                                 "NC",
185                                 "NC",
186                                 "NC",
187                                 "NC",
188                                 "NC",
189                                 "NC",
190                                 "NC",
191                                 "NC",
192                                 "NC", /* GPIO 100 */
193                                 "NC",
194                                 "NC",
195                                 "NC",
196                                 "SSBI_GPS",
197                                 "NC",
198                                 "NC",
199                                 "KEY_VOLP_N",
200                                 "NC",
201                                 "NC",
202                                 "[LS_EXP_MI2S_WS]", /* GPIO 110 */
203                                 "NC",
204                                 "NC",
205                                 "[LS_EXP_MI2S_SCK]",
206                                 "[LS_EXP_MI2S_DATA0]",
207                                 "GPIO-E", /* LS_EXP_GPIO_E, LSEC pin 27 */
208                                 "NC",
209                                 "[DSI2HDMI_MI2S_WS]",
210                                 "[DSI2HDMI_MI2S_SCK]",
211                                 "[DSI2HDMI_MI2S_DATA0]",
212                                 "USR_LED_2_CTRL", /* GPIO 120 */
213                                 "SB_HS_ID";
214                 };
215
216                 dma@7884000 {
217                         status = "okay";
218                 };
219
220                 serial@78af000 {
221                         label = "LS-UART0";
222                         status = "okay";
223                         pinctrl-names = "default", "sleep";
224                         pinctrl-0 = <&blsp1_uart1_default>;
225                         pinctrl-1 = <&blsp1_uart1_sleep>;
226                 };
227
228                 serial@78b0000 {
229                         label = "LS-UART1";
230                         status = "okay";
231                         pinctrl-names = "default", "sleep";
232                         pinctrl-0 = <&blsp1_uart2_default>;
233                         pinctrl-1 = <&blsp1_uart2_sleep>;
234                 };
235
236                 i2c@78b6000 {
237                 /* On Low speed expansion */
238                         label = "LS-I2C0";
239                         status = "okay";
240                 };
241
242                 i2c@78b8000 {
243                 /* On High speed expansion */
244                         label = "HS-I2C2";
245                         status = "okay";
246
247                         adv_bridge: bridge@39 {
248                                 status = "okay";
249
250                                 compatible = "adi,adv7533";
251                                 reg = <0x39>;
252
253                                 interrupt-parent = <&msmgpio>;
254                                 interrupts = <31 2>;
255
256                                 adi,dsi-lanes = <4>;
257                                 clocks = <&rpmcc RPM_SMD_BB_CLK2>;
258                                 clock-names = "cec";
259
260                                 pd-gpios = <&msmgpio 32 0>;
261
262                                 avdd-supply = <&pm8916_l6>;
263                                 v1p2-supply = <&pm8916_l6>;
264                                 v3p3-supply = <&pm8916_l17>;
265
266                                 pinctrl-names = "default","sleep";
267                                 pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
268                                 pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
269                                 #sound-dai-cells = <1>;
270
271                                 ports {
272                                         #address-cells = <1>;
273                                         #size-cells = <0>;
274
275                                         port@0 {
276                                                 reg = <0>;
277                                                 adv7533_in: endpoint {
278                                                         remote-endpoint = <&dsi0_out>;
279                                                 };
280                                         };
281
282                                         port@1 {
283                                                 reg = <1>;
284                                                 adv7533_out: endpoint {
285                                                         remote-endpoint = <&hdmi_con>;
286                                                 };
287                                         };
288                                 };
289                         };
290                 };
291
292                 i2c@78ba000 {
293                 /* On Low speed expansion */
294                         label = "LS-I2C1";
295                         status = "okay";
296                 };
297
298                 spi@78b7000 {
299                 /* On High speed expansion */
300                         label = "HS-SPI1";
301                         status = "okay";
302                 };
303
304                 spi@78b9000 {
305                 /* On Low speed expansion */
306                         label = "LS-SPI0";
307                         status = "okay";
308                 };
309
310                 leds {
311                         pinctrl-names = "default";
312                         pinctrl-0 = <&msmgpio_leds>,
313                                     <&pm8916_gpios_leds>,
314                                     <&pm8916_mpps_leds>;
315
316                         compatible = "gpio-leds";
317
318                         led@1 {
319                                 label = "apq8016-sbc:green:user1";
320                                 gpios = <&msmgpio 21 GPIO_ACTIVE_HIGH>;
321                                 linux,default-trigger = "heartbeat";
322                                 default-state = "off";
323                         };
324
325                         led@2 {
326                                 label = "apq8016-sbc:green:user2";
327                                 gpios = <&msmgpio 120 GPIO_ACTIVE_HIGH>;
328                                 linux,default-trigger = "mmc0";
329                                 default-state = "off";
330                         };
331
332                         led@3 {
333                                 label = "apq8016-sbc:green:user3";
334                                 gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>;
335                                 linux,default-trigger = "mmc1";
336                                 default-state = "off";
337                         };
338
339                         led@4 {
340                                 label = "apq8016-sbc:green:user4";
341                                 gpios = <&pm8916_gpios 2 GPIO_ACTIVE_HIGH>;
342                                 linux,default-trigger = "none";
343                                 panic-indicator;
344                                 default-state = "off";
345                         };
346
347                         led@5 {
348                                 label = "apq8016-sbc:yellow:wlan";
349                                 gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>;
350                                 linux,default-trigger = "phy0tx";
351                                 default-state = "off";
352                         };
353
354                         led@6 {
355                                 label = "apq8016-sbc:blue:bt";
356                                 gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>;
357                                 linux,default-trigger = "bluetooth-power";
358                                 default-state = "off";
359                         };
360                 };
361
362                 sdhci@7824000 {
363                         vmmc-supply = <&pm8916_l8>;
364                         vqmmc-supply = <&pm8916_l5>;
365
366                         pinctrl-names = "default", "sleep";
367                         pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
368                         pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
369                         status = "okay";
370                 };
371
372                 sdhci@7864000 {
373                         vmmc-supply = <&pm8916_l11>;
374                         vqmmc-supply = <&pm8916_l12>;
375
376                         pinctrl-names = "default", "sleep";
377                         pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
378                         pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
379
380                         cd-gpios = <&msmgpio 38 0x1>;
381                         status = "okay";
382                 };
383
384                 usb@78d9000 {
385                         extcon = <&usb_id>, <&usb_id>;
386                         status = "okay";
387                         adp-disable;
388                         hnp-disable;
389                         srp-disable;
390                         dr_mode = "otg";
391                         pinctrl-names = "default", "device";
392                         pinctrl-0 = <&usb_sw_sel_pm &usb_hub_reset_pm>;
393                         pinctrl-1 = <&usb_sw_sel_pm_device &usb_hub_reset_pm_device>;
394                         ulpi {
395                                 phy {
396                                         v1p8-supply = <&pm8916_l7>;
397                                         v3p3-supply = <&pm8916_l13>;
398                                         extcon = <&usb_id>;
399                                 };
400                         };
401                 };
402
403                 lpass@7708000 {
404                         status = "okay";
405                 };
406
407                 mdss@1a00000 {
408                         status = "okay";
409
410                         mdp@1a01000 {
411                                 status = "okay";
412                         };
413
414                         dsi@1a98000 {
415                                 status = "okay";
416
417                                 vdda-supply = <&pm8916_l2>;
418                                 vddio-supply = <&pm8916_l6>;
419
420                                 ports {
421                                         port@1 {
422                                                 endpoint {
423                                                         remote-endpoint = <&adv7533_in>;
424                                                         data-lanes = <0 1 2 3>;
425                                                 };
426                                         };
427                                 };
428                         };
429
430                         dsi-phy@1a98300 {
431                                 status = "okay";
432
433                                 vddio-supply = <&pm8916_l6>;
434                         };
435                 };
436
437                 lpass_codec: codec{
438                         status = "okay";
439                 };
440
441                 /*
442                 Internal Codec
443                         playback - Primary MI2S
444                         capture - Ter MI2S
445
446                 External Primary:
447                         playback - secondary MI2S
448                         capture - Quat MI2S
449
450                 External Secondary:
451                         playback - Quat MI2S
452                         capture - Quat MI2S
453
454                 */
455
456                 sound: sound {
457                         compatible = "qcom,apq8016-sbc-sndcard";
458                         reg = <0x07702000 0x4>, <0x07702004 0x4>;
459                         reg-names = "mic-iomux", "spkr-iomux";
460
461                         status = "okay";
462                         pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>;
463                         pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>;
464                         pinctrl-names = "default", "sleep";
465                         qcom,model = "DB410c";
466                         qcom,audio-routing =
467                                 "AMIC2", "MIC BIAS Internal2",
468                                 "AMIC3", "MIC BIAS External1";
469                         external-dai-link@0 {
470                                 link-name = "ADV7533";
471                                 cpu { /* QUAT */
472                                         sound-dai = <&lpass MI2S_QUATERNARY>;
473                                 };
474                                 codec {
475                                         sound-dai = <&adv_bridge 0>;
476                                 };
477                         };
478
479                         internal-codec-playback-dai-link@0 {            /* I2S - Internal codec */
480                                 link-name = "WCD";
481                                 cpu { /* PRIMARY */
482                                         sound-dai = <&lpass MI2S_PRIMARY>;
483                                 };
484                                 codec {
485                                         sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
486                                 };
487                         };
488
489                         internal-codec-capture-dai-link@0 {             /* I2S - Internal codec */
490                                 link-name = "WCD-Capture";
491                                 cpu { /* PRIMARY */
492                                         sound-dai = <&lpass MI2S_TERTIARY>;
493                                 };
494                                 codec {
495                                         sound-dai = <&lpass_codec 1>, <&wcd_codec 1>;
496                                 };
497                         };
498                 };
499
500                 spmi@200f000 {
501                         pm8916@0 {
502                                 gpios@c000 {
503                                         gpio-line-names =
504                                                 "USR_LED_3_CTRL",
505                                                 "USR_LED_4_CTRL",
506                                                 "USB_HUB_RESET_N_PM",
507                                                 "USB_SW_SEL_PM";
508                                 };
509                                 mpps@a000 {
510                                         gpio-line-names =
511                                                 "VDD_PX_BIAS",
512                                                 "WLAN_LED_CTRL",
513                                                 "BT_LED_CTRL",
514                                                 "GPIO-F"; /* LS_EXP_GPIO_F, LSEC pin 28 */
515                                 };
516                         };
517                 };
518
519                 wcnss@a21b000 {
520                         status = "okay";
521                 };
522
523                 tpiu@820000 { status = "okay"; };
524                 funnel@821000 { status = "okay"; };
525                 replicator@824000 { status = "okay"; };
526                 etf@825000 { status = "okay"; };
527                 etr@826000 { status = "okay"; };
528                 funnel@841000 { status = "okay"; };
529                 debug@850000 { status = "okay"; };
530                 debug@852000 { status = "okay"; };
531                 debug@854000 { status = "okay"; };
532                 debug@856000 { status = "okay"; };
533                 etm@85c000 { status = "okay"; };
534                 etm@85d000 { status = "okay"; };
535                 etm@85e000 { status = "okay"; };
536                 etm@85f000 { status = "okay"; };
537                 cti@810000 { status = "okay"; };
538                 cti@811000 { status = "okay"; };
539                 cti@858000 { status = "okay"; };
540                 cti@859000 { status = "okay"; };
541                 cti@85a000 { status = "okay"; };
542                 cti@85b000 { status = "okay"; };
543         };
544
545         usb2513 {
546                 compatible = "smsc,usb3503";
547                 reset-gpios = <&pm8916_gpios 3 GPIO_ACTIVE_LOW>;
548                 initial-mode = <1>;
549         };
550
551         usb_id: usb-id {
552                 compatible = "linux,extcon-usb-gpio";
553                 id-gpio = <&msmgpio 121 GPIO_ACTIVE_HIGH>;
554                 pinctrl-names = "default";
555                 pinctrl-0 = <&usb_id_default>;
556         };
557
558         hdmi-out {
559                 compatible = "hdmi-connector";
560                 type = "a";
561
562                 port {
563                         hdmi_con: endpoint {
564                                 remote-endpoint = <&adv7533_out>;
565                         };
566                 };
567         };
568
569         gpio-keys {
570                 compatible = "gpio-keys";
571                 #address-cells = <1>;
572                 #size-cells = <0>;
573                 autorepeat;
574
575                 pinctrl-names = "default";
576                 pinctrl-0 = <&msm_key_volp_n_default>;
577
578                 button@0 {
579                         label = "Volume Up";
580                         linux,code = <KEY_VOLUMEUP>;
581                         gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
582                 };
583         };
584 };
585
586 &camss {
587         status = "ok";
588         ports {
589                 #address-cells = <1>;
590                 #size-cells = <0>;
591                 port@0 {
592                         reg = <0>;
593                         csiphy0_ep: endpoint {
594                                 clock-lanes = <1>;
595                                 data-lanes = <0 2>;
596                                 remote-endpoint = <&ov5640_ep>;
597                                 status = "okay";
598                         };
599                 };
600         };
601 };
602
603 &cci {
604         status = "ok";
605 };
606
607 &cci_i2c0 {
608         camera_rear@3b {
609                 compatible = "ovti,ov5640";
610                 reg = <0x3b>;
611
612                 enable-gpios = <&msmgpio 34 GPIO_ACTIVE_HIGH>;
613                 reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
614                 pinctrl-names = "default";
615                 pinctrl-0 = <&camera_rear_default>;
616
617                 clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
618                 clock-names = "xclk";
619                 clock-frequency = <23880000>;
620
621                 vdddo-supply = <&camera_vdddo_1v8>;
622                 vdda-supply = <&camera_vdda_2v8>;
623                 vddd-supply = <&camera_vddd_1v5>;
624
625                 /* No camera mezzanine by default */
626                 status = "disabled";
627
628                 port {
629                         ov5640_ep: endpoint {
630                                 clock-lanes = <1>;
631                                 data-lanes = <0 2>;
632                                 remote-endpoint = <&csiphy0_ep>;
633                         };
634                 };
635         };
636 };
637
638 &spmi_bus {
639         pm8916_0: pm8916@0 {
640                 pon@800 {
641                         resin {
642                                 compatible = "qcom,pm8941-resin";
643                                 interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
644                                 debounce = <15625>;
645                                 bias-pull-up;
646                                 linux,code = <KEY_VOLUMEDOWN>;
647                         };
648                 };
649         };
650 };
651
652 &wcd_codec {
653         status = "okay";
654         clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
655         clock-names = "mclk";
656         qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
657         qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
658 };
659
660 &smd_rpm_regulators {
661         vdd_l1_l2_l3-supply = <&pm8916_s3>;
662         vdd_l4_l5_l6-supply = <&pm8916_s4>;
663         vdd_l7-supply = <&pm8916_s4>;
664
665         s1 {
666                 regulator-min-microvolt = <375000>;
667                 regulator-max-microvolt = <1562000>;
668         };
669
670         s3 {
671                 regulator-min-microvolt = <375000>;
672                 regulator-max-microvolt = <1562000>;
673         };
674
675         s4 {
676                 regulator-min-microvolt = <1800000>;
677                 regulator-max-microvolt = <1800000>;
678
679                 regulator-always-on;
680                 regulator-boot-on;
681         };
682
683         l1 {
684                 regulator-min-microvolt = <375000>;
685                 regulator-max-microvolt = <1525000>;
686         };
687
688         l2 {
689                 regulator-min-microvolt = <1200000>;
690                 regulator-max-microvolt = <1200000>;
691         };
692
693         l3 {
694                 regulator-min-microvolt = <375000>;
695                 regulator-max-microvolt = <1525000>;
696         };
697
698         l4 {
699                 regulator-min-microvolt = <1750000>;
700                 regulator-max-microvolt = <3337000>;
701         };
702
703         l5 {
704                 regulator-min-microvolt = <1750000>;
705                 regulator-max-microvolt = <3337000>;
706         };
707
708         l6 {
709                 regulator-min-microvolt = <1800000>;
710                 regulator-max-microvolt = <1800000>;
711         };
712
713         l7 {
714                 regulator-min-microvolt = <1750000>;
715                 regulator-max-microvolt = <3337000>;
716         };
717
718         l8 {
719                 regulator-min-microvolt = <1750000>;
720                 regulator-max-microvolt = <3337000>;
721         };
722
723         l9 {
724                 regulator-min-microvolt = <1750000>;
725                 regulator-max-microvolt = <3337000>;
726         };
727
728         l10 {
729                 regulator-min-microvolt = <1750000>;
730                 regulator-max-microvolt = <3337000>;
731         };
732
733         l11 {
734                 regulator-min-microvolt = <1750000>;
735                 regulator-max-microvolt = <3337000>;
736                 regulator-allow-set-load;
737                 regulator-system-load = <200000>;
738         };
739
740         l12 {
741                 regulator-min-microvolt = <1750000>;
742                 regulator-max-microvolt = <3337000>;
743         };
744
745         l13 {
746                 regulator-min-microvolt = <1750000>;
747                 regulator-max-microvolt = <3337000>;
748         };
749
750         l14 {
751                 regulator-min-microvolt = <1750000>;
752                 regulator-max-microvolt = <3337000>;
753         };
754
755         /**
756          * 1.8v required on LS expansion
757          * for mezzanine boards
758          */
759         l15 {
760                 regulator-min-microvolt = <1750000>;
761                 regulator-max-microvolt = <3337000>;
762                 regulator-always-on;
763         };
764
765         l16 {
766                 regulator-min-microvolt = <1750000>;
767                 regulator-max-microvolt = <3337000>;
768         };
769
770         l17 {
771                 regulator-min-microvolt = <3300000>;
772                 regulator-max-microvolt = <3300000>;
773         };
774
775         l18 {
776                 regulator-min-microvolt = <1750000>;
777                 regulator-max-microvolt = <3337000>;
778         };
779 };
780
781 &msmgpio {
782         msmgpio_leds: msmgpio-leds {
783                 pinconf {
784                         pins = "gpio21", "gpio120";
785                         function = "gpio";
786                         output-low;
787                 };
788         };
789
790         usb_id_default: usb-id-default {
791                 pinmux {
792                         function = "gpio";
793                         pins = "gpio121";
794                 };
795
796                 pinconf {
797                         pins = "gpio121";
798                         drive-strength = <8>;
799                         input-enable;
800                         bias-pull-up;
801                 };
802         };
803
804         adv7533_int_active: adv533-int-active {
805                 pinmux {
806                         function = "gpio";
807                         pins = "gpio31";
808                 };
809                 pinconf {
810                         pins = "gpio31";
811                         drive-strength = <16>;
812                         bias-disable;
813                 };
814         };
815
816         adv7533_int_suspend: adv7533-int-suspend {
817                 pinmux {
818                         function = "gpio";
819                         pins = "gpio31";
820                 };
821                 pinconf {
822                         pins = "gpio31";
823                         drive-strength = <2>;
824                         bias-disable;
825                 };
826         };
827
828         adv7533_switch_active: adv7533-switch-active {
829                 pinmux {
830                         function = "gpio";
831                         pins = "gpio32";
832                 };
833                 pinconf {
834                         pins = "gpio32";
835                         drive-strength = <16>;
836                         bias-disable;
837                 };
838         };
839
840         adv7533_switch_suspend: adv7533-switch-suspend {
841                 pinmux {
842                         function = "gpio";
843                         pins = "gpio32";
844                 };
845                 pinconf {
846                         pins = "gpio32";
847                         drive-strength = <2>;
848                         bias-disable;
849                 };
850         };
851
852         msm_key_volp_n_default: msm-key-volp-n-default {
853                 pinmux {
854                         function = "gpio";
855                         pins = "gpio107";
856                 };
857                 pinconf {
858                         pins = "gpio107";
859                         drive-strength = <8>;
860                         input-enable;
861                         bias-pull-up;
862                 };
863         };
864 };
865
866 &pm8916_gpios {
867         usb_hub_reset_pm: usb-hub-reset-pm {
868                 pinconf {
869                         pins = "gpio3";
870                         function = PMIC_GPIO_FUNC_NORMAL;
871                         input-disable;
872                         output-high;
873                 };
874         };
875
876         usb_hub_reset_pm_device: usb-hub-reset-pm-device {
877                 pinconf {
878                         pins = "gpio3";
879                         function = PMIC_GPIO_FUNC_NORMAL;
880                         output-low;
881                 };
882         };
883
884         usb_sw_sel_pm: usb-sw-sel-pm {
885                 pinconf {
886                         pins = "gpio4";
887                         function = PMIC_GPIO_FUNC_NORMAL;
888                         power-source = <PM8916_GPIO_VPH>;
889                         input-disable;
890                         output-high;
891                 };
892         };
893
894         usb_sw_sel_pm_device: usb-sw-sel-pm-device {
895                 pinconf {
896                         pins = "gpio4";
897                         function = PMIC_GPIO_FUNC_NORMAL;
898                         power-source = <PM8916_GPIO_VPH>;
899                         input-disable;
900                         output-low;
901                 };
902         };
903
904         pm8916_gpios_leds: pm8916-gpios-leds {
905                 pinconf {
906                         pins = "gpio1", "gpio2";
907                         function = PMIC_GPIO_FUNC_NORMAL;
908                         output-low;
909                 };
910         };
911 };
912
913 &pm8916_mpps {
914         pinctrl-names = "default";
915         pinctrl-0 = <&ls_exp_gpio_f>;
916
917         ls_exp_gpio_f: pm8916-mpp4 {
918                 pinconf {
919                         pins = "mpp4";
920                         function = "digital";
921                         output-low;
922                         power-source = <PM8916_MPP_L5>; // 1.8V
923                 };
924         };
925
926         pm8916_mpps_leds: pm8916-mpps-leds {
927                 pinconf {
928                         pins = "mpp2", "mpp3";
929                         function = "digital";
930                         output-low;
931                 };
932         };
933 };