| /* Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 and |
| * only version 2 as published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| */ |
| |
| #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> |
| |
| &soc { |
| tlmm: pinctrl@400000 { |
| compatible = "qcom,trinket-pinctrl"; |
| reg = <0x400000 0xc00000>; |
| reg-names = "pinctrl"; |
| interrupts-extended = <&wakegic GIC_SPI 227 IRQ_TYPE_NONE>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| interrupt-controller; |
| interrupt-parent = <&wakegpio>; |
| #interrupt-cells = <2>; |
| |
| /* QUPv3_0 SE mappings */ |
| /* SE 0 pin mappings */ |
| 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-disable; |
| }; |
| }; |
| qupv3_se0_i2c_sleep: qupv3_se0_i2c_sleep { |
| mux { |
| pins = "gpio0", "gpio1"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio0", "gpio1"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| }; |
| }; |
| |
| /* SE 1 pin mappings */ |
| qupv3_se1_i2c_pins: qupv3_se1_i2c_pins { |
| qupv3_se1_i2c_active: qupv3_se1_i2c_active { |
| mux { |
| pins = "gpio4", "gpio5"; |
| function = "qup01"; |
| }; |
| |
| config { |
| pins = "gpio4", "gpio5"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| }; |
| qupv3_se1_i2c_sleep: qupv3_se1_i2c_sleep { |
| mux { |
| pins = "gpio4", "gpio5"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio4", "gpio5"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| }; |
| }; |
| |
| nfc { |
| nfc_int_active: nfc_int_active { |
| /* active state */ |
| mux { |
| /* GPIO 85 NFC Read Interrupt */ |
| pins = "gpio85"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio85"; |
| drive-strength = <2>; /* 2 MA */ |
| bias-pull-up; |
| }; |
| }; |
| |
| nfc_int_suspend: nfc_int_suspend { |
| /* sleep state */ |
| mux { |
| /* GPIO 85 NFC Read Interrupt */ |
| pins = "gpio85"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio85"; |
| drive-strength = <2>; /* 2 MA */ |
| bias-pull-up; |
| }; |
| }; |
| |
| nfc_enable_active: nfc_enable_active { |
| /* active state */ |
| mux { |
| /* 83: Enable 84: Firmware */ |
| pins = "gpio83", "gpio84"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio83", "gpio84"; |
| drive-strength = <2>; /* 2 MA */ |
| bias-pull-up; |
| }; |
| }; |
| |
| nfc_enable_suspend: nfc_enable_suspend { |
| /* sleep state */ |
| mux { |
| /* 83: Enable 84: Firmware */ |
| pins = "gpio83", "gpio84"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio83", "gpio84"; |
| drive-strength = <2>; /* 2 MA */ |
| bias-disable; |
| }; |
| }; |
| |
| nfc_clk_req_active: nfc_clk_req_active { |
| /* active state */ |
| mux { |
| /* GPIO 95: NFC CLOCK REQUEST */ |
| pins = "gpio95"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio95"; |
| drive-strength = <2>; /* 2 MA */ |
| bias-pull-up; |
| }; |
| }; |
| |
| nfc_clk_req_suspend: nfc_clk_req_suspend { |
| /* sleep state */ |
| mux { |
| /* GPIO 95: NFC CLOCK REQUEST */ |
| pins = "gpio95"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio95"; |
| drive-strength = <2>; /* 2 MA */ |
| bias-disable; |
| }; |
| }; |
| }; |
| |
| /* SE 2 pin mappings */ |
| qupv3_se2_i2c_pins: qupv3_se2_i2c_pins { |
| qupv3_se2_i2c_active: qupv3_se2_i2c_active { |
| mux { |
| pins = "gpio6", "gpio7"; |
| function = "qup02"; |
| }; |
| |
| config { |
| pins = "gpio6", "gpio7"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| }; |
| qupv3_se2_i2c_sleep: qupv3_se2_i2c_sleep { |
| mux { |
| pins = "gpio6", "gpio7"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio6", "gpio7"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| }; |
| }; |
| |
| /* SE 3 pin mappings */ |
| qupv3_se3_i2c_pins: qupv3_se3_i2c_pins { |
| qupv3_se3_i2c_active: qupv3_se3_i2c_active { |
| mux { |
| pins = "gpio14", "gpio15"; |
| function = "qup03"; |
| }; |
| |
| config { |
| pins = "gpio14", "gpio15"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| }; |
| |
| qupv3_se3_i2c_sleep: qupv3_se3_i2c_sleep { |
| mux { |
| pins = "gpio14", "gpio15"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio14", "gpio15"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| }; |
| }; |
| |
| /* SE 4 pin mappings */ |
| qupv3_se4_i2c_pins: qupv3_se4_i2c_pins { |
| qupv3_se4_i2c_active: qupv3_se4_i2c_active { |
| mux { |
| pins = "gpio16", "gpio17"; |
| function = "qup04"; |
| }; |
| |
| config { |
| pins = "gpio16", "gpio17"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| }; |
| |
| qupv3_se4_i2c_sleep: qupv3_se4_i2c_sleep { |
| mux { |
| pins = "gpio16", "gpio17"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio16", "gpio17"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| }; |
| }; |
| |
| /*QUPv3_1 SE mappings */ |
| /* SE 5 pin mappings */ |
| qupv3_se5_i2c_pins: qupv3_se5_i2c_pins { |
| qupv3_se5_i2c_active: qupv3_se5_i2c_active { |
| mux { |
| pins = "gpio22", "gpio23"; |
| function = "qup10"; |
| }; |
| |
| config { |
| pins = "gpio22", "gpio23"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| }; |
| |
| qupv3_se5_i2c_sleep: qupv3_se5_i2c_sleep { |
| mux { |
| pins = "gpio22", "gpio23"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio22", "gpio23"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| }; |
| }; |
| |
| /* SE 6 pin mappings */ |
| qupv3_se6_i2c_pins: qupv3_se6_i2c_pins { |
| qupv3_se6_i2c_active: qupv3_se6_i2c_active { |
| mux { |
| pins = "gpio30", "gpio31"; |
| function = "qup11"; |
| }; |
| |
| config { |
| pins = "gpio30", "gpio31"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| }; |
| |
| qupv3_se6_i2c_sleep: qupv3_se6_i2c_sleep { |
| mux { |
| pins = "gpio30", "gpio31"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio30", "gpio31"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| }; |
| }; |
| |
| /* SE 7 pin mappings */ |
| qupv3_se7_i2c_pins: qupv3_se7_i2c_pins { |
| qupv3_se7_i2c_active: qupv3_se7_i2c_active { |
| mux { |
| pins = "gpio28", "gpio29"; |
| function = "qup12"; |
| }; |
| |
| config { |
| pins = "gpio28", "gpio29"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| }; |
| |
| qupv3_se7_i2c_sleep: qupv3_se7_i2c_sleep { |
| mux { |
| pins = "gpio28", "gpio29"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio28", "gpio29"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| }; |
| }; |
| |
| /* SE 8 pin mappings */ |
| qupv3_se8_i2c_pins: qupv3_se8_i2c_pins { |
| qupv3_se8_i2c_active: qupv3_se8_i2c_active { |
| mux { |
| pins = "gpio18", "gpio19"; |
| function = "qup13"; |
| }; |
| |
| config { |
| pins = "gpio18", "gpio19"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| }; |
| |
| qupv3_se8_i2c_sleep: qupv3_se8_i2c_sleep { |
| mux { |
| pins = "gpio18", "gpio19"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio18", "gpio19"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| }; |
| }; |
| |
| /* SE 9 pin mappings */ |
| qupv3_se9_i2c_pins: qupv3_se9_i2c_pins { |
| qupv3_se9_i2c_active: qupv3_se9_i2c_active { |
| mux { |
| pins = "gpio10", "gpio11"; |
| function = "qup14"; |
| }; |
| |
| config { |
| pins = "gpio10", "gpio11"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| }; |
| |
| qupv3_se9_i2c_sleep: qupv3_se9_i2c_sleep { |
| mux { |
| pins = "gpio10", "gpio11"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio10", "gpio11"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| }; |
| }; |
| |
| qupv3_se3_4uart_pins: qupv3_se3_4uart_pins { |
| qupv3_se3_rx: qupv3_se3_rx { |
| mux { |
| pins = "gpio15"; |
| function = "qup03"; |
| }; |
| |
| config { |
| pins = "gpio15"; |
| drive-strength = <2>; |
| bias-no-pull; |
| }; |
| }; |
| |
| qupv3_se3_tx: qupv3_se6_tx { |
| mux { |
| pins = "gpio14"; |
| function = "qup03"; |
| }; |
| |
| config { |
| pins = "gpio14"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| }; |
| }; |
| |
| qupv3_se4_2uart_pins: qupv3_se4_2uart_pins { |
| qupv3_se4_2uart_active: qupv3_se4_2uart_active { |
| mux { |
| pins = "gpio16", "gpio17"; |
| function = "qup04"; |
| }; |
| |
| config { |
| pins = "gpio16", "gpio17"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| }; |
| |
| qupv3_se4_2uart_sleep: qupv3_se4_2uart_sleep { |
| mux { |
| pins = "gpio16", "gpio17"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio16", "gpio17"; |
| drive-strength = <2>; |
| bias-pull-down; |
| }; |
| }; |
| }; |
| |
| qupv3_se9_4uart_pins: qupv3_se9_4uart_pins { |
| qupv3_se9_ctsrx: qupv3_se9_ctsrx { |
| mux { |
| pins = "gpio10", "gpio13"; |
| function = "qup14"; |
| }; |
| |
| config { |
| pins = "gpio10", "gpio13"; |
| drive-strength = <2>; |
| bias-no-pull; |
| }; |
| }; |
| |
| qupv3_se9_rts: qupv3_se9_rts { |
| mux { |
| pins = "gpio11"; |
| function = "qup14"; |
| }; |
| |
| config { |
| pins = "gpio11"; |
| drive-strength = <2>; |
| bias-pull-down; |
| }; |
| }; |
| |
| qupv3_se9_tx: qupv3_se9_tx { |
| mux { |
| pins = "gpio12"; |
| function = "qup14"; |
| }; |
| |
| config { |
| pins = "gpio12"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| }; |
| }; |
| |
| /* SPI Instances */ |
| /* SE 0 pin mappings */ |
| 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"; |
| }; |
| |
| configs { |
| pins = "gpio0", "gpio1", "gpio2", |
| "gpio3"; |
| drive-strength = <6>; |
| bias-disable; |
| }; |
| }; |
| }; |
| |
| /* SE 2 pin mappings */ |
| qupv3_se2_spi_pins: qupv3_se2_spi_pins { |
| qupv3_se2_spi_active: qupv3_se2_spi_active { |
| mux { |
| pins = "gpio6", "gpio7", "gpio8", |
| "gpio9"; |
| function = "qup02"; |
| }; |
| |
| config { |
| pins = "gpio6", "gpio7", "gpio8", |
| "gpio9"; |
| drive-strength = <6>; |
| bias-disable; |
| }; |
| }; |
| |
| qupv3_se2_spi_sleep: qupv3_se2_spi_sleep { |
| mux { |
| pins = "gpio6", "gpio7", "gpio8", |
| "gpio9"; |
| function = "gpio"; |
| }; |
| |
| configs { |
| pins = "gpio6", "gpio7", "gpio8", |
| "gpio9"; |
| drive-strength = <6>; |
| bias-disable; |
| }; |
| }; |
| }; |
| |
| /* SE 5 pin mappings */ |
| qupv3_se5_spi_pins: qupv3_se5_spi_pins { |
| qupv3_se5_spi_active: qupv3_se5_spi_active { |
| mux { |
| pins = "gpio22", "gpio23", "gpio24", |
| "gpio25"; |
| function = "qup10"; |
| }; |
| |
| config { |
| pins = "gpio22", "gpio23", "gpio24", |
| "gpio25"; |
| drive-strength = <6>; |
| bias-disable; |
| }; |
| }; |
| |
| qupv3_se5_spi_sleep: qupv3_se5_spi_sleep { |
| mux { |
| pins = "gpio22", "gpio23", "gpio24", |
| "gpio25"; |
| function = "gpio"; |
| }; |
| |
| configs { |
| pins = "gpio22", "gpio23", "gpio24", |
| "gpio25"; |
| drive-strength = <6>; |
| bias-disable; |
| }; |
| }; |
| }; |
| |
| /* SE 6 pin mappings */ |
| qupv3_se6_spi_pins: qupv3_se6_spi_pins { |
| qupv3_se6_spi_active: qupv3_se6_spi_active { |
| mux { |
| pins = "gpio30", "gpio31", "gpio32", |
| "gpio33"; |
| function = "qup11"; |
| }; |
| |
| config { |
| pins = "gpio30", "gpio31", "gpio32", |
| "gpio33"; |
| drive-strength = <6>; |
| bias-disable; |
| }; |
| }; |
| |
| qupv3_se6_spi_sleep: qupv3_se6_spi_sleep { |
| mux { |
| pins = "gpio30", "gpio31", "gpio32", |
| "gpio33"; |
| function = "gpio"; |
| }; |
| |
| configs { |
| pins = "gpio30", "gpio31", "gpio32", |
| "gpio33"; |
| drive-strength = <6>; |
| bias-disable; |
| }; |
| }; |
| }; |
| |
| /* SE 8 pin mappings */ |
| qupv3_se8_spi_pins: qupv3_se8_spi_pins { |
| qupv3_se8_spi_active: qupv3_se8_spi_active { |
| mux { |
| pins = "gpio18", "gpio19", "gpio20", |
| "gpio21"; |
| function = "qup13"; |
| }; |
| |
| config { |
| pins = "gpio18", "gpio19", "gpio20", |
| "gpio21"; |
| drive-strength = <6>; |
| bias-disable; |
| }; |
| }; |
| |
| qupv3_se8_spi_sleep: qupv3_se8_spi_sleep { |
| mux { |
| pins = "gpio18", "gpio19", "gpio20", |
| "gpio21"; |
| function = "gpio"; |
| }; |
| |
| configs { |
| pins = "gpio18", "gpio19", "gpio20", |
| "gpio21"; |
| drive-strength = <6>; |
| bias-disable; |
| }; |
| }; |
| }; |
| |
| /* SE 9 pin mappings */ |
| qupv3_se9_spi_pins: qupv3_se9_spi_pins { |
| qupv3_se9_spi_active: qupv3_se9_spi_active { |
| mux { |
| pins = "gpio10", "gpio11", "gpio12", |
| "gpio13"; |
| function = "qup_14"; |
| }; |
| |
| config { |
| pins = "gpio10", "gpio11", "gpio12", |
| "gpio13"; |
| drive-strength = <6>; |
| bias-disable; |
| }; |
| }; |
| |
| qupv3_se9_spi_sleep: qupv3_se9_spi_sleep { |
| mux { |
| pins = "gpio10", "gpio11", "gpio12", |
| "gpio13"; |
| function = "gpio"; |
| }; |
| |
| configs { |
| pins = "gpio10", "gpio11", "gpio12", |
| "gpio13"; |
| drive-strength = <6>; |
| bias-disable; |
| }; |
| }; |
| }; |
| |
| fsa_usbc_ana_en_n@124 { |
| fsa_usbc_ana_en: fsa_usbc_ana_en { |
| mux { |
| pins = "gpio124"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio124"; |
| drive-strength = <2>; |
| bias-disable; |
| output-low; |
| }; |
| }; |
| }; |
| |
| wsa_swr_clk_pin { |
| wsa_swr_clk_sleep: wsa_swr_clk_sleep { |
| mux { |
| pins = "gpio18"; |
| function = "WSA_CLK"; |
| }; |
| |
| config { |
| pins = "gpio18"; |
| drive-strength = <2>; |
| bias-bus-hold; |
| }; |
| }; |
| |
| wsa_swr_clk_active: wsa_swr_clk_active { |
| mux { |
| pins = "gpio18"; |
| function = "WSA_CLK"; |
| }; |
| |
| config { |
| pins = "gpio18"; |
| drive-strength = <2>; |
| bias-bus-hold; |
| }; |
| }; |
| }; |
| |
| wsa_swr_data_pin { |
| wsa_swr_data_sleep: wsa_swr_data_sleep { |
| mux { |
| pins = "gpio19"; |
| function = "WSA_DATA"; |
| }; |
| |
| config { |
| pins = "gpio19"; |
| drive-strength = <4>; |
| bias-bus-hold; |
| }; |
| }; |
| |
| wsa_swr_data_active: wsa_swr_data_active { |
| mux { |
| pins = "gpio19"; |
| function = "WSA_DATA"; |
| }; |
| |
| config { |
| pins = "gpio19"; |
| drive-strength = <4>; |
| bias-bus-hold; |
| }; |
| }; |
| }; |
| |
| /* WSA speaker reset pins */ |
| spkr_1_sd_n { |
| spkr_1_sd_n_sleep: spkr_1_sd_n_sleep { |
| mux { |
| pins = "gpio20"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio20"; |
| drive-strength = <2>; /* 2 mA */ |
| bias-pull-down; |
| input-enable; |
| }; |
| }; |
| |
| spkr_1_sd_n_active: spkr_1_sd_n_active { |
| mux { |
| pins = "gpio20"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio20"; |
| drive-strength = <16>; /* 16 mA */ |
| bias-disable; |
| output-high; |
| }; |
| }; |
| }; |
| |
| wcd9xxx_intr { |
| wcd_intr_default: wcd_intr_default{ |
| mux { |
| pins = "gpio110"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio110"; |
| drive-strength = <2>; /* 2 mA */ |
| bias-pull-down; /* pull down */ |
| input-enable; |
| }; |
| }; |
| }; |
| |
| tasha_cdc_reset_active: lpi_cdc_reset_active { |
| mux { |
| pins = "gpio120"; |
| function = "gpio"; |
| }; |
| config { |
| pins = "gpio120"; |
| drive-strength = <16>; |
| output-high; |
| }; |
| }; |
| |
| tasha_cdc_reset_sleep: lpi_cdc_reset_sleep { |
| mux { |
| pins = "gpio120"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio120"; |
| drive-strength = <16>; |
| bias-disable; |
| output-low; |
| }; |
| }; |
| |
| /* Tasha WSA speaker reset pins */ |
| tasha_spkr_1_sd_n { |
| tasha_spkr_1_sd_n_sleep: tasha_spkr_1_sd_n_sleep { |
| mux { |
| pins = "gpio20"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio20"; |
| drive-strength = <2>; /* 2 mA */ |
| bias-pull-down; |
| input-enable; |
| }; |
| }; |
| |
| tasha_spkr_1_sd_n_active: tasha_spkr_1_sd_n_active { |
| mux { |
| pins = "gpio20"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio20"; |
| drive-strength = <16>; /* 16 mA */ |
| bias-disable; |
| output-high; |
| }; |
| }; |
| }; |
| |
| tasha_spkr_2_sd_n { |
| tasha_spkr_2_sd_n_sleep: tasha_spkr_2_sd_n_sleep { |
| mux { |
| pins = "gpio21"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio21"; |
| drive-strength = <2>; /* 2 mA */ |
| bias-pull-down; |
| input-enable; |
| }; |
| }; |
| |
| tasha_spkr_2_sd_n_active: tasha_spkr_2_sd_n_active { |
| mux { |
| pins = "gpio21"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio21"; |
| drive-strength = <16>; /* 16 mA */ |
| bias-disable; |
| output-high; |
| }; |
| }; |
| }; |
| |
| audio_ref_clk_active: audio_ref_clk_active { |
| mux { |
| pins = "gpio112"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio112"; |
| drive-strength = <8>; |
| bias-disable; |
| output-low; |
| }; |
| }; |
| |
| audio_ref_clk_sleep: audio_ref_clk_sleep { |
| mux { |
| pins = "gpio112"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio112"; |
| drive-strength = <2>; |
| bias-disable; |
| bias-pull-down; |
| }; |
| }; |
| |
| wcd937x_reset_active: wcd937x_reset_active { |
| mux { |
| pins = "gpio120"; |
| function = "gpio"; |
| }; |
| config { |
| pins = "gpio120"; |
| drive-strength = <16>; |
| output-high; |
| }; |
| }; |
| |
| wcd937x_reset_sleep: wcd937x_reset_sleep { |
| mux { |
| pins = "gpio120"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio120"; |
| drive-strength = <16>; |
| bias-disable; |
| output-low; |
| }; |
| }; |
| |
| cdc_dmic01_clk_active: dmic01_clk_active { |
| mux { |
| pins = "gpio125"; |
| function = "DMIC0_CLK"; |
| }; |
| |
| config { |
| pins = "gpio125"; |
| drive-strength = <8>; |
| output-high; |
| }; |
| }; |
| |
| cdc_dmic01_clk_sleep: dmic01_clk_sleep { |
| mux { |
| pins = "gpio125"; |
| function = "DMIC0_CLK"; |
| }; |
| |
| config { |
| pins = "gpio125"; |
| drive-strength = <2>; |
| bias-disable; |
| output-low; |
| }; |
| }; |
| |
| cdc_dmic01_data_active: dmic01_data_active { |
| mux { |
| pins = "gpio126"; |
| function = "DMIC0_DATA"; |
| }; |
| |
| config { |
| pins = "gpio126"; |
| drive-strength = <8>; |
| input-enable; |
| }; |
| }; |
| |
| cdc_dmic01_data_sleep: dmic01_data_sleep { |
| mux { |
| pins = "gpio126"; |
| function = "DMIC0_DATA"; |
| }; |
| |
| config { |
| pins = "gpio126"; |
| drive-strength = <2>; |
| pull-down; |
| input-enable; |
| }; |
| }; |
| |
| cdc_dmic23_clk_active: dmic23_clk_active { |
| mux { |
| pins = "gpio127"; |
| function = "DMIC1_CLK"; |
| }; |
| |
| config { |
| pins = "gpio127"; |
| drive-strength = <8>; |
| output-high; |
| }; |
| }; |
| |
| cdc_dmic23_clk_sleep: dmic23_clk_sleep { |
| mux { |
| pins = "gpio127"; |
| function = "DMIC1_CLK"; |
| }; |
| |
| config { |
| pins = "gpio127"; |
| drive-strength = <2>; |
| bias-disable; |
| output-low; |
| }; |
| }; |
| |
| cdc_dmic23_data_active: dmic23_data_active { |
| mux { |
| pins = "gpio128"; |
| function = "DMIC1_DATA"; |
| }; |
| |
| config { |
| pins = "gpio128"; |
| drive-strength = <8>; |
| input-enable; |
| }; |
| }; |
| |
| cdc_dmic23_data_sleep: dmic23_data_sleep { |
| mux { |
| pins = "gpio128"; |
| function = "DMIC1_DATA"; |
| }; |
| |
| config { |
| pins = "gpio128"; |
| drive-strength = <2>; |
| pull-down; |
| input-enable; |
| }; |
| }; |
| |
| tx_swr_clk_sleep: tx_swr_clk_sleep { |
| mux { |
| pins = "gpio106"; |
| function = "swr_tx"; |
| }; |
| |
| config { |
| pins = "gpio106"; |
| drive-strength = <2>; |
| bias-bus-hold; |
| }; |
| }; |
| |
| tx_swr_clk_active: tx_swr_clk_active { |
| mux { |
| pins = "gpio106"; |
| function = "swr_tx"; |
| }; |
| |
| config { |
| pins = "gpio106"; |
| drive-strength = <10>; |
| bias-bus-hold; |
| }; |
| }; |
| |
| tx_swr_data1_sleep: tx_swr_data1_sleep { |
| mux { |
| pins = "gpio107"; |
| function = "swr_tx"; |
| }; |
| |
| config { |
| pins = "gpio107"; |
| drive-strength = <2>; |
| bias-bus-hold; |
| }; |
| }; |
| |
| tx_swr_data1_active: tx_swr_data1_active { |
| mux { |
| pins = "gpio107"; |
| function = "swr_tx"; |
| }; |
| |
| config { |
| pins = "gpio107"; |
| drive-strength = <10>; |
| bias-bus-hold; |
| }; |
| }; |
| |
| tx_swr_data2_sleep: tx_swr_data2_sleep { |
| mux { |
| pins = "gpio108"; |
| function = "swr_tx"; |
| }; |
| |
| config { |
| pins = "gpio108"; |
| drive-strength = <2>; |
| bias-bus-hold; |
| }; |
| }; |
| |
| tx_swr_data2_active: tx_swr_data2_active { |
| mux { |
| pins = "gpio108"; |
| function = "swr_tx"; |
| }; |
| |
| config { |
| pins = "gpio108"; |
| drive-strength = <10>; |
| bias-bus-hold; |
| }; |
| }; |
| |
| rx_swr_clk_sleep: rx_swr_clk_sleep { |
| mux { |
| pins = "gpio110"; |
| function = "swr_rx"; |
| }; |
| |
| config { |
| pins = "gpio110"; |
| drive-strength = <2>; |
| bias-bus-hold; |
| }; |
| }; |
| |
| rx_swr_clk_active: rx_swr_clk_active { |
| mux { |
| pins = "gpio110"; |
| function = "swr_rx"; |
| }; |
| |
| config { |
| pins = "gpio110"; |
| drive-strength = <10>; |
| bias-bus-hold; |
| }; |
| }; |
| |
| rx_swr_data_sleep: rx_swr_data_sleep { |
| mux { |
| pins = "gpio111", "gpio112"; |
| function = "swr_rx"; |
| }; |
| |
| config { |
| pins = "gpio111", "gpio112"; |
| drive-strength = <2>; |
| bias-bus-hold; |
| }; |
| }; |
| |
| rx_swr_data_active: rx_swr_data_active { |
| mux { |
| pins = "gpio111", "gpio112"; |
| function = "swr_rx"; |
| }; |
| |
| config { |
| pins = "gpio111", "gpio112"; |
| drive-strength = <10>; |
| bias-bus-hold; |
| }; |
| }; |
| |
| pmx_sde: pmx_sde { |
| sde_dsi_active: sde_dsi_active { |
| mux { |
| pins = "gpio90"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio90"; |
| drive-strength = <8>; /* 8 mA */ |
| bias-disable = <0>; /* no pull */ |
| }; |
| }; |
| |
| sde_dsi_suspend: sde_dsi_suspend { |
| mux { |
| pins = "gpio90"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio90"; |
| drive-strength = <2>; /* 2 mA */ |
| bias-pull-down; /* PULL DOWN */ |
| }; |
| }; |
| }; |
| |
| pmx_sde_te { |
| sde_te_active: sde_te_active { |
| mux { |
| pins = "gpio89"; |
| function = "mdp_vsync"; |
| }; |
| |
| config { |
| pins = "gpio89"; |
| drive-strength = <2>; /* 2 mA */ |
| bias-pull-down; /* PULL DOWN */ |
| }; |
| }; |
| |
| sde_te_suspend: sde_te_suspend { |
| mux { |
| pins = "gpio89"; |
| function = "mdp_vsync"; |
| }; |
| |
| config { |
| pins = "gpio89"; |
| drive-strength = <2>; /* 2 mA */ |
| bias-pull-down; /* PULL DOWN */ |
| }; |
| }; |
| }; |
| |
| sde_dp_usbplug_cc_active: sde_dp_usbplug_cc_active { |
| mux { |
| pins = "gpio102"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio102"; |
| bias-disable; |
| drive-strength = <16>; |
| }; |
| }; |
| |
| sde_dp_usbplug_cc_suspend: sde_dp_usbplug_cc_suspend { |
| mux { |
| pins = "gpio102"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio102"; |
| bias-pull-down; |
| drive-strength = <2>; |
| }; |
| }; |
| |
| sde_dp_hotplug_ctrl: sde_dp_hotplug_ctrl { |
| mux { |
| pins = "gpio100"; |
| function = "dp_hot"; |
| }; |
| |
| config { |
| pins = "gpio100"; |
| bias-disable; |
| input-enable; |
| drive-strength = <2>; |
| }; |
| }; |
| |
| sde_dp_hotplug_tlmm: sde_dp_hotplug_tlmm { |
| mux { |
| pins = "gpio100"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio100"; |
| bias-disable; |
| input-enable; |
| drive-strength = <2>; |
| }; |
| }; |
| |
| /* SDC pin type */ |
| sdc1_clk_on: sdc1_clk_on { |
| config { |
| pins = "sdc1_clk"; |
| bias-disable; /* NO pull */ |
| drive-strength = <16>; /* 16 MA */ |
| }; |
| }; |
| |
| sdc1_clk_off: sdc1_clk_off { |
| config { |
| pins = "sdc1_clk"; |
| bias-disable; /* NO pull */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| sdc1_cmd_on: sdc1_cmd_on { |
| config { |
| pins = "sdc1_cmd"; |
| bias-pull-up; /* pull up */ |
| drive-strength = <10>; /* 10 MA */ |
| }; |
| }; |
| |
| sdc1_cmd_off: sdc1_cmd_off { |
| config { |
| pins = "sdc1_cmd"; |
| num-grp-pins = <1>; |
| bias-pull-up; /* pull up */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| sdc1_data_on: sdc1_data_on { |
| config { |
| pins = "sdc1_data"; |
| bias-pull-up; /* pull up */ |
| drive-strength = <10>; /* 10 MA */ |
| }; |
| }; |
| |
| sdc1_data_off: sdc1_data_off { |
| config { |
| pins = "sdc1_data"; |
| bias-pull-up; /* pull up */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| sdc1_rclk_on: sdc1_rclk_on { |
| config { |
| pins = "sdc1_rclk"; |
| bias-pull-down; /* pull down */ |
| }; |
| }; |
| |
| sdc1_rclk_off: sdc1_rclk_off { |
| config { |
| pins = "sdc1_rclk"; |
| bias-pull-down; /* pull down */ |
| }; |
| }; |
| |
| sdc2_clk_on: sdc2_clk_on { |
| config { |
| pins = "sdc2_clk"; |
| bias-disable; /* NO pull */ |
| drive-strength = <16>; /* 16 MA */ |
| }; |
| }; |
| |
| sdc2_clk_off: sdc2_clk_off { |
| config { |
| pins = "sdc2_clk"; |
| bias-disable; /* NO pull */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| sdc2_cmd_on: sdc2_cmd_on { |
| config { |
| pins = "sdc2_cmd"; |
| bias-pull-up; /* pull up */ |
| drive-strength = <10>; /* 10 MA */ |
| }; |
| }; |
| |
| sdc2_cmd_off: sdc2_cmd_off { |
| config { |
| pins = "sdc2_cmd"; |
| bias-pull-up; /* pull up */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| sdc2_data_on: sdc2_data_on { |
| config { |
| pins = "sdc2_data"; |
| bias-pull-up; /* pull up */ |
| drive-strength = <10>; /* 10 MA */ |
| }; |
| }; |
| |
| sdc2_data_off: sdc2_data_off { |
| config { |
| pins = "sdc2_data"; |
| bias-pull-up; /* pull up */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| sdc2_cd_on: cd_on { |
| mux { |
| pins = "gpio98"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio98"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| }; |
| |
| sdc2_cd_off: cd_off { |
| mux { |
| pins = "gpio98"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio98"; |
| drive-strength = <2>; |
| bias-disable; |
| }; |
| }; |
| |
| ufs_dev_reset_assert: ufs_dev_reset_assert { |
| config { |
| pins = "ufs_reset"; |
| bias-pull-down; /* default: pull down */ |
| /* |
| * UFS_RESET driver strengths are having |
| * different values/steps compared to typical |
| * GPIO drive strengths. |
| * |
| * Following table clarifies: |
| * |
| * HDRV value | UFS_RESET | Typical GPIO |
| * (dec) | (mA) | (mA) |
| * 0 | 0.8 | 2 |
| * 1 | 1.55 | 4 |
| * 2 | 2.35 | 6 |
| * 3 | 3.1 | 8 |
| * 4 | 3.9 | 10 |
| * 5 | 4.65 | 12 |
| * 6 | 5.4 | 14 |
| * 7 | 6.15 | 16 |
| * |
| * POR value for UFS_RESET HDRV is 3 which means |
| * 3.1mA and we want to use that. Hence just |
| * specify 8mA to "drive-strength" binding and |
| * that should result into writing 3 to HDRV |
| * field. |
| */ |
| drive-strength = <8>; /* default: 3.1 mA */ |
| output-low; /* active low reset */ |
| }; |
| }; |
| |
| ufs_dev_reset_deassert: ufs_dev_reset_deassert { |
| config { |
| pins = "ufs_reset"; |
| bias-pull-down; /* default: pull down */ |
| /* |
| * default: 3.1 mA |
| * check comments under ufs_dev_reset_assert |
| */ |
| drive-strength = <8>; |
| output-high; /* active low reset */ |
| }; |
| }; |
| |
| pmx_ts_int_active { |
| ts_int_active: ts_int_active { |
| mux { |
| pins = "gpio88"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio88"; |
| drive-strength = <8>; |
| bias-pull-up; |
| }; |
| }; |
| }; |
| |
| pmx_ts_int_suspend { |
| ts_int_suspend: ts_int_suspend { |
| mux { |
| pins = "gpio88"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio88"; |
| drive-strength = <2>; |
| bias-pull-down; |
| }; |
| }; |
| }; |
| |
| pmx_ts_reset_active { |
| ts_reset_active: ts_reset_active { |
| mux { |
| pins = "gpio87"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio87"; |
| drive-strength = <8>; |
| bias-pull-up; |
| }; |
| }; |
| }; |
| |
| pmx_ts_reset_suspend { |
| ts_reset_suspend: ts_reset_suspend { |
| mux { |
| pins = "gpio87"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio87"; |
| drive-strength = <2>; |
| bias-pull-down; |
| }; |
| }; |
| }; |
| |
| pmx_ts_release { |
| ts_release: ts_release { |
| mux { |
| pins = "gpio88", "gpio87"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio88", "gpio87"; |
| drive-strength = <2>; |
| bias-pull-down; |
| }; |
| }; |
| }; |
| cci0_active: cci0_active { |
| mux { |
| /* CLK, DATA */ |
| pins = "gpio37", "gpio38"; |
| function = "cci_i2c"; |
| }; |
| |
| config { |
| pins = "gpio37", "gpio38"; |
| bias-pull-up; /* PULL UP*/ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| cci0_suspend: cci0_suspend { |
| mux { |
| /* CLK, DATA */ |
| pins = "gpio37", "gpio38"; |
| function = "cci_i2c"; |
| }; |
| |
| config { |
| pins = "gpio37", "gpio38"; |
| bias-pull-down; /* PULL DOWN */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| cci1_active: cci1_active { |
| mux { |
| /* CLK, DATA */ |
| pins = "gpio39", "gpio40"; |
| function = "cci_i2c"; |
| }; |
| |
| config { |
| pins = "gpio39", "gpio40"; |
| bias-pull-up; /* PULL UP*/ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| cci1_suspend: cci1_suspend { |
| mux { |
| /* CLK, DATA */ |
| pins = "gpio39", "gpio40"; |
| function = "cci_i2c"; |
| }; |
| |
| config { |
| pins = "gpio39", "gpio40"; |
| bias-pull-down; /* PULL DOWN */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| cam_sensor_mclk0_active: cam_sensor_mclk0_active { |
| /* MCLK0 */ |
| mux { |
| pins = "gpio34"; |
| function = "cam_mclk"; |
| }; |
| |
| config { |
| pins = "gpio34"; |
| bias-disable; /* No PULL */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| cam_sensor_mclk0_suspend: cam_sensor_mclk0_suspend { |
| /* MCLK0 */ |
| mux { |
| pins = "gpio34"; |
| function = "cam_mclk"; |
| }; |
| |
| config { |
| pins = "gpio34"; |
| bias-pull-down; /* PULL DOWN */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| cam_sensor_rear_active: cam_sensor_rear_active { |
| /* RESET */ |
| mux { |
| pins = "gpio48"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio48"; |
| bias-disable; /* No PULL */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| cam_sensor_rear_suspend: cam_sensor_rear_suspend { |
| /* RESET */ |
| mux { |
| pins = "gpio48"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio48"; |
| bias-pull-down; /* PULL DOWN */ |
| drive-strength = <2>; /* 2 MA */ |
| output-low; |
| }; |
| }; |
| |
| cam_sensor_front_active: cam_sensor_front_active { |
| /* RESET */ |
| mux { |
| pins = "gpio42"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio42"; |
| bias-disable; /* No PULL */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| cam_sensor_front_suspend: cam_sensor_front_suspend { |
| /* RESET */ |
| mux { |
| pins = "gpio42"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio42"; |
| bias-pull-down; /* PULL DOWN */ |
| drive-strength = <2>; /* 2 MA */ |
| output-low; |
| }; |
| }; |
| |
| cam_sensor_rear2_active: cam_sensor_rear2_active { |
| /* RESET */ |
| mux { |
| pins = "gpio46"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio46"; |
| bias-disable; /* No PULL */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| cam_sensor_rear2_suspend: cam_sensor_rear2_suspend { |
| /* RESET */ |
| mux { |
| pins = "gpio46"; |
| function = "gpio"; |
| }; |
| |
| config { |
| pins = "gpio46"; |
| bias-pull-down; /* PULL DOWN */ |
| drive-strength = <2>; /* 2 MA */ |
| output-low; |
| }; |
| }; |
| |
| cam_sensor_mclk1_active: cam_sensor_mclk1_active { |
| /* MCLK1 */ |
| mux { |
| pins = "gpio35"; |
| function = "cam_mclk"; |
| }; |
| |
| config { |
| pins = "gpio35"; |
| bias-disable; /* No PULL */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| cam_sensor_mclk1_suspend: cam_sensor_mclk1_suspend { |
| /* MCLK1 */ |
| mux { |
| pins = "gpio35"; |
| function = "cam_mclk"; |
| }; |
| |
| config { |
| pins = "gpio35"; |
| bias-pull-down; /* PULL DOWN */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| cam_sensor_mclk2_active: cam_sensor_mclk2_active { |
| /* MCLK2 */ |
| mux { |
| pins = "gpio36"; |
| function = "cam_mclk"; |
| }; |
| |
| config { |
| pins = "gpio36"; |
| bias-disable; /* No PULL */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| cam_sensor_mclk2_suspend: cam_sensor_mclk2_suspend { |
| /* MCLK2 */ |
| mux { |
| pins = "gpio36"; |
| function = "cam_mclk"; |
| }; |
| |
| config { |
| pins = "gpio36"; |
| bias-pull-down; /* PULL DOWN */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| fpc_reset_int: fpc_reset_int { |
| fpc_reset_low: reset_low { |
| mux { |
| pins = "gpio93"; |
| function = "gpio"; |
| }; |
| config { |
| pins = "gpio93"; |
| drive-strength = <2>; |
| bias-disable; |
| output-low; |
| }; |
| }; |
| |
| fpc_reset_high: reset_high { |
| mux { |
| pins = "gpio93"; |
| function = "gpio"; |
| }; |
| config { |
| pins = "gpio93"; |
| drive-strength = <2>; |
| bias-disable; |
| output-high; |
| }; |
| }; |
| |
| fpc_int_low: int_low { |
| mux { |
| pins = "gpio92"; |
| function = "gpio"; |
| }; |
| config { |
| pins = "gpio92"; |
| drive-strength = <2>; |
| bias-pull-down; |
| input-enable; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| &pm6125_gpios { |
| tasha_mclk { |
| tasha_mclk_default: tasha_mclk_default{ |
| pins = "gpio1"; |
| function = "func1"; |
| qcom,drive-strength = <2>; |
| power-source = <0>; |
| bias-disable; |
| output-low; |
| }; |
| }; |
| }; |