linux/drivers/pinctrl/qcom/pinctrl-msm8909.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
 * Copyright (C) 2022, Kernkonzept GmbH.
 */

#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)

#define SDC_QDSD_PINGROUP(pg_name, ctl, pull, drv)
static const struct pinctrl_pin_desc msm8909_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();

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 qdsd_clk_pins[] =;
static const unsigned int qdsd_cmd_pins[] =;
static const unsigned int qdsd_data0_pins[] =;
static const unsigned int qdsd_data1_pins[] =;
static const unsigned int qdsd_data2_pins[] =;
static const unsigned int qdsd_data3_pins[] =;

enum msm8909_functions {};

static const char * const adsp_ext_groups[] =;
static const char * const atest_bbrx0_groups[] =;
static const char * const atest_bbrx1_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_char_groups[] =;
static const char * const atest_combodac_groups[] =;
static const char * const atest_gpsadc0_groups[] =;
static const char * const atest_gpsadc1_groups[] =;
static const char * const atest_wlan0_groups[] =;
static const char * const atest_wlan1_groups[] =;
static const char * const bimc_dte0_groups[] =;
static const char * const bimc_dte1_groups[] =;
static const char * const blsp_i2c1_groups[] =;
static const char * const blsp_i2c2_groups[] =;
static const char * const blsp_i2c3_groups[] =;
static const char * const blsp_i2c4_groups[] =;
static const char * const blsp_i2c5_groups[] =;
static const char * const blsp_i2c6_groups[] =;
static const char * const blsp_spi1_cs1_groups[] =;
static const char * const blsp_spi1_cs2_groups[] =;
static const char * const blsp_spi1_cs3_groups[] =;
static const char * const blsp_spi1_groups[] =;
static const char * const blsp_spi2_cs1_groups[] =;
static const char * const blsp_spi2_cs2_groups[] =;
static const char * const blsp_spi2_cs3_groups[] =;
static const char * const blsp_spi2_groups[] =;
static const char * const blsp_spi3_cs1_groups[] =;
static const char * const blsp_spi3_cs2_groups[] =;
static const char * const blsp_spi3_cs3_groups[] =;
static const char * const blsp_spi3_groups[] =;
static const char * const blsp_spi4_groups[] =;
static const char * const blsp_spi5_groups[] =;
static const char * const blsp_spi6_groups[] =;
static const char * const blsp_uart1_groups[] =;
static const char * const blsp_uart2_groups[] =;
static const char * const blsp_uim1_groups[] =;
static const char * const blsp_uim2_groups[] =;
static const char * const cam_mclk_groups[] =;
static const char * const cci_async_groups[] =;
static const char * const cci_timer0_groups[] =;
static const char * const cci_timer1_groups[] =;
static const char * const cci_timer2_groups[] =;
static const char * const cdc_pdm0_groups[] =;
static const char * const dbg_out_groups[] =;
static const char * const dmic0_clk_groups[] =;
static const char * const dmic0_data_groups[] =;
static const char * const ebi0_wrcdc_groups[] =;
static const char * const ebi2_a_groups[] =;
static const char * const ebi2_lcd_groups[] =;
static const char * const ext_lpass_groups[] =;
static const char * const gcc_gp1_clk_a_groups[] =;
static const char * const gcc_gp1_clk_b_groups[] =;
static const char * const gcc_gp2_clk_a_groups[] =;
static const char * const gcc_gp2_clk_b_groups[] =;
static const char * const gcc_gp3_clk_a_groups[] =;
static const char * const gcc_gp3_clk_b_groups[] =;
static const char * const gcc_plltest_groups[] =;
static const char * const gpio_groups[] =;
static const char * const gsm0_tx_groups[] =;
static const char * const ldo_en_groups[] =;
static const char * const ldo_update_groups[] =;
static const char * const m_voc_groups[] =;
static const char * const mdp_vsync_groups[] =;
static const char * const modem_tsync_groups[] =;
static const char * const nav_pps_groups[] =;
static const char * const nav_tsync_groups[] =;
static const char * const pa_indicator_groups[] =;
static const char * const pbs0_groups[] =;
static const char * const pbs1_groups[] =;
static const char * const pbs2_groups[] =;
static const char * const pri_mi2s_data0_a_groups[] =;
static const char * const pri_mi2s_data0_b_groups[] =;
static const char * const pri_mi2s_data1_a_groups[] =;
static const char * const pri_mi2s_data1_b_groups[] =;
static const char * const pri_mi2s_mclk_a_groups[] =;
static const char * const pri_mi2s_mclk_b_groups[] =;
static const char * const pri_mi2s_sck_a_groups[] =;
static const char * const pri_mi2s_sck_b_groups[] =;
static const char * const pri_mi2s_ws_a_groups[] =;
static const char * const pri_mi2s_ws_b_groups[] =;
static const char * const prng_rosc_groups[] =;
static const char * const pwr_crypto_enabled_a_groups[] =;
static const char * const pwr_crypto_enabled_b_groups[] =;
static const char * const pwr_modem_enabled_a_groups[] =;
static const char * const pwr_modem_enabled_b_groups[] =;
static const char * const pwr_nav_enabled_a_groups[] =;
static const char * const pwr_nav_enabled_b_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_tracectl_a_groups[] =;
static const char * const qdss_tracedata_a_groups[] =;
static const char * const qdss_tracedata_b_groups[] =;
static const char * const sd_write_groups[] =;
static const char * const sec_mi2s_groups[] =;
static const char * const smb_int_groups[] =;
static const char * const ssbi0_groups[] =;
static const char * const ssbi1_groups[] =;
static const char * const uim1_clk_groups[] =;
static const char * const uim1_data_groups[] =;
static const char * const uim1_present_groups[] =;
static const char * const uim1_reset_groups[] =;
static const char * const uim2_clk_groups[] =;
static const char * const uim2_data_groups[] =;
static const char * const uim2_present_groups[] =;
static const char * const uim2_reset_groups[] =;
static const char * const uim3_clk_groups[] =;
static const char * const uim3_data_groups[] =;
static const char * const uim3_present_groups[] =;
static const char * const uim3_reset_groups[] =;
static const char * const uim_batt_groups[] =;
static const char * const wcss_bt_groups[] =;
static const char * const wcss_fm_groups[] =;
static const char * const wcss_wlan_groups[] =;

static const struct pinfunction msm8909_functions[] =;

static const struct msm_pingroup msm8909_groups[] =;

static const struct msm_gpio_wakeirq_map msm8909_mpm_map[] =;

static const struct msm_pinctrl_soc_data msm8909_pinctrl =;

static int msm8909_pinctrl_probe(struct platform_device *pdev)
{}

static const struct of_device_id msm8909_pinctrl_of_match[] =;
MODULE_DEVICE_TABLE(of, msm8909_pinctrl_of_match);

static struct platform_driver msm8909_pinctrl_driver =;

static int __init msm8909_pinctrl_init(void)
{}
arch_initcall(msm8909_pinctrl_init);

static void __exit msm8909_pinctrl_exit(void)
{}
module_exit(msm8909_pinctrl_exit);

MODULE_DESCRIPTION();
MODULE_LICENSE();