Commit c7a291db authored by Rohit Agarwal's avatar Rohit Agarwal Committed by Linus Walleij
Browse files

pinctrl: qcom: Remove the msm_function struct



Remove the msm_function struct to reuse the generic pinfunction
struct. Also, define a generic PINFUNCTION macro that can be used across
qcom target specific pinctrl files to avoid code repetition.

Signed-off-by: default avatarRohit Agarwal <quic_rohiagar@quicinc.com>
Suggested-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: default avatarBjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1684133170-18540-2-git-send-email-quic_rohiagar@quicinc.com


Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent cbbe0778
Loading
Loading
Loading
Loading
+42 −50
Original line number Diff line number Diff line
@@ -6,7 +6,6 @@
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pinctrl/pinctrl.h>

#include "pinctrl-msm.h"

@@ -209,13 +208,6 @@ static const unsigned int sdc3_clk_pins[] = { 93 };
static const unsigned int sdc3_cmd_pins[] = { 94 };
static const unsigned int sdc3_data_pins[] = { 95 };

#define FUNCTION(fname)					\
	[APQ_MUX_##fname] = {				\
		.name = #fname,				\
		.groups = fname##_groups,		\
		.ngroups = ARRAY_SIZE(fname##_groups),	\
	}

#define PINGROUP(id, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10) \
	{						\
		.name = "gpio" #id,			\
@@ -464,48 +456,48 @@ static const char * const usb2_hsic_groups[] = {
	"gpio88", "gpio89"
};

static const struct msm_function apq8064_functions[] = {
	FUNCTION(cam_mclk),
	FUNCTION(codec_mic_i2s),
	FUNCTION(codec_spkr_i2s),
	FUNCTION(gp_clk_0a),
	FUNCTION(gp_clk_0b),
	FUNCTION(gp_clk_1a),
	FUNCTION(gp_clk_1b),
	FUNCTION(gp_clk_2a),
	FUNCTION(gp_clk_2b),
	FUNCTION(gpio),
	FUNCTION(gsbi1),
	FUNCTION(gsbi2),
	FUNCTION(gsbi3),
	FUNCTION(gsbi4),
	FUNCTION(gsbi4_cam_i2c),
	FUNCTION(gsbi5),
	FUNCTION(gsbi5_spi_cs1),
	FUNCTION(gsbi5_spi_cs2),
	FUNCTION(gsbi5_spi_cs3),
	FUNCTION(gsbi6),
	FUNCTION(gsbi6_spi_cs1),
	FUNCTION(gsbi6_spi_cs2),
	FUNCTION(gsbi6_spi_cs3),
	FUNCTION(gsbi7),
	FUNCTION(gsbi7_spi_cs1),
	FUNCTION(gsbi7_spi_cs2),
	FUNCTION(gsbi7_spi_cs3),
	FUNCTION(gsbi_cam_i2c),
	FUNCTION(hdmi),
	FUNCTION(mi2s),
	FUNCTION(riva_bt),
	FUNCTION(riva_fm),
	FUNCTION(riva_wlan),
	FUNCTION(sdc2),
	FUNCTION(sdc4),
	FUNCTION(slimbus),
	FUNCTION(spkr_i2s),
	FUNCTION(tsif1),
	FUNCTION(tsif2),
	FUNCTION(usb2_hsic),
	FUNCTION(ps_hold),
static const struct pinfunction apq8064_functions[] = {
	APQ_PIN_FUNCTION(cam_mclk),
	APQ_PIN_FUNCTION(codec_mic_i2s),
	APQ_PIN_FUNCTION(codec_spkr_i2s),
	APQ_PIN_FUNCTION(gp_clk_0a),
	APQ_PIN_FUNCTION(gp_clk_0b),
	APQ_PIN_FUNCTION(gp_clk_1a),
	APQ_PIN_FUNCTION(gp_clk_1b),
	APQ_PIN_FUNCTION(gp_clk_2a),
	APQ_PIN_FUNCTION(gp_clk_2b),
	APQ_PIN_FUNCTION(gpio),
	APQ_PIN_FUNCTION(gsbi1),
	APQ_PIN_FUNCTION(gsbi2),
	APQ_PIN_FUNCTION(gsbi3),
	APQ_PIN_FUNCTION(gsbi4),
	APQ_PIN_FUNCTION(gsbi4_cam_i2c),
	APQ_PIN_FUNCTION(gsbi5),
	APQ_PIN_FUNCTION(gsbi5_spi_cs1),
	APQ_PIN_FUNCTION(gsbi5_spi_cs2),
	APQ_PIN_FUNCTION(gsbi5_spi_cs3),
	APQ_PIN_FUNCTION(gsbi6),
	APQ_PIN_FUNCTION(gsbi6_spi_cs1),
	APQ_PIN_FUNCTION(gsbi6_spi_cs2),
	APQ_PIN_FUNCTION(gsbi6_spi_cs3),
	APQ_PIN_FUNCTION(gsbi7),
	APQ_PIN_FUNCTION(gsbi7_spi_cs1),
	APQ_PIN_FUNCTION(gsbi7_spi_cs2),
	APQ_PIN_FUNCTION(gsbi7_spi_cs3),
	APQ_PIN_FUNCTION(gsbi_cam_i2c),
	APQ_PIN_FUNCTION(hdmi),
	APQ_PIN_FUNCTION(mi2s),
	APQ_PIN_FUNCTION(riva_bt),
	APQ_PIN_FUNCTION(riva_fm),
	APQ_PIN_FUNCTION(riva_wlan),
	APQ_PIN_FUNCTION(sdc2),
	APQ_PIN_FUNCTION(sdc4),
	APQ_PIN_FUNCTION(slimbus),
	APQ_PIN_FUNCTION(spkr_i2s),
	APQ_PIN_FUNCTION(tsif1),
	APQ_PIN_FUNCTION(tsif2),
	APQ_PIN_FUNCTION(usb2_hsic),
	APQ_PIN_FUNCTION(ps_hold),
};

static const struct msm_pingroup apq8064_groups[] = {
+122 −130
Original line number Diff line number Diff line
@@ -6,7 +6,6 @@
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pinctrl/pinctrl.h>

#include "pinctrl-msm.h"

@@ -324,13 +323,6 @@ static const unsigned int sdc2_clk_pins[] = { 150 };
static const unsigned int sdc2_cmd_pins[] = { 151 };
static const unsigned int sdc2_data_pins[] = { 152 };

#define FUNCTION(fname)					\
	[APQ_MUX_##fname] = {				\
		.name = #fname,				\
		.groups = fname##_groups,		\
		.ngroups = ARRAY_SIZE(fname##_groups),	\
	}

#define PINGROUP(id, f1, f2, f3, f4, f5, f6, f7)        \
	{						\
		.name = "gpio" #id,			\
@@ -906,128 +898,128 @@ static const char * const uim_groups[] = {
static const char * const uim_batt_alarm_groups[] = {
	"gpio102"
};
static const struct msm_function apq8084_functions[] = {
	FUNCTION(adsp_ext),
	FUNCTION(audio_ref),
	FUNCTION(blsp_i2c1),
	FUNCTION(blsp_i2c2),
	FUNCTION(blsp_i2c3),
	FUNCTION(blsp_i2c4),
	FUNCTION(blsp_i2c5),
	FUNCTION(blsp_i2c6),
	FUNCTION(blsp_i2c7),
	FUNCTION(blsp_i2c8),
	FUNCTION(blsp_i2c9),
	FUNCTION(blsp_i2c10),
	FUNCTION(blsp_i2c11),
	FUNCTION(blsp_i2c12),
	FUNCTION(blsp_spi1),
	FUNCTION(blsp_spi1_cs1),
	FUNCTION(blsp_spi1_cs2),
	FUNCTION(blsp_spi1_cs3),
	FUNCTION(blsp_spi2),
	FUNCTION(blsp_spi3),
	FUNCTION(blsp_spi3_cs1),
	FUNCTION(blsp_spi3_cs2),
	FUNCTION(blsp_spi3_cs3),
	FUNCTION(blsp_spi4),
	FUNCTION(blsp_spi5),
	FUNCTION(blsp_spi6),
	FUNCTION(blsp_spi7),
	FUNCTION(blsp_spi8),
	FUNCTION(blsp_spi9),
	FUNCTION(blsp_spi10),
	FUNCTION(blsp_spi10_cs1),
	FUNCTION(blsp_spi10_cs2),
	FUNCTION(blsp_spi10_cs3),
	FUNCTION(blsp_spi11),
	FUNCTION(blsp_spi12),
	FUNCTION(blsp_uart1),
	FUNCTION(blsp_uart2),
	FUNCTION(blsp_uart3),
	FUNCTION(blsp_uart4),
	FUNCTION(blsp_uart5),
	FUNCTION(blsp_uart6),
	FUNCTION(blsp_uart7),
	FUNCTION(blsp_uart8),
	FUNCTION(blsp_uart9),
	FUNCTION(blsp_uart10),
	FUNCTION(blsp_uart11),
	FUNCTION(blsp_uart12),
	FUNCTION(blsp_uim1),
	FUNCTION(blsp_uim2),
	FUNCTION(blsp_uim3),
	FUNCTION(blsp_uim4),
	FUNCTION(blsp_uim5),
	FUNCTION(blsp_uim6),
	FUNCTION(blsp_uim7),
	FUNCTION(blsp_uim8),
	FUNCTION(blsp_uim9),
	FUNCTION(blsp_uim10),
	FUNCTION(blsp_uim11),
	FUNCTION(blsp_uim12),
	FUNCTION(cam_mclk0),
	FUNCTION(cam_mclk1),
	FUNCTION(cam_mclk2),
	FUNCTION(cam_mclk3),
	FUNCTION(cci_async),
	FUNCTION(cci_async_in0),
	FUNCTION(cci_i2c0),
	FUNCTION(cci_i2c1),
	FUNCTION(cci_timer0),
	FUNCTION(cci_timer1),
	FUNCTION(cci_timer2),
	FUNCTION(cci_timer3),
	FUNCTION(cci_timer4),
	FUNCTION(edp_hpd),
	FUNCTION(gcc_gp1),
	FUNCTION(gcc_gp2),
	FUNCTION(gcc_gp3),
	FUNCTION(gcc_obt),
	FUNCTION(gcc_vtt),
	FUNCTION(gp_mn),
	FUNCTION(gp_pdm0),
	FUNCTION(gp_pdm1),
	FUNCTION(gp_pdm2),
	FUNCTION(gp0_clk),
	FUNCTION(gp1_clk),
	FUNCTION(gpio),
	FUNCTION(hdmi_cec),
	FUNCTION(hdmi_ddc),
	FUNCTION(hdmi_dtest),
	FUNCTION(hdmi_hpd),
	FUNCTION(hdmi_rcv),
	FUNCTION(hsic),
	FUNCTION(ldo_en),
	FUNCTION(ldo_update),
	FUNCTION(mdp_vsync),
	FUNCTION(pci_e0),
	FUNCTION(pci_e0_n),
	FUNCTION(pci_e0_rst),
	FUNCTION(pci_e1),
	FUNCTION(pci_e1_rst),
	FUNCTION(pci_e1_rst_n),
	FUNCTION(pci_e1_clkreq_n),
	FUNCTION(pri_mi2s),
	FUNCTION(qua_mi2s),
	FUNCTION(sata_act),
	FUNCTION(sata_devsleep),
	FUNCTION(sata_devsleep_n),
	FUNCTION(sd_write),
	FUNCTION(sdc_emmc_mode),
	FUNCTION(sdc3),
	FUNCTION(sdc4),
	FUNCTION(sec_mi2s),
	FUNCTION(slimbus),
	FUNCTION(spdif_tx),
	FUNCTION(spkr_i2s),
	FUNCTION(spkr_i2s_ws),
	FUNCTION(spss_geni),
	FUNCTION(ter_mi2s),
	FUNCTION(tsif1),
	FUNCTION(tsif2),
	FUNCTION(uim),
	FUNCTION(uim_batt_alarm),
static const struct pinfunction apq8084_functions[] = {
	APQ_PIN_FUNCTION(adsp_ext),
	APQ_PIN_FUNCTION(audio_ref),
	APQ_PIN_FUNCTION(blsp_i2c1),
	APQ_PIN_FUNCTION(blsp_i2c2),
	APQ_PIN_FUNCTION(blsp_i2c3),
	APQ_PIN_FUNCTION(blsp_i2c4),
	APQ_PIN_FUNCTION(blsp_i2c5),
	APQ_PIN_FUNCTION(blsp_i2c6),
	APQ_PIN_FUNCTION(blsp_i2c7),
	APQ_PIN_FUNCTION(blsp_i2c8),
	APQ_PIN_FUNCTION(blsp_i2c9),
	APQ_PIN_FUNCTION(blsp_i2c10),
	APQ_PIN_FUNCTION(blsp_i2c11),
	APQ_PIN_FUNCTION(blsp_i2c12),
	APQ_PIN_FUNCTION(blsp_spi1),
	APQ_PIN_FUNCTION(blsp_spi1_cs1),
	APQ_PIN_FUNCTION(blsp_spi1_cs2),
	APQ_PIN_FUNCTION(blsp_spi1_cs3),
	APQ_PIN_FUNCTION(blsp_spi2),
	APQ_PIN_FUNCTION(blsp_spi3),
	APQ_PIN_FUNCTION(blsp_spi3_cs1),
	APQ_PIN_FUNCTION(blsp_spi3_cs2),
	APQ_PIN_FUNCTION(blsp_spi3_cs3),
	APQ_PIN_FUNCTION(blsp_spi4),
	APQ_PIN_FUNCTION(blsp_spi5),
	APQ_PIN_FUNCTION(blsp_spi6),
	APQ_PIN_FUNCTION(blsp_spi7),
	APQ_PIN_FUNCTION(blsp_spi8),
	APQ_PIN_FUNCTION(blsp_spi9),
	APQ_PIN_FUNCTION(blsp_spi10),
	APQ_PIN_FUNCTION(blsp_spi10_cs1),
	APQ_PIN_FUNCTION(blsp_spi10_cs2),
	APQ_PIN_FUNCTION(blsp_spi10_cs3),
	APQ_PIN_FUNCTION(blsp_spi11),
	APQ_PIN_FUNCTION(blsp_spi12),
	APQ_PIN_FUNCTION(blsp_uart1),
	APQ_PIN_FUNCTION(blsp_uart2),
	APQ_PIN_FUNCTION(blsp_uart3),
	APQ_PIN_FUNCTION(blsp_uart4),
	APQ_PIN_FUNCTION(blsp_uart5),
	APQ_PIN_FUNCTION(blsp_uart6),
	APQ_PIN_FUNCTION(blsp_uart7),
	APQ_PIN_FUNCTION(blsp_uart8),
	APQ_PIN_FUNCTION(blsp_uart9),
	APQ_PIN_FUNCTION(blsp_uart10),
	APQ_PIN_FUNCTION(blsp_uart11),
	APQ_PIN_FUNCTION(blsp_uart12),
	APQ_PIN_FUNCTION(blsp_uim1),
	APQ_PIN_FUNCTION(blsp_uim2),
	APQ_PIN_FUNCTION(blsp_uim3),
	APQ_PIN_FUNCTION(blsp_uim4),
	APQ_PIN_FUNCTION(blsp_uim5),
	APQ_PIN_FUNCTION(blsp_uim6),
	APQ_PIN_FUNCTION(blsp_uim7),
	APQ_PIN_FUNCTION(blsp_uim8),
	APQ_PIN_FUNCTION(blsp_uim9),
	APQ_PIN_FUNCTION(blsp_uim10),
	APQ_PIN_FUNCTION(blsp_uim11),
	APQ_PIN_FUNCTION(blsp_uim12),
	APQ_PIN_FUNCTION(cam_mclk0),
	APQ_PIN_FUNCTION(cam_mclk1),
	APQ_PIN_FUNCTION(cam_mclk2),
	APQ_PIN_FUNCTION(cam_mclk3),
	APQ_PIN_FUNCTION(cci_async),
	APQ_PIN_FUNCTION(cci_async_in0),
	APQ_PIN_FUNCTION(cci_i2c0),
	APQ_PIN_FUNCTION(cci_i2c1),
	APQ_PIN_FUNCTION(cci_timer0),
	APQ_PIN_FUNCTION(cci_timer1),
	APQ_PIN_FUNCTION(cci_timer2),
	APQ_PIN_FUNCTION(cci_timer3),
	APQ_PIN_FUNCTION(cci_timer4),
	APQ_PIN_FUNCTION(edp_hpd),
	APQ_PIN_FUNCTION(gcc_gp1),
	APQ_PIN_FUNCTION(gcc_gp2),
	APQ_PIN_FUNCTION(gcc_gp3),
	APQ_PIN_FUNCTION(gcc_obt),
	APQ_PIN_FUNCTION(gcc_vtt),
	APQ_PIN_FUNCTION(gp_mn),
	APQ_PIN_FUNCTION(gp_pdm0),
	APQ_PIN_FUNCTION(gp_pdm1),
	APQ_PIN_FUNCTION(gp_pdm2),
	APQ_PIN_FUNCTION(gp0_clk),
	APQ_PIN_FUNCTION(gp1_clk),
	APQ_PIN_FUNCTION(gpio),
	APQ_PIN_FUNCTION(hdmi_cec),
	APQ_PIN_FUNCTION(hdmi_ddc),
	APQ_PIN_FUNCTION(hdmi_dtest),
	APQ_PIN_FUNCTION(hdmi_hpd),
	APQ_PIN_FUNCTION(hdmi_rcv),
	APQ_PIN_FUNCTION(hsic),
	APQ_PIN_FUNCTION(ldo_en),
	APQ_PIN_FUNCTION(ldo_update),
	APQ_PIN_FUNCTION(mdp_vsync),
	APQ_PIN_FUNCTION(pci_e0),
	APQ_PIN_FUNCTION(pci_e0_n),
	APQ_PIN_FUNCTION(pci_e0_rst),
	APQ_PIN_FUNCTION(pci_e1),
	APQ_PIN_FUNCTION(pci_e1_rst),
	APQ_PIN_FUNCTION(pci_e1_rst_n),
	APQ_PIN_FUNCTION(pci_e1_clkreq_n),
	APQ_PIN_FUNCTION(pri_mi2s),
	APQ_PIN_FUNCTION(qua_mi2s),
	APQ_PIN_FUNCTION(sata_act),
	APQ_PIN_FUNCTION(sata_devsleep),
	APQ_PIN_FUNCTION(sata_devsleep_n),
	APQ_PIN_FUNCTION(sd_write),
	APQ_PIN_FUNCTION(sdc_emmc_mode),
	APQ_PIN_FUNCTION(sdc3),
	APQ_PIN_FUNCTION(sdc4),
	APQ_PIN_FUNCTION(sec_mi2s),
	APQ_PIN_FUNCTION(slimbus),
	APQ_PIN_FUNCTION(spdif_tx),
	APQ_PIN_FUNCTION(spkr_i2s),
	APQ_PIN_FUNCTION(spkr_i2s_ws),
	APQ_PIN_FUNCTION(spss_geni),
	APQ_PIN_FUNCTION(ter_mi2s),
	APQ_PIN_FUNCTION(tsif1),
	APQ_PIN_FUNCTION(tsif2),
	APQ_PIN_FUNCTION(uim),
	APQ_PIN_FUNCTION(uim_batt_alarm),
};

static const struct msm_pingroup apq8084_groups[] = {
+45 −53
Original line number Diff line number Diff line
@@ -6,7 +6,6 @@
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pinctrl/pinctrl.h>

#include "pinctrl-msm.h"

@@ -216,13 +215,6 @@ DECLARE_QCA_GPIO_PINS(97);
DECLARE_QCA_GPIO_PINS(98);
DECLARE_QCA_GPIO_PINS(99);

#define FUNCTION(fname)			                \
	[qca_mux_##fname] = {		                \
		.name = #fname,				\
		.groups = fname##_groups,               \
		.ngroups = ARRAY_SIZE(fname##_groups),	\
	}

#define PINGROUP(id, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14) \
	{					        \
		.name = "gpio" #id,			\
@@ -478,51 +470,51 @@ static const char * const wifi1_groups[] = {
	"gpio53", "gpio56", "gpio57", "gpio58", "gpio98",
};

static const struct msm_function ipq4019_functions[] = {
	FUNCTION(aud_pin),
	FUNCTION(audio_pwm),
	FUNCTION(blsp_i2c0),
	FUNCTION(blsp_i2c1),
	FUNCTION(blsp_spi0),
	FUNCTION(blsp_spi1),
	FUNCTION(blsp_uart0),
	FUNCTION(blsp_uart1),
	FUNCTION(chip_rst),
	FUNCTION(gpio),
	FUNCTION(i2s_rx),
	FUNCTION(i2s_spdif_in),
	FUNCTION(i2s_spdif_out),
	FUNCTION(i2s_td),
	FUNCTION(i2s_tx),
	FUNCTION(jtag),
	FUNCTION(led0),
	FUNCTION(led1),
	FUNCTION(led2),
	FUNCTION(led3),
	FUNCTION(led4),
	FUNCTION(led5),
	FUNCTION(led6),
	FUNCTION(led7),
	FUNCTION(led8),
	FUNCTION(led9),
	FUNCTION(led10),
	FUNCTION(led11),
	FUNCTION(mdc),
	FUNCTION(mdio),
	FUNCTION(pcie),
	FUNCTION(pmu),
	FUNCTION(prng_rosc),
	FUNCTION(qpic),
	FUNCTION(rgmii),
	FUNCTION(rmii),
	FUNCTION(sdio),
	FUNCTION(smart0),
	FUNCTION(smart1),
	FUNCTION(smart2),
	FUNCTION(smart3),
	FUNCTION(tm),
	FUNCTION(wifi0),
	FUNCTION(wifi1),
static const struct pinfunction ipq4019_functions[] = {
	QCA_PIN_FUNCTION(aud_pin),
	QCA_PIN_FUNCTION(audio_pwm),
	QCA_PIN_FUNCTION(blsp_i2c0),
	QCA_PIN_FUNCTION(blsp_i2c1),
	QCA_PIN_FUNCTION(blsp_spi0),
	QCA_PIN_FUNCTION(blsp_spi1),
	QCA_PIN_FUNCTION(blsp_uart0),
	QCA_PIN_FUNCTION(blsp_uart1),
	QCA_PIN_FUNCTION(chip_rst),
	QCA_PIN_FUNCTION(gpio),
	QCA_PIN_FUNCTION(i2s_rx),
	QCA_PIN_FUNCTION(i2s_spdif_in),
	QCA_PIN_FUNCTION(i2s_spdif_out),
	QCA_PIN_FUNCTION(i2s_td),
	QCA_PIN_FUNCTION(i2s_tx),
	QCA_PIN_FUNCTION(jtag),
	QCA_PIN_FUNCTION(led0),
	QCA_PIN_FUNCTION(led1),
	QCA_PIN_FUNCTION(led2),
	QCA_PIN_FUNCTION(led3),
	QCA_PIN_FUNCTION(led4),
	QCA_PIN_FUNCTION(led5),
	QCA_PIN_FUNCTION(led6),
	QCA_PIN_FUNCTION(led7),
	QCA_PIN_FUNCTION(led8),
	QCA_PIN_FUNCTION(led9),
	QCA_PIN_FUNCTION(led10),
	QCA_PIN_FUNCTION(led11),
	QCA_PIN_FUNCTION(mdc),
	QCA_PIN_FUNCTION(mdio),
	QCA_PIN_FUNCTION(pcie),
	QCA_PIN_FUNCTION(pmu),
	QCA_PIN_FUNCTION(prng_rosc),
	QCA_PIN_FUNCTION(qpic),
	QCA_PIN_FUNCTION(rgmii),
	QCA_PIN_FUNCTION(rmii),
	QCA_PIN_FUNCTION(sdio),
	QCA_PIN_FUNCTION(smart0),
	QCA_PIN_FUNCTION(smart1),
	QCA_PIN_FUNCTION(smart2),
	QCA_PIN_FUNCTION(smart3),
	QCA_PIN_FUNCTION(tm),
	QCA_PIN_FUNCTION(wifi0),
	QCA_PIN_FUNCTION(wifi1),
};

static const struct msm_pingroup ipq4019_groups[] = {
+96 −104
Original line number Diff line number Diff line
@@ -6,17 +6,9 @@
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pinctrl/pinctrl.h>

#include "pinctrl-msm.h"

#define FUNCTION(fname)			                \
	[msm_mux_##fname] = {		                \
		.name = #fname,				\
		.groups = fname##_groups,               \
		.ngroups = ARRAY_SIZE(fname##_groups),	\
	}

#define REG_SIZE 0x1000
#define PINGROUP(id, f1, f2, f3, f4, f5, f6, f7, f8, f9)	\
	{					        \
@@ -661,102 +653,102 @@ static const char * const xfem_groups[] = {
	"gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7",
};

static const struct msm_function ipq5332_functions[] = {
	FUNCTION(atest_char),
	FUNCTION(atest_char0),
	FUNCTION(atest_char1),
	FUNCTION(atest_char2),
	FUNCTION(atest_char3),
	FUNCTION(atest_tic),
	FUNCTION(audio_pri),
	FUNCTION(audio_pri0),
	FUNCTION(audio_pri1),
	FUNCTION(audio_sec),
	FUNCTION(audio_sec0),
	FUNCTION(audio_sec1),
	FUNCTION(blsp0_i2c),
	FUNCTION(blsp0_spi),
	FUNCTION(blsp0_uart0),
	FUNCTION(blsp0_uart1),
	FUNCTION(blsp1_i2c0),
	FUNCTION(blsp1_i2c1),
	FUNCTION(blsp1_spi0),
	FUNCTION(blsp1_spi1),
	FUNCTION(blsp1_uart0),
	FUNCTION(blsp1_uart1),
	FUNCTION(blsp1_uart2),
	FUNCTION(blsp2_i2c0),
	FUNCTION(blsp2_i2c1),
	FUNCTION(blsp2_spi),
	FUNCTION(blsp2_spi0),
	FUNCTION(blsp2_spi1),
	FUNCTION(core_voltage),
	FUNCTION(cri_trng0),
	FUNCTION(cri_trng1),
	FUNCTION(cri_trng2),
	FUNCTION(cri_trng3),
	FUNCTION(cxc_clk),
	FUNCTION(cxc_data),
	FUNCTION(dbg_out),
	FUNCTION(gcc_plltest),
	FUNCTION(gcc_tlmm),
	FUNCTION(gpio),
	FUNCTION(lock_det),
	FUNCTION(mac0),
	FUNCTION(mac1),
	FUNCTION(mdc0),
	FUNCTION(mdc1),
	FUNCTION(mdio0),
	FUNCTION(mdio1),
	FUNCTION(pc),
	FUNCTION(pcie0_clk),
	FUNCTION(pcie0_wake),
	FUNCTION(pcie1_clk),
	FUNCTION(pcie1_wake),
	FUNCTION(pcie2_clk),
	FUNCTION(pcie2_wake),
	FUNCTION(pll_test),
	FUNCTION(prng_rosc0),
	FUNCTION(prng_rosc1),
	FUNCTION(prng_rosc2),
	FUNCTION(prng_rosc3),
	FUNCTION(pta),
	FUNCTION(pwm0),
	FUNCTION(pwm1),
	FUNCTION(pwm2),
	FUNCTION(pwm3),
	FUNCTION(qdss_cti_trig_in_a0),
	FUNCTION(qdss_cti_trig_in_a1),
	FUNCTION(qdss_cti_trig_in_b0),
	FUNCTION(qdss_cti_trig_in_b1),
	FUNCTION(qdss_cti_trig_out_a0),
	FUNCTION(qdss_cti_trig_out_a1),
	FUNCTION(qdss_cti_trig_out_b0),
	FUNCTION(qdss_cti_trig_out_b1),
	FUNCTION(qdss_traceclk_a),
	FUNCTION(qdss_traceclk_b),
	FUNCTION(qdss_tracectl_a),
	FUNCTION(qdss_tracectl_b),
	FUNCTION(qdss_tracedata_a),
	FUNCTION(qdss_tracedata_b),
	FUNCTION(qspi_data),
	FUNCTION(qspi_clk),
	FUNCTION(qspi_cs),
	FUNCTION(resout),
	FUNCTION(rx0),
	FUNCTION(rx1),
	FUNCTION(sdc_data),
	FUNCTION(sdc_clk),
	FUNCTION(sdc_cmd),
	FUNCTION(tsens_max),
	FUNCTION(wci_txd),
	FUNCTION(wci_rxd),
	FUNCTION(wsi_clk),
	FUNCTION(wsi_clk3),
	FUNCTION(wsi_data),
	FUNCTION(wsi_data3),
	FUNCTION(wsis_reset),
	FUNCTION(xfem),
static const struct pinfunction ipq5332_functions[] = {
	MSM_PIN_FUNCTION(atest_char),
	MSM_PIN_FUNCTION(atest_char0),
	MSM_PIN_FUNCTION(atest_char1),
	MSM_PIN_FUNCTION(atest_char2),
	MSM_PIN_FUNCTION(atest_char3),
	MSM_PIN_FUNCTION(atest_tic),
	MSM_PIN_FUNCTION(audio_pri),
	MSM_PIN_FUNCTION(audio_pri0),
	MSM_PIN_FUNCTION(audio_pri1),
	MSM_PIN_FUNCTION(audio_sec),
	MSM_PIN_FUNCTION(audio_sec0),
	MSM_PIN_FUNCTION(audio_sec1),
	MSM_PIN_FUNCTION(blsp0_i2c),
	MSM_PIN_FUNCTION(blsp0_spi),
	MSM_PIN_FUNCTION(blsp0_uart0),
	MSM_PIN_FUNCTION(blsp0_uart1),
	MSM_PIN_FUNCTION(blsp1_i2c0),
	MSM_PIN_FUNCTION(blsp1_i2c1),
	MSM_PIN_FUNCTION(blsp1_spi0),
	MSM_PIN_FUNCTION(blsp1_spi1),
	MSM_PIN_FUNCTION(blsp1_uart0),
	MSM_PIN_FUNCTION(blsp1_uart1),
	MSM_PIN_FUNCTION(blsp1_uart2),
	MSM_PIN_FUNCTION(blsp2_i2c0),
	MSM_PIN_FUNCTION(blsp2_i2c1),
	MSM_PIN_FUNCTION(blsp2_spi),
	MSM_PIN_FUNCTION(blsp2_spi0),
	MSM_PIN_FUNCTION(blsp2_spi1),
	MSM_PIN_FUNCTION(core_voltage),
	MSM_PIN_FUNCTION(cri_trng0),
	MSM_PIN_FUNCTION(cri_trng1),
	MSM_PIN_FUNCTION(cri_trng2),
	MSM_PIN_FUNCTION(cri_trng3),
	MSM_PIN_FUNCTION(cxc_clk),
	MSM_PIN_FUNCTION(cxc_data),
	MSM_PIN_FUNCTION(dbg_out),
	MSM_PIN_FUNCTION(gcc_plltest),
	MSM_PIN_FUNCTION(gcc_tlmm),
	MSM_PIN_FUNCTION(gpio),
	MSM_PIN_FUNCTION(lock_det),
	MSM_PIN_FUNCTION(mac0),
	MSM_PIN_FUNCTION(mac1),
	MSM_PIN_FUNCTION(mdc0),
	MSM_PIN_FUNCTION(mdc1),
	MSM_PIN_FUNCTION(mdio0),
	MSM_PIN_FUNCTION(mdio1),
	MSM_PIN_FUNCTION(pc),
	MSM_PIN_FUNCTION(pcie0_clk),
	MSM_PIN_FUNCTION(pcie0_wake),
	MSM_PIN_FUNCTION(pcie1_clk),
	MSM_PIN_FUNCTION(pcie1_wake),
	MSM_PIN_FUNCTION(pcie2_clk),
	MSM_PIN_FUNCTION(pcie2_wake),
	MSM_PIN_FUNCTION(pll_test),
	MSM_PIN_FUNCTION(prng_rosc0),
	MSM_PIN_FUNCTION(prng_rosc1),
	MSM_PIN_FUNCTION(prng_rosc2),
	MSM_PIN_FUNCTION(prng_rosc3),
	MSM_PIN_FUNCTION(pta),
	MSM_PIN_FUNCTION(pwm0),
	MSM_PIN_FUNCTION(pwm1),
	MSM_PIN_FUNCTION(pwm2),
	MSM_PIN_FUNCTION(pwm3),
	MSM_PIN_FUNCTION(qdss_cti_trig_in_a0),
	MSM_PIN_FUNCTION(qdss_cti_trig_in_a1),
	MSM_PIN_FUNCTION(qdss_cti_trig_in_b0),
	MSM_PIN_FUNCTION(qdss_cti_trig_in_b1),
	MSM_PIN_FUNCTION(qdss_cti_trig_out_a0),
	MSM_PIN_FUNCTION(qdss_cti_trig_out_a1),
	MSM_PIN_FUNCTION(qdss_cti_trig_out_b0),
	MSM_PIN_FUNCTION(qdss_cti_trig_out_b1),
	MSM_PIN_FUNCTION(qdss_traceclk_a),
	MSM_PIN_FUNCTION(qdss_traceclk_b),
	MSM_PIN_FUNCTION(qdss_tracectl_a),
	MSM_PIN_FUNCTION(qdss_tracectl_b),
	MSM_PIN_FUNCTION(qdss_tracedata_a),
	MSM_PIN_FUNCTION(qdss_tracedata_b),
	MSM_PIN_FUNCTION(qspi_data),
	MSM_PIN_FUNCTION(qspi_clk),
	MSM_PIN_FUNCTION(qspi_cs),
	MSM_PIN_FUNCTION(resout),
	MSM_PIN_FUNCTION(rx0),
	MSM_PIN_FUNCTION(rx1),
	MSM_PIN_FUNCTION(sdc_data),
	MSM_PIN_FUNCTION(sdc_clk),
	MSM_PIN_FUNCTION(sdc_cmd),
	MSM_PIN_FUNCTION(tsens_max),
	MSM_PIN_FUNCTION(wci_txd),
	MSM_PIN_FUNCTION(wci_rxd),
	MSM_PIN_FUNCTION(wsi_clk),
	MSM_PIN_FUNCTION(wsi_clk3),
	MSM_PIN_FUNCTION(wsi_data),
	MSM_PIN_FUNCTION(wsi_data3),
	MSM_PIN_FUNCTION(wsis_reset),
	MSM_PIN_FUNCTION(xfem),
};

static const struct msm_pingroup ipq5332_groups[] = {
+123 −131

File changed.

Preview size limit exceeded, changes collapsed.

Loading