cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

apq8016-sbc.dts (16803B)


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