#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include "pinctrl-msm.h"
#define REG_SIZE …
#define PINGROUP(id, f1, f2, f3, f4, f5, f6, f7, f8, f9) …
static const struct pinctrl_pin_desc ipq5332_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(…);
enum ipq5332_functions { … };
static const char * const gpio_groups[] = …;
static const char * const atest_char_groups[] = …;
static const char * const atest_char0_groups[] = …;
static const char * const atest_char1_groups[] = …;
static const char * const atest_char2_groups[] = …;
static const char * const atest_char3_groups[] = …;
static const char * const atest_tic_groups[] = …;
static const char * const audio_pri_groups[] = …;
static const char * const audio_pri0_groups[] = …;
static const char * const audio_pri1_groups[] = …;
static const char * const audio_sec_groups[] = …;
static const char * const audio_sec0_groups[] = …;
static const char * const audio_sec1_groups[] = …;
static const char * const blsp0_i2c_groups[] = …;
static const char * const blsp0_spi_groups[] = …;
static const char * const blsp0_uart0_groups[] = …;
static const char * const blsp0_uart1_groups[] = …;
static const char * const blsp1_i2c0_groups[] = …;
static const char * const blsp1_i2c1_groups[] = …;
static const char * const blsp1_spi0_groups[] = …;
static const char * const blsp1_spi1_groups[] = …;
static const char * const blsp1_uart0_groups[] = …;
static const char * const blsp1_uart1_groups[] = …;
static const char * const blsp1_uart2_groups[] = …;
static const char * const blsp2_i2c0_groups[] = …;
static const char * const blsp2_i2c1_groups[] = …;
static const char * const blsp2_spi_groups[] = …;
static const char * const blsp2_spi0_groups[] = …;
static const char * const blsp2_spi1_groups[] = …;
static const char * const core_voltage_groups[] = …;
static const char * const cri_trng0_groups[] = …;
static const char * const cri_trng1_groups[] = …;
static const char * const cri_trng2_groups[] = …;
static const char * const cri_trng3_groups[] = …;
static const char * const cxc_clk_groups[] = …;
static const char * const cxc_data_groups[] = …;
static const char * const dbg_out_groups[] = …;
static const char * const gcc_plltest_groups[] = …;
static const char * const gcc_tlmm_groups[] = …;
static const char * const lock_det_groups[] = …;
static const char * const mac0_groups[] = …;
static const char * const mac1_groups[] = …;
static const char * const mdc0_groups[] = …;
static const char * const mdc1_groups[] = …;
static const char * const mdio0_groups[] = …;
static const char * const mdio1_groups[] = …;
static const char * const pc_groups[] = …;
static const char * const pcie0_clk_groups[] = …;
static const char * const pcie0_wake_groups[] = …;
static const char * const pcie1_clk_groups[] = …;
static const char * const pcie1_wake_groups[] = …;
static const char * const pcie2_clk_groups[] = …;
static const char * const pcie2_wake_groups[] = …;
static const char * const pll_test_groups[] = …;
static const char * const prng_rosc0_groups[] = …;
static const char * const prng_rosc1_groups[] = …;
static const char * const prng_rosc2_groups[] = …;
static const char * const prng_rosc3_groups[] = …;
static const char * const pta_groups[] = …;
static const char * const pwm0_groups[] = …;
static const char * const pwm1_groups[] = …;
static const char * const pwm2_groups[] = …;
static const char * const pwm3_groups[] = …;
static const char * const qdss_cti_trig_in_a0_groups[] = …;
static const char * const qdss_cti_trig_in_a1_groups[] = …;
static const char * const qdss_cti_trig_in_b0_groups[] = …;
static const char * const qdss_cti_trig_in_b1_groups[] = …;
static const char * const qdss_cti_trig_out_a0_groups[] = …;
static const char * const qdss_cti_trig_out_a1_groups[] = …;
static const char * const qdss_cti_trig_out_b0_groups[] = …;
static const char * const qdss_cti_trig_out_b1_groups[] = …;
static const char * const qdss_traceclk_a_groups[] = …;
static const char * const qdss_traceclk_b_groups[] = …;
static const char * const qdss_tracectl_a_groups[] = …;
static const char * const qdss_tracectl_b_groups[] = …;
static const char * const qdss_tracedata_a_groups[] = …;
static const char * const qdss_tracedata_b_groups[] = …;
static const char * const qspi_clk_groups[] = …;
static const char * const qspi_cs_groups[] = …;
static const char * const qspi_data_groups[] = …;
static const char * const resout_groups[] = …;
static const char * const rx0_groups[] = …;
static const char * const rx1_groups[] = …;
static const char * const sdc_clk_groups[] = …;
static const char * const sdc_cmd_groups[] = …;
static const char * const sdc_data_groups[] = …;
static const char * const tsens_max_groups[] = …;
static const char * const wci_txd_groups[] = …;
static const char * const wci_rxd_groups[] = …;
static const char * const wsi_clk_groups[] = …;
static const char * const wsi_clk3_groups[] = …;
static const char * const wsi_data_groups[] = …;
static const char * const wsi_data3_groups[] = …;
static const char * const wsis_reset_groups[] = …;
static const char * const xfem_groups[] = …;
static const struct pinfunction ipq5332_functions[] = …;
static const struct msm_pingroup ipq5332_groups[] = …;
static const struct msm_pinctrl_soc_data ipq5332_pinctrl = …;
static int ipq5332_pinctrl_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id ipq5332_pinctrl_of_match[] = …;
MODULE_DEVICE_TABLE(of, ipq5332_pinctrl_of_match);
static struct platform_driver ipq5332_pinctrl_driver = …;
static int __init ipq5332_pinctrl_init(void)
{ … }
arch_initcall(ipq5332_pinctrl_init);
static void __exit ipq5332_pinctrl_exit(void)
{ … }
module_exit(ipq5332_pinctrl_exit);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;