#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include "pinctrl-msm.h"
#define REG_BASE …
#define REG_SIZE …
#define PINGROUP(id, f1, f2, f3, f4, f5, f6, f7, f8, f9) …
#define SDC_QDSD_PINGROUP(pg_name, ctl, pull, drv) …
static const struct pinctrl_pin_desc msm8996_pins[] = …;
#define DECLARE_MSM_GPIO_PINS(pin) …
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
DECLARE_MSM_GPIO_PINS(…);
static const unsigned int sdc1_clk_pins[] = …;
static const unsigned int sdc1_cmd_pins[] = …;
static const unsigned int sdc1_data_pins[] = …;
static const unsigned int sdc2_clk_pins[] = …;
static const unsigned int sdc2_cmd_pins[] = …;
static const unsigned int sdc2_data_pins[] = …;
static const unsigned int sdc1_rclk_pins[] = …;
enum msm8996_functions { … };
static const char * const gpio_groups[] = …;
static const char * const blsp_uart1_groups[] = …;
static const char * const blsp_spi1_groups[] = …;
static const char * const blsp_i2c1_groups[] = …;
static const char * const blsp_uim1_groups[] = …;
static const char * const atest_tsens_groups[] = …;
static const char * const bimc_dte1_groups[] = …;
static const char * const blsp_spi8_groups[] = …;
static const char * const blsp_uart8_groups[] = …;
static const char * const blsp_uim8_groups[] = …;
static const char * const qdss_cti_trig_out_b_groups[] = …;
static const char * const dac_calib0_groups[] = …;
static const char * const bimc_dte0_groups[] = …;
static const char * const qdss_cti_trig_in_b_groups[] = …;
static const char * const dac_calib1_groups[] = …;
static const char * const dac_calib2_groups[] = …;
static const char * const atest_tsens2_groups[] = …;
static const char * const blsp_spi10_groups[] = …;
static const char * const blsp_uart10_groups[] = …;
static const char * const blsp_uim10_groups[] = …;
static const char * const atest_bbrx1_groups[] = …;
static const char * const atest_usb12_groups[] = …;
static const char * const mdp_vsync_groups[] = …;
static const char * const edp_lcd_groups[] = …;
static const char * const blsp_i2c10_groups[] = …;
static const char * const atest_usb11_groups[] = …;
static const char * const atest_gpsadc0_groups[] = …;
static const char * const edp_hot_groups[] = …;
static const char * const atest_usb10_groups[] = …;
static const char * const m_voc_groups[] = …;
static const char * const dac_gpio_groups[] = …;
static const char * const atest_char_groups[] = …;
static const char * const cam_mclk_groups[] = …;
static const char * const pll_bypassnl_groups[] = …;
static const char * const qdss_stm7_groups[] = …;
static const char * const blsp_i2c8_groups[] = …;
static const char * const atest_usb1_groups[] = …;
static const char * const atest_usb13_groups[] = …;
static const char * const atest_bbrx0_groups[] = …;
static const char * const atest_gpsadc1_groups[] = …;
static const char * const qdss_tracedata_b_groups[] = …;
static const char * const pll_reset_groups[] = …;
static const char * const qdss_stm6_groups[] = …;
static const char * const qdss_stm5_groups[] = …;
static const char * const qdss_stm4_groups[] = …;
static const char * const atest_usb2_groups[] = …;
static const char * const dac_calib3_groups[] = …;
static const char * const cci_i2c_groups[] = …;
static const char * const qdss_stm3_groups[] = …;
static const char * const atest_usb23_groups[] = …;
static const char * const atest_char3_groups[] = …;
static const char * const dac_calib4_groups[] = …;
static const char * const qdss_stm2_groups[] = …;
static const char * const atest_usb22_groups[] = …;
static const char * const atest_char2_groups[] = …;
static const char * const dac_calib5_groups[] = …;
static const char * const qdss_stm1_groups[] = …;
static const char * const atest_usb21_groups[] = …;
static const char * const atest_char1_groups[] = …;
static const char * const dac_calib6_groups[] = …;
static const char * const dbg_out_groups[] = …;
static const char * const qdss_stm0_groups[] = …;
static const char * const atest_usb20_groups[] = …;
static const char * const atest_char0_groups[] = …;
static const char * const dac_calib7_groups[] = …;
static const char * const cci_timer0_groups[] = …;
static const char * const qdss_stm13_groups[] = …;
static const char * const dac_calib8_groups[] = …;
static const char * const cci_timer1_groups[] = …;
static const char * const qdss_stm12_groups[] = …;
static const char * const dac_calib9_groups[] = …;
static const char * const cci_timer2_groups[] = …;
static const char * const qdss_stm11_groups[] = …;
static const char * const dac_calib10_groups[] = …;
static const char * const cci_timer3_groups[] = …;
static const char * const cci_async_groups[] = …;
static const char * const blsp1_spi_groups[] = …;
static const char * const qdss_stm10_groups[] = …;
static const char * const qdss_cti_trig_in_a_groups[] = …;
static const char * const dac_calib11_groups[] = …;
static const char * const cci_timer4_groups[] = …;
static const char * const blsp_spi6_groups[] = …;
static const char * const blsp_uart6_groups[] = …;
static const char * const blsp_uim6_groups[] = …;
static const char * const blsp2_spi_groups[] = …;
static const char * const qdss_stm9_groups[] = …;
static const char * const qdss_cti_trig_out_a_groups[] = …;
static const char * const dac_calib12_groups[] = …;
static const char * const qdss_stm8_groups[] = …;
static const char * const dac_calib13_groups[] = …;
static const char * const blsp_i2c6_groups[] = …;
static const char * const qdss_tracectl_a_groups[] = …;
static const char * const dac_calib14_groups[] = …;
static const char * const qdss_traceclk_a_groups[] = …;
static const char * const dac_calib15_groups[] = …;
static const char * const dac_calib16_groups[] = …;
static const char * const hdmi_rcv_groups[] = …;
static const char * const dac_calib17_groups[] = …;
static const char * const pwr_modem_groups[] = …;
static const char * const hdmi_cec_groups[] = …;
static const char * const pwr_nav_groups[] = …;
static const char * const dac_calib18_groups[] = …;
static const char * const hdmi_ddc_groups[] = …;
static const char * const pwr_crypto_groups[] = …;
static const char * const dac_calib19_groups[] = …;
static const char * const dac_calib20_groups[] = …;
static const char * const hdmi_hot_groups[] = …;
static const char * const dac_calib21_groups[] = …;
static const char * const pci_e0_groups[] = …;
static const char * const dac_calib22_groups[] = …;
static const char * const dac_calib23_groups[] = …;
static const char * const blsp_i2c2_groups[] = …;
static const char * const blsp_spi3_groups[] = …;
static const char * const blsp_uart3_groups[] = …;
static const char * const blsp_uim3_groups[] = …;
static const char * const blsp_i2c3_groups[] = …;
static const char * const dac_calib24_groups[] = …;
static const char * const dac_calib25_groups[] = …;
static const char * const tsif1_sync_groups[] = …;
static const char * const sd_write_groups[] = …;
static const char * const tsif1_error_groups[] = …;
static const char * const blsp_spi2_groups[] = …;
static const char * const blsp_uart2_groups[] = …;
static const char * const blsp_uim2_groups[] = …;
static const char * const qdss_cti_groups[] = …;
static const char * const uim3_groups[] = …;
static const char * const blsp_spi9_groups[] = …;
static const char * const blsp_uart9_groups[] = …;
static const char * const blsp_uim9_groups[] = …;
static const char * const blsp10_spi_groups[] = …;
static const char * const blsp_i2c9_groups[] = …;
static const char * const blsp_spi7_groups[] = …;
static const char * const blsp_uart7_groups[] = …;
static const char * const blsp_uim7_groups[] = …;
static const char * const qdss_tracedata_a_groups[] = …;
static const char * const blsp_i2c7_groups[] = …;
static const char * const qua_mi2s_groups[] = …;
static const char * const gcc_gp1_clk_a_groups[] = …;
static const char * const uim4_groups[] = …;
static const char * const blsp_spi11_groups[] = …;
static const char * const blsp_uart11_groups[] = …;
static const char * const blsp_uim11_groups[] = …;
static const char * const gcc_gp2_clk_a_groups[] = …;
static const char * const gcc_gp3_clk_a_groups[] = …;
static const char * const blsp_i2c11_groups[] = …;
static const char * const cri_trng0_groups[] = …;
static const char * const cri_trng1_groups[] = …;
static const char * const cri_trng_groups[] = …;
static const char * const qdss_stm18_groups[] = …;
static const char * const pri_mi2s_groups[] = …;
static const char * const qdss_stm17_groups[] = …;
static const char * const blsp_spi4_groups[] = …;
static const char * const blsp_uart4_groups[] = …;
static const char * const blsp_uim4_groups[] = …;
static const char * const qdss_stm16_groups[] = …;
static const char * const qdss_stm15_groups[] = …;
static const char * const dac_calib26_groups[] = …;
static const char * const blsp_i2c4_groups[] = …;
static const char * const qdss_stm14_groups[] = …;
static const char * const spkr_i2s_groups[] = …;
static const char * const audio_ref_groups[] = …;
static const char * const lpass_slimbus_groups[] = …;
static const char * const isense_dbg_groups[] = …;
static const char * const tsense_pwm1_groups[] = …;
static const char * const tsense_pwm2_groups[] = …;
static const char * const btfm_slimbus_groups[] = …;
static const char * const ter_mi2s_groups[] = …;
static const char * const qdss_stm22_groups[] = …;
static const char * const qdss_stm21_groups[] = …;
static const char * const qdss_stm20_groups[] = …;
static const char * const qdss_stm19_groups[] = …;
static const char * const ssc_irq_groups[] = …;
static const char * const gcc_gp1_clk_b_groups[] = …;
static const char * const sec_mi2s_groups[] = …;
static const char * const blsp_spi5_groups[] = …;
static const char * const blsp_uart5_groups[] = …;
static const char * const blsp_uim5_groups[] = …;
static const char * const gcc_gp2_clk_b_groups[] = …;
static const char * const gcc_gp3_clk_b_groups[] = …;
static const char * const blsp_i2c5_groups[] = …;
static const char * const blsp_spi12_groups[] = …;
static const char * const blsp_uart12_groups[] = …;
static const char * const blsp_uim12_groups[] = …;
static const char * const qdss_stm25_groups[] = …;
static const char * const qdss_stm31_groups[] = …;
static const char * const blsp_i2c12_groups[] = …;
static const char * const qdss_stm30_groups[] = …;
static const char * const qdss_stm29_groups[] = …;
static const char * const tsif1_clk_groups[] = …;
static const char * const qdss_stm28_groups[] = …;
static const char * const tsif1_en_groups[] = …;
static const char * const tsif1_data_groups[] = …;
static const char * const sdc4_cmd_groups[] = …;
static const char * const qdss_stm27_groups[] = …;
static const char * const qdss_traceclk_b_groups[] = …;
static const char * const tsif2_error_groups[] = …;
static const char * const sdc43_groups[] = …;
static const char * const vfr_1_groups[] = …;
static const char * const qdss_stm26_groups[] = …;
static const char * const tsif2_clk_groups[] = …;
static const char * const sdc4_clk_groups[] = …;
static const char * const qdss_stm24_groups[] = …;
static const char * const tsif2_en_groups[] = …;
static const char * const sdc42_groups[] = …;
static const char * const qdss_stm23_groups[] = …;
static const char * const qdss_tracectl_b_groups[] = …;
static const char * const sd_card_groups[] = …;
static const char * const tsif2_data_groups[] = …;
static const char * const sdc41_groups[] = …;
static const char * const tsif2_sync_groups[] = …;
static const char * const sdc40_groups[] = …;
static const char * const mdp_vsync_p_b_groups[] = …;
static const char * const ldo_en_groups[] = …;
static const char * const mdp_vsync_s_b_groups[] = …;
static const char * const ldo_update_groups[] = …;
static const char * const blsp11_uart_tx_b_groups[] = …;
static const char * const blsp11_uart_rx_b_groups[] = …;
static const char * const blsp11_i2c_sda_b_groups[] = …;
static const char * const prng_rosc_groups[] = …;
static const char * const blsp11_i2c_scl_b_groups[] = …;
static const char * const uim2_groups[] = …;
static const char * const uim1_groups[] = …;
static const char * const uim_batt_groups[] = …;
static const char * const pci_e2_groups[] = …;
static const char * const pa_indicator_groups[] = …;
static const char * const adsp_ext_groups[] = …;
static const char * const ddr_bist_groups[] = …;
static const char * const qdss_tracedata_11_groups[] = …;
static const char * const qdss_tracedata_12_groups[] = …;
static const char * const modem_tsync_groups[] = …;
static const char * const nav_dr_groups[] = …;
static const char * const nav_pps_groups[] = …;
static const char * const pci_e1_groups[] = …;
static const char * const gsm_tx_groups[] = …;
static const char * const qspi_cs_groups[] = …;
static const char * const ssbi2_groups[] = …;
static const char * const ssbi1_groups[] = …;
static const char * const mss_lte_groups[] = …;
static const char * const qspi_clk_groups[] = …;
static const char * const qspi0_groups[] = …;
static const char * const qspi1_groups[] = …;
static const char * const qspi2_groups[] = …;
static const char * const qspi3_groups[] = …;
static const struct pinfunction msm8996_functions[] = …;
static const struct msm_pingroup msm8996_groups[] = …;
static const struct msm_gpio_wakeirq_map msm8996_mpm_map[] = …;
static const struct msm_pinctrl_soc_data msm8996_pinctrl = …;
static int msm8996_pinctrl_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id msm8996_pinctrl_of_match[] = …;
static struct platform_driver msm8996_pinctrl_driver = …;
static int __init msm8996_pinctrl_init(void)
{ … }
arch_initcall(msm8996_pinctrl_init);
static void __exit msm8996_pinctrl_exit(void)
{ … }
module_exit(msm8996_pinctrl_exit);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_DEVICE_TABLE(of, msm8996_pinctrl_of_match);