&soc { tlmm: pinctrl@400000 { compatible = "qcom,holi-pinctrl"; reg = <0x400000 0x800000>; interrupts = ; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; wakeup-parent = <&wakegic>; qupv3_se0_i2c_pins: qupv3_se0_i2c_pins { qupv3_se0_i2c_active: qupv3_se0_i2c_active { mux { pins = "gpio0", "gpio1"; function = "qup00"; }; config { pins = "gpio0", "gpio1"; drive-strength = <2>; bias-pull-up; }; }; qupv3_se0_i2c_sleep: qupv3_se0_i2c_sleep { mux { pins = "gpio0", "gpio1"; function = "gpio"; }; config { pins = "gpio0", "gpio1"; drive-strength = <2>; bias-disable; }; }; }; nfc { nfc_int_active: nfc_int_active { /* active state */ mux { /* GPIO 9: NFC Read Interrupt */ pins = "gpio9"; function = "gpio"; }; config { pins = "gpio9"; drive-strength = <2>; /* 2 MA */ bias-pull-down; }; }; nfc_int_suspend: nfc_int_suspend { /* sleep state */ mux { /* GPIO 9: NFC Read Interrupt */ pins = "gpio9"; function = "gpio"; }; config { pins = "gpio9"; drive-strength = <2>; /* 2 MA */ bias-pull-down; }; }; nfc_enable_active: nfc_enable_active { mux { /* 6: Enable, 8: Firmware, 7: CLOCK */ pins = "gpio6", "gpio8", "gpio7"; function = "gpio"; }; config { pins = "gpio6", "gpio8", "gpio7"; drive-strength = <2>; /* 2 MA */ bias-disable; }; }; nfc_enable_suspend: nfc_enable_suspend { mux { /* 6: Enable, 8: Firmware, 7: CLOCK */ pins = "gpio6", "gpio8", "gpio7"; function = "gpio"; }; config { pins = "gpio6", "gpio8", "gpio7"; drive-strength = <2>; /* 2 MA */ bias-disable; }; }; }; qupv3_se0_spi_pins: qupv3_se0_spi_pins { qupv3_se0_spi_active: qupv3_se0_spi_active { mux { pins = "gpio0", "gpio1", "gpio2", "gpio3"; function = "qup00"; }; config { pins = "gpio0", "gpio1", "gpio2", "gpio3"; drive-strength = <6>; bias-disable; }; }; qupv3_se0_spi_sleep: qupv3_se0_spi_sleep { mux { pins = "gpio0", "gpio1", "gpio2", "gpio3"; function = "gpio"; }; config { pins = "gpio0", "gpio1", "gpio2", "gpio3"; drive-strength = <6>; bias-disable; }; }; }; qupv3_se1_4uart_pins: qupv3_se1_4uart_pins { qupv3_se1_default_cts: qupv3_se1_default_cts { mux { pins = "gpio61"; function = "gpio"; }; config { pins = "gpio61"; drive-strength = <2>; bias-pull-down; }; }; qupv3_se1_default_rtsrx: qupv3_se1_default_rtsrx { mux { pins = "gpio62", "gpio64"; function = "gpio"; }; config { pins = "gpio62", "gpio64"; drive-strength = <2>; bias-pull-down; }; }; qupv3_se1_default_tx: qupv3_se1_default_tx { mux { pins = "gpio63"; function = "gpio"; }; config { pins = "gpio63"; drive-strength = <2>; bias-pull-up; }; }; qupv3_se1_ctsrx: qupv3_se1_ctsrx { mux { pins = "gpio61", "gpio64"; function = "qup01"; }; config { pins = "gpio61", "gpio64"; drive-strength = <2>; bias-disable; }; }; qupv3_se1_rts: qupv3_se1_rts { mux { pins = "gpio62"; function = "qup01"; }; config { pins = "gpio62"; drive-strength = <2>; bias-pull-down; }; }; qupv3_se1_tx: qupv3_se1_tx { mux { pins = "gpio63"; function = "qup01"; }; config { pins = "gpio63"; drive-strength = <2>; bias-pull-up; }; }; }; qupv3_se2_i2c_pins: qupv3_se2_i2c_pins { qupv3_se2_i2c_active: qupv3_se2_i2c_active { mux { pins = "gpio45", "gpio46"; function = "qup02"; }; config { pins = "gpio45", "gpio46"; drive-strength = <2>; bias-pull-up; }; }; qupv3_se2_i2c_sleep: qupv3_se2_i2c_sleep { mux { pins = "gpio45", "gpio46"; function = "gpio"; }; config { pins = "gpio45", "gpio46"; drive-strength = <2>; bias-disable; }; }; }; qupv3_se2_spi_pins: qupv3_se2_spi_pins { qupv3_se2_spi_active: qupv3_se2_spi_active { mux { pins = "gpio45", "gpio46", "gpio56", "gpio57"; function = "qup02"; }; config { pins = "gpio45", "gpio46", "gpio56", "gpio57"; drive-strength = <6>; bias-disable; }; }; qupv3_se2_spi_sleep: qupv3_se2_spi_sleep { mux { pins = "gpio45", "gpio46", "gpio56", "gpio57"; function = "gpio"; }; config { pins = "gpio45", "gpio46", "gpio56", "gpio57"; drive-strength = <6>; bias-disable; }; }; }; qupv3_se6_i2c_pins: qupv3_se6_i2c_pins { qupv3_se6_i2c_active: qupv3_se6_i2c_active { mux { pins = "gpio13", "gpio14"; function = "qup10"; }; config { pins = "gpio13", "gpio14"; drive-strength = <2>; bias-pull-up; }; }; qupv3_se6_i2c_sleep: qupv3_se6_i2c_sleep { mux { pins = "gpio13", "gpio14"; function = "gpio"; }; config { pins = "gpio13", "gpio14"; drive-strength = <2>; bias-disable; }; }; }; qupv3_se6_spi_pins: qupv3_se6_spi_pins { qupv3_se6_spi_active: qupv3_se6_spi_active { mux { pins = "gpio13", "gpio14", "gpio15", "gpio16"; function = "qup10"; }; config { pins = "gpio13", "gpio14", "gpio15", "gpio16"; drive-strength = <6>; bias-disable; }; }; qupv3_se6_spi_sleep: qupv3_se6_spi_sleep { mux { pins = "gpio13", "gpio14", "gpio15", "gpio16"; function = "gpio"; }; config { pins = "gpio13", "gpio14", "gpio15", "gpio16"; drive-strength = <6>; bias-disable; }; }; }; qupv3_se7_i2c_pins: qupv3_se7_i2c_pins { qupv3_se7_i2c_active: qupv3_se7_i2c_active { mux { pins = "gpio27", "gpio28"; function = "qup11"; }; config { pins = "gpio27", "gpio28"; drive-strength = <2>; bias-pull-up; }; }; qupv3_se7_i2c_sleep: qupv3_se7_i2c_sleep { mux { pins = "gpio27", "gpio28"; function = "gpio"; }; config { pins = "gpio27", "gpio28"; drive-strength = <2>; bias-disable; }; }; }; qupv3_se8_i2c_pins: qupv3_se8_i2c_pins { qupv3_se8_i2c_active: qupv3_se8_i2c_active { mux { pins = "gpio19", "gpio20"; function = "qup12"; }; config { pins = "gpio19", "gpio20"; drive-strength = <2>; bias-pull-up; }; }; qupv3_se8_i2c_sleep: qupv3_se8_i2c_sleep { mux { pins = "gpio19", "gpio20"; function = "gpio"; }; config { pins = "gpio19", "gpio20"; drive-strength = <2>; bias-disable; }; }; }; qupv3_se9_2uart_pins: qupv3_se9_2uart_pins { qupv3_se9_2uart_active: qupv3_se9_2uart_active { mux { pins = "gpio25", "gpio26"; function = "qup13_f2"; }; config { pins = "gpio25", "gpio26"; drive-strength = <2>; bias-disable; }; }; qupv3_se9_2uart_sleep: qupv3_se9_2uart_sleep { mux { pins = "gpio25", "gpio26"; function = "gpio"; }; config { pins = "gpio25", "gpio26"; drive-strength = <2>; bias-pull-down; }; }; }; qupv3_se10_i2c_pins: qupv3_se10_i2c_pins { qupv3_se10_i2c_active: qupv3_se10_i2c_active { mux { pins = "gpio4", "gpio5"; function = "qup14"; }; config { pins = "gpio4", "gpio5"; drive-strength = <2>; bias-pull-up; }; }; qupv3_se10_i2c_sleep: qupv3_se10_i2c_sleep { mux { pins = "gpio4", "gpio5"; function = "gpio"; }; config { pins = "gpio4", "gpio5"; drive-strength = <2>; bias-disable; }; }; }; sdc1_on: sdc1_on { clk { pins = "sdc1_clk"; bias-disable; drive-strength = <16>; }; cmd { pins = "sdc1_cmd"; bias-pull-up; drive-strength = <10>; }; data { pins = "sdc1_data"; bias-pull-up; drive-strength = <10>; }; rclk { pins = "sdc1_rclk"; bias-pull-down; }; }; sdc1_off: sdc1_off { clk { pins = "sdc1_clk"; bias-disable; drive-strength = <2>; }; cmd { pins = "sdc1_cmd"; bias-pull-up; drive-strength = <2>; }; data { pins = "sdc1_data"; bias-pull-up; drive-strength = <2>; }; rclk { pins = "sdc1_rclk"; bias-pull-down; }; }; sdc2_on: sdc2_on { clk { pins = "sdc2_clk"; bias-disable; drive-strength = <16>; }; cmd { pins = "sdc2_cmd"; bias-pull-up; drive-strength = <10>; }; data { pins = "sdc2_data"; bias-pull-up; drive-strength = <10>; }; sd-cd { pins = "gpio94"; bias-pull-up; drive-strength = <2>; }; }; sdc2_off: sdc2_off { clk { pins = "sdc2_clk"; bias-disable; drive-strength = <2>; }; cmd { pins = "sdc2_cmd"; bias-pull-up; drive-strength = <2>; }; data { pins = "sdc2_data"; bias-pull-up; drive-strength = <2>; }; sd-cd { pins = "gpio94"; bias-disable; drive-strength = <2>; }; }; /* WSA speaker reset pins */ spkr_1_sd_n { spkr_1_sd_n_sleep: spkr_1_sd_n_sleep { mux { pins = "gpio86"; function = "gpio"; }; config { pins = "gpio86"; drive-strength = <2>; /* 2 mA */ bias-pull-down; input-enable; }; }; spkr_1_sd_n_active: spkr_1_sd_n_active { mux { pins = "gpio86"; function = "gpio"; }; config { pins = "gpio86"; drive-strength = <16>; /* 16 mA */ bias-disable; output-high; }; }; }; spkr_2_sd_n { spkr_2_sd_n_sleep: spkr_2_sd_n_sleep { mux { pins = "gpio11"; function = "gpio"; }; config { pins = "gpio11"; drive-strength = <2>; /* 2 mA */ bias-pull-down; input-enable; }; }; spkr_2_sd_n_active: spkr_2_sd_n_active { mux { pins = "gpio11"; function = "gpio"; }; config { pins = "gpio11"; drive-strength = <16>; /* 16 mA */ bias-disable; output-high; }; }; }; /* WCD reset pin */ wcd937x_reset_active: wcd937x_reset_active { mux { pins = "gpio83"; function = "gpio"; }; config { pins = "gpio83"; drive-strength = <16>; output-high; }; }; wcd937x_reset_sleep: wcd937x_reset_sleep { mux { pins = "gpio83"; function = "gpio"; }; config { pins = "gpio83"; drive-strength = <16>; bias-disable; output-low; }; }; pmx_sde_te: pmx_sde_te { sde_te_active: sde_te_active { mux { pins = "gpio23"; function = "MDP_VSYNC"; }; config { pins = "gpio23"; drive-strength = <2>; /* 2 mA */ bias-pull-down; /* PULL DOWN */ }; }; sde_te_suspend: sde_te_suspend { mux { pins = "gpio23"; function = "MDP_VSYNC"; }; config { pins = "gpio23"; drive-strength = <2>; /* 2 mA */ bias-pull-down; /* PULL DOWN */ }; }; }; pmx_ts_active { ts_active: ts_active { mux { pins = "gpio21", "gpio22"; function = "gpio"; }; config { pins = "gpio21", "gpio22"; drive-strength = <8>; bias-pull-up; }; }; }; pmx_ts_int_suspend { ts_int_suspend: ts_int_suspend { mux { pins = "gpio22"; function = "gpio"; }; config { pins = "gpio22"; drive-strength = <2>; bias-pull-down; }; }; }; pmx_ts_reset_suspend { ts_reset_suspend: ts_reset_suspend { mux { pins = "gpio21"; function = "gpio"; }; config { pins = "gpio21"; drive-strength = <2>; bias-pull-down; }; }; }; pmx_ts_release { pmx_ts_release: pmx_ts_release { mux { pins = "gpio21", "gpio22"; function = "gpio"; }; config { pins = "gpio21", "gpio22"; drive-strength = <2>; bias-disable; }; }; }; /* Camera GPIOs CCI*/ cci0_active: cci0_active { mux { /* CLK, DATA */ pins = "gpio39", "gpio40"; function = "CCI_I2C"; }; config { pins = "gpio39", "gpio40"; bias-pull-up; /* PULL UP*/ drive-strength = <2>; /* 2 MA */ }; }; cci0_suspend: cci0_suspend { mux { /* CLK, DATA */ pins = "gpio39", "gpio40"; function = "CCI_I2C"; }; config { pins = "gpio39", "gpio40"; bias-pull-down; /* PULL DOWN */ drive-strength = <2>; /* 2 MA */ }; }; cci1_active: cci1_active { mux { /* CLK, DATA */ pins = "gpio41", "gpio42"; function = "CCI_I2C"; }; config { pins = "gpio41", "gpio42"; bias-pull-up; /* PULL UP*/ drive-strength = <2>; /* 2 MA */ }; }; cci1_suspend: cci1_suspend { mux { /* CLK, DATA */ pins = "gpio41", "gpio42"; function = "CCI_I2C"; }; config { pins = "gpio41", "gpio42"; bias-pull-down; /* PULL DOWN */ drive-strength = <2>; /* 2 MA */ }; }; cci2_active: cci2_active { mux { /* CLK, DATA */ pins = "gpio43", "gpio44"; function = "CCI_I2C"; }; config { pins = "gpio43", "gpio44"; bias-pull-up; /* PULL UP*/ drive-strength = <2>; /* 2 MA */ }; }; cci2_suspend: cci2_suspend { mux { /* CLK, DATA */ pins = "gpio43", "gpio44"; function = "CCI_I2C"; }; config { pins = "gpio43", "gpio44"; bias-pull-down; /* PULL DOWN */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_mclk0_active: cam_sensor_mclk0_active { /* MCLK 0*/ mux { pins = "gpio29"; function = "cam_mclk"; }; config { pins = "gpio29"; bias-disable; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_mclk0_suspend: cam_sensor_mclk0_suspend { /* MCLK 0*/ mux { pins = "gpio29"; function = "cam_mclk"; }; config { pins = "gpio29"; bias-pull-down; /* PULL DOWN */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_mclk1_active: cam_sensor_mclk1_active { /* MCLK 1*/ mux { pins = "gpio30"; function = "cam_mclk"; }; config { pins = "gpio30"; bias-disable; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_mclk1_suspend: cam_sensor_mclk1_suspend { /* MCLK 1*/ mux { pins = "gpio30"; function = "cam_mclk"; }; config { pins = "gpio30"; bias-pull-down; /* PULL DOWN */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_mclk2_active: cam_sensor_mclk2_active { /* MCLK 2*/ mux { pins = "gpio31"; function = "cam_mclk"; }; config { pins = "gpio31"; bias-disable; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_mclk2_suspend: cam_sensor_mclk2_suspend { /* MCLK 2*/ mux { pins = "gpio31"; function = "cam_mclk"; }; config { pins = "gpio31"; bias-pull-down; /* PULL DOWN */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_mclk3_active: cam_sensor_mclk3_active { /* MCLK 3*/ mux { pins = "gpio32"; function = "cam_mclk"; }; config { pins = "gpio32"; bias-disable; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_mclk3_suspend: cam_sensor_mclk3_suspend { /* MCLK 3*/ mux { pins = "gpio32"; function = "cam_mclk"; }; config { pins = "gpio32"; bias-pull-down; /* PULL DOWN */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_mclk4_active: cam_sensor_mclk4_active { /* MCLK 4*/ mux { pins = "gpio33"; function = "cam_mclk"; }; config { pins = "gpio33"; bias-disable; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_mclk4_suspend: cam_sensor_mclk4_suspend { /* MCLK 4*/ mux { pins = "gpio33"; function = "cam_mclk"; }; config { pins = "gpio33"; bias-pull-down; /* PULL DOWN */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_rear0_reset_active: cam_sensor_rear0_reset_active { /* RESET0 */ mux { pins = "gpio34"; function = "gpio"; }; config { pins = "gpio34"; bias-disable; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_rear0_reset_suspend: cam_sensor_rear0_reset_suspend { /* RESET0 */ mux { pins = "gpio34"; function = "gpio"; }; config { pins = "gpio34"; bias-pull-down; /* PULL DOWN */ drive-strength = <2>; /* 2 MA */ output-low; }; }; cam_sensor_rear1_reset_active: cam_sensor_rear1_reset_active { /* RESET1 */ mux { pins = "gpio35"; function = "gpio"; }; config { pins = "gpio35"; bias-disable; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_rear1_reset_suspend: cam_sensor_rear1_reset_suspend { /* RESET1 */ mux { pins = "gpio35"; function = "gpio"; }; config { pins = "gpio35"; bias-pull-down; /* PULL DOWN */ drive-strength = <2>; /* 2 MA */ output-low; }; }; cam_sensor_rear2_reset_active: cam_sensor_rear2_reset_active { /* RESET2 */ mux { pins = "gpio36"; function = "gpio"; }; config { pins = "gpio36"; bias-disable; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_rear2_reset_suspend: cam_sensor_rear2_reset_suspend { /* RESET2 */ mux { pins = "gpio36"; function = "gpio"; }; config { pins = "gpio36"; bias-pull-down; /* PULL DOWN */ drive-strength = <2>; /* 2 MA */ output-low; }; }; cam_sensor_front0_reset_active: cam_sensor_front0_reset_active { /* RESET0 */ mux { pins = "gpio37"; function = "gpio"; }; config { pins = "gpio37"; bias-disable; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_front0_reset_suspend: cam_sensor_front0_reset_suspend { /* RESET0 */ mux { pins = "gpio37"; function = "gpio"; }; config { pins = "gpio37"; bias-pull-down; /* PULL DOWN */ drive-strength = <2>; /* 2 MA */ output-low; }; }; cam_sensor_reset4_active: cam_sensor_reset4_active { /* RESET4 */ mux { pins = "gpio38"; function = "gpio"; }; config { pins = "gpio38"; bias-disable; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_reset4_suspend: cam_sensor_reset4_suspend { /* RESET4 */ mux { pins = "gpio38"; function = "gpio"; }; config { pins = "gpio38"; bias-pull-down; /* PULL DOWN */ drive-strength = <2>; /* 2 MA */ output-low; }; }; cam_flash_strobe_active: cam_flash_strobe_active { /* STROBE */ mux { pins = "gpio51"; function = "gpio"; }; config { pins = "gpio51"; bias-disable; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_flash_strobe_suspend: cam_flash_strobe_suspend { /* STROBE */ mux { pins = "gpio51"; function = "gpio"; }; config { pins = "gpio51"; bias-pull-down; /* PULL DOWN */ drive-strength = <2>; /* 2 MA */ output-low; }; }; cam_flash_torch_active: cam_flash_torch_active { /* TORCH */ mux { pins = "gpio27"; function = "gpio"; }; config { pins = "gpio27"; bias-disable; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_flash_torch_suspend: cam_flash_torch_suspend { /* TORCH */ mux { pins = "gpio27"; function = "gpio"; }; config { pins = "gpio27"; bias-pull-down; /* PULL DOWN */ drive-strength = <2>; /* 2 MA */ output-low; }; }; cam_flash_hwen_active: cam_flash_hwen_active { /* HWEN */ mux { pins = "gpio52"; function = "gpio"; }; config { pins = "gpio52"; bias-disable; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_flash_hwen_suspend: cam_flash_hwen_suspend { /* HWEN */ mux { pins = "gpio52"; function = "gpio"; }; config { pins = "gpio52"; bias-pull-down; /* PULL DOWN */ drive-strength = <2>; /* 2 MA */ output-low; }; }; cam_flash_tx_active: cam_flash_tx_active { /* TX */ mux { pins = "gpio119"; function = "gpio"; }; config { pins = "gpio119"; bias-disable; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_flash_tx_suspend: cam_flash_tx_suspend { /* TX */ mux { pins = "gpio119"; function = "gpio"; }; config { pins = "gpio119"; bias-pull-down; /* PULL DOWN */ drive-strength = <2>; /* 2 MA */ output-low; }; }; }; };