Merge tag 'ceph-for-5.9-rc1' of git://github.com/ceph/ceph-client
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / 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
470                         external-dai-link@0 {
471                                 link-name = "ADV7533";
472                                 cpu {
473                                         sound-dai = <&lpass MI2S_QUATERNARY>;
474                                 };
475                                 codec {
476                                         sound-dai = <&adv_bridge 0>;
477                                 };
478                         };
479
480                         internal-codec-playback-dai-link@0 {
481                                 link-name = "WCD";
482                                 cpu {
483                                         sound-dai = <&lpass MI2S_PRIMARY>;
484                                 };
485                                 codec {
486                                         sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
487                                 };
488                         };
489
490                         internal-codec-capture-dai-link@0 {
491                                 link-name = "WCD-Capture";
492                                 cpu {
493                                         sound-dai = <&lpass MI2S_TERTIARY>;
494                                 };
495                                 codec {
496                                         sound-dai = <&lpass_codec 1>, <&wcd_codec 1>;
497                                 };
498                         };
499                 };
500
501                 spmi@200f000 {
502                         pm8916@0 {
503                                 gpios@c000 {
504                                         gpio-line-names =
505                                                 "USR_LED_3_CTRL",
506                                                 "USR_LED_4_CTRL",
507                                                 "USB_HUB_RESET_N_PM",
508                                                 "USB_SW_SEL_PM";
509                                 };
510                                 mpps@a000 {
511                                         gpio-line-names =
512                                                 "VDD_PX_BIAS",
513                                                 "WLAN_LED_CTRL",
514                                                 "BT_LED_CTRL",
515                                                 "GPIO-F"; /* LS_EXP_GPIO_F, LSEC pin 28 */
516                                 };
517                         };
518                 };
519
520                 wcnss@a21b000 {
521                         status = "okay";
522                 };
523
524                 tpiu@820000 { status = "okay"; };
525                 funnel@821000 { status = "okay"; };
526                 replicator@824000 { status = "okay"; };
527                 etf@825000 { status = "okay"; };
528                 etr@826000 { status = "okay"; };
529                 funnel@841000 { status = "okay"; };
530                 debug@850000 { status = "okay"; };
531                 debug@852000 { status = "okay"; };
532                 debug@854000 { status = "okay"; };
533                 debug@856000 { status = "okay"; };
534                 etm@85c000 { status = "okay"; };
535                 etm@85d000 { status = "okay"; };
536                 etm@85e000 { status = "okay"; };
537                 etm@85f000 { status = "okay"; };
538                 cti@810000 { status = "okay"; };
539                 cti@811000 { status = "okay"; };
540                 cti@858000 { status = "okay"; };
541                 cti@859000 { status = "okay"; };
542                 cti@85a000 { status = "okay"; };
543                 cti@85b000 { status = "okay"; };
544         };
545
546         usb2513 {
547                 compatible = "smsc,usb3503";
548                 reset-gpios = <&pm8916_gpios 3 GPIO_ACTIVE_LOW>;
549                 initial-mode = <1>;
550         };
551
552         usb_id: usb-id {
553                 compatible = "linux,extcon-usb-gpio";
554                 id-gpio = <&msmgpio 121 GPIO_ACTIVE_HIGH>;
555                 pinctrl-names = "default";
556                 pinctrl-0 = <&usb_id_default>;
557         };
558
559         hdmi-out {
560                 compatible = "hdmi-connector";
561                 type = "a";
562
563                 port {
564                         hdmi_con: endpoint {
565                                 remote-endpoint = <&adv7533_out>;
566                         };
567                 };
568         };
569
570         gpio-keys {
571                 compatible = "gpio-keys";
572                 #address-cells = <1>;
573                 #size-cells = <0>;
574                 autorepeat;
575
576                 pinctrl-names = "default";
577                 pinctrl-0 = <&msm_key_volp_n_default>;
578
579                 button@0 {
580                         label = "Volume Up";
581                         linux,code = <KEY_VOLUMEUP>;
582                         gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
583                 };
584         };
585 };
586
587 &camss {
588         status = "ok";
589         ports {
590                 #address-cells = <1>;
591                 #size-cells = <0>;
592                 port@0 {
593                         reg = <0>;
594                         csiphy0_ep: endpoint {
595                                 clock-lanes = <1>;
596                                 data-lanes = <0 2>;
597                                 remote-endpoint = <&ov5640_ep>;
598                                 status = "okay";
599                         };
600                 };
601         };
602 };
603
604 &cci {
605         status = "ok";
606 };
607
608 &cci_i2c0 {
609         camera_rear@3b {
610                 compatible = "ovti,ov5640";
611                 reg = <0x3b>;
612
613                 enable-gpios = <&msmgpio 34 GPIO_ACTIVE_HIGH>;
614                 reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
615                 pinctrl-names = "default";
616                 pinctrl-0 = <&camera_rear_default>;
617
618                 clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
619                 clock-names = "xclk";
620                 clock-frequency = <23880000>;
621
622                 vdddo-supply = <&camera_vdddo_1v8>;
623                 vdda-supply = <&camera_vdda_2v8>;
624                 vddd-supply = <&camera_vddd_1v5>;
625
626                 /* No camera mezzanine by default */
627                 status = "disabled";
628
629                 port {
630                         ov5640_ep: endpoint {
631                                 clock-lanes = <1>;
632                                 data-lanes = <0 2>;
633                                 remote-endpoint = <&csiphy0_ep>;
634                         };
635                 };
636         };
637 };
638
639 &spmi_bus {
640         pm8916_0: pm8916@0 {
641                 pon@800 {
642                         resin {
643                                 compatible = "qcom,pm8941-resin";
644                                 interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
645                                 debounce = <15625>;
646                                 bias-pull-up;
647                                 linux,code = <KEY_VOLUMEDOWN>;
648                         };
649                 };
650         };
651 };
652
653 &wcd_codec {
654         status = "okay";
655         clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
656         clock-names = "mclk";
657         qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
658         qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
659 };
660
661 &smd_rpm_regulators {
662         vdd_l1_l2_l3-supply = <&pm8916_s3>;
663         vdd_l4_l5_l6-supply = <&pm8916_s4>;
664         vdd_l7-supply = <&pm8916_s4>;
665
666         s1 {
667                 regulator-min-microvolt = <375000>;
668                 regulator-max-microvolt = <1562000>;
669         };
670
671         s3 {
672                 regulator-min-microvolt = <375000>;
673                 regulator-max-microvolt = <1562000>;
674         };
675
676         s4 {
677                 regulator-min-microvolt = <1800000>;
678                 regulator-max-microvolt = <1800000>;
679
680                 regulator-always-on;
681                 regulator-boot-on;
682         };
683
684         l1 {
685                 regulator-min-microvolt = <375000>;
686                 regulator-max-microvolt = <1525000>;
687         };
688
689         l2 {
690                 regulator-min-microvolt = <1200000>;
691                 regulator-max-microvolt = <1200000>;
692         };
693
694         l3 {
695                 regulator-min-microvolt = <375000>;
696                 regulator-max-microvolt = <1525000>;
697         };
698
699         l4 {
700                 regulator-min-microvolt = <1750000>;
701                 regulator-max-microvolt = <3337000>;
702         };
703
704         l5 {
705                 regulator-min-microvolt = <1750000>;
706                 regulator-max-microvolt = <3337000>;
707         };
708
709         l6 {
710                 regulator-min-microvolt = <1800000>;
711                 regulator-max-microvolt = <1800000>;
712         };
713
714         l7 {
715                 regulator-min-microvolt = <1750000>;
716                 regulator-max-microvolt = <3337000>;
717         };
718
719         l8 {
720                 regulator-min-microvolt = <1750000>;
721                 regulator-max-microvolt = <3337000>;
722         };
723
724         l9 {
725                 regulator-min-microvolt = <1750000>;
726                 regulator-max-microvolt = <3337000>;
727         };
728
729         l10 {
730                 regulator-min-microvolt = <1750000>;
731                 regulator-max-microvolt = <3337000>;
732         };
733
734         l11 {
735                 regulator-min-microvolt = <1750000>;
736                 regulator-max-microvolt = <3337000>;
737                 regulator-allow-set-load;
738                 regulator-system-load = <200000>;
739         };
740
741         l12 {
742                 regulator-min-microvolt = <1750000>;
743                 regulator-max-microvolt = <3337000>;
744         };
745
746         l13 {
747                 regulator-min-microvolt = <1750000>;
748                 regulator-max-microvolt = <3337000>;
749         };
750
751         l14 {
752                 regulator-min-microvolt = <1750000>;
753                 regulator-max-microvolt = <3337000>;
754         };
755
756         /**
757          * 1.8v required on LS expansion
758          * for mezzanine boards
759          */
760         l15 {
761                 regulator-min-microvolt = <1750000>;
762                 regulator-max-microvolt = <3337000>;
763                 regulator-always-on;
764         };
765
766         l16 {
767                 regulator-min-microvolt = <1750000>;
768                 regulator-max-microvolt = <3337000>;
769         };
770
771         l17 {
772                 regulator-min-microvolt = <3300000>;
773                 regulator-max-microvolt = <3300000>;
774         };
775
776         l18 {
777                 regulator-min-microvolt = <1750000>;
778                 regulator-max-microvolt = <3337000>;
779         };
780 };
781
782 /*
783  * 2mA drive strength is not enough when connecting multiple
784  * I2C devices with different pull up resistors.
785  */
786 &i2c2_default {
787         drive-strength = <16>;
788 };
789
790 &i2c4_default {
791         drive-strength = <16>;
792 };
793
794 &i2c6_default {
795         drive-strength = <16>;
796 };
797
798 &msmgpio {
799         msmgpio_leds: msmgpio-leds {
800                 pins = "gpio21", "gpio120";
801                 function = "gpio";
802
803                 output-low;
804         };
805
806         usb_id_default: usb-id-default {
807                 pins = "gpio121";
808                 function = "gpio";
809
810                 drive-strength = <8>;
811                 input-enable;
812                 bias-pull-up;
813         };
814
815         adv7533_int_active: adv533-int-active {
816                 pins = "gpio31";
817                 function = "gpio";
818
819                 drive-strength = <16>;
820                 bias-disable;
821         };
822
823         adv7533_int_suspend: adv7533-int-suspend {
824                 pins = "gpio31";
825                 function = "gpio";
826
827                 drive-strength = <2>;
828                 bias-disable;
829         };
830
831         adv7533_switch_active: adv7533-switch-active {
832                 pins = "gpio32";
833                 function = "gpio";
834
835                 drive-strength = <16>;
836                 bias-disable;
837         };
838
839         adv7533_switch_suspend: adv7533-switch-suspend {
840                 pins = "gpio32";
841                 function = "gpio";
842
843                 drive-strength = <2>;
844                 bias-disable;
845         };
846
847         msm_key_volp_n_default: msm-key-volp-n-default {
848                 pins = "gpio107";
849                 function = "gpio";
850
851                 drive-strength = <8>;
852                 input-enable;
853                 bias-pull-up;
854         };
855 };
856
857 &pm8916_gpios {
858         usb_hub_reset_pm: usb-hub-reset-pm {
859                 pins = "gpio3";
860                 function = PMIC_GPIO_FUNC_NORMAL;
861
862                 input-disable;
863                 output-high;
864         };
865
866         usb_hub_reset_pm_device: usb-hub-reset-pm-device {
867                 pins = "gpio3";
868                 function = PMIC_GPIO_FUNC_NORMAL;
869
870                 output-low;
871         };
872
873         usb_sw_sel_pm: usb-sw-sel-pm {
874                 pins = "gpio4";
875                 function = PMIC_GPIO_FUNC_NORMAL;
876
877                 power-source = <PM8916_GPIO_VPH>;
878                 input-disable;
879                 output-high;
880         };
881
882         usb_sw_sel_pm_device: usb-sw-sel-pm-device {
883                 pins = "gpio4";
884                 function = PMIC_GPIO_FUNC_NORMAL;
885
886                 power-source = <PM8916_GPIO_VPH>;
887                 input-disable;
888                 output-low;
889         };
890
891         pm8916_gpios_leds: pm8916-gpios-leds {
892                 pins = "gpio1", "gpio2";
893                 function = PMIC_GPIO_FUNC_NORMAL;
894
895                 output-low;
896         };
897 };
898
899 &pm8916_mpps {
900         pinctrl-names = "default";
901         pinctrl-0 = <&ls_exp_gpio_f>;
902
903         ls_exp_gpio_f: pm8916-mpp4 {
904                 pins = "mpp4";
905                 function = "digital";
906
907                 output-low;
908                 power-source = <PM8916_MPP_L5>; // 1.8V
909         };
910
911         pm8916_mpps_leds: pm8916-mpps-leds {
912                 pins = "mpp2", "mpp3";
913                 function = "digital";
914
915                 output-low;
916         };
917 };