.dir = GPIOMUX_OUT_LOW,
	},
};

#define GPIOMUX_SET_NC(n) \
	{ \
		.gpio	   = n, \
		.settings = { \
			[GPIOMUX_ACTIVE] = &gpio_suspend_config[2], \
			[GPIOMUX_SUSPENDED] = &gpio_suspend_config[2], \
		}, \
	}

static struct msm_gpiomux_config gpio_nc_configs[] __initdata = {
#if !defined(CONFIG_TDMB) && !defined(CONFIG_TDMB_MODULE)
	GPIOMUX_SET_NC(18),
#if !defined(CONFIG_MACH_K3GDUOS_CTC)
	GPIOMUX_SET_NC(73),
#endif
#endif
	GPIOMUX_SET_NC(23),
	GPIOMUX_SET_NC(24),
	GPIOMUX_SET_NC(25),
	GPIOMUX_SET_NC(26),
	GPIOMUX_SET_NC(28),
	GPIOMUX_SET_NC(41),
	GPIOMUX_SET_NC(42),
	GPIOMUX_SET_NC(64),
	GPIOMUX_SET_NC(69),
	GPIOMUX_SET_NC(90),
	GPIOMUX_SET_NC(112),
		.settings = {
			[GPIOMUX_ACTIVE] = &gpio_suspend_config[0],
			[GPIOMUX_SUSPENDED] = &gpio_suspend_config[0],
		},
	},
	{
		.gpio      = 90,		/* HW_REV(3) */
		.settings = {
			[GPIOMUX_ACTIVE] = &gpio_suspend_config[0],
			[GPIOMUX_SUSPENDED] = &gpio_suspend_config[0],
		},
	},
};

static struct msm_gpiomux_config gpio_nc_configs[] __initdata = {
	GPIOMUX_SET_NC(91),		/* TSP_ID */
	GPIOMUX_SET_NC(101),		/* 2Touch_ID */
#if !defined(CONFIG_SENSORS_VFS61XX)	// from H.HW Rev08, fingerprint sensor removed.
	GPIOMUX_SET_NC(23),
	GPIOMUX_SET_NC(24),
	GPIOMUX_SET_NC(25),
	GPIOMUX_SET_NC(26),
	GPIOMUX_SET_NC(28),
	GPIOMUX_SET_NC(64),
	GPIOMUX_SET_NC(130),
#endif
#if defined(CONFIG_MACH_HLTETMO)
	GPIOMUX_SET_NC(142),
	GPIOMUX_SET_NC(143),
#endif
#if defined(CONFIG_SEC_LOCALE_KOR)
	{
		.gpio      = 16,		/* HW_REV(3) */
		.settings = {
			[GPIOMUX_SUSPENDED] = &gpio_suspend_config[0],
		},
	},
	{
		.gpio      = 90,		/* HW_REV(0) */
		.settings = {
			[GPIOMUX_SUSPENDED] = &gpio_suspend_config[0],
		},
	},
};

static struct msm_gpiomux_config gpio_nc_configs[] __initdata = {
	GPIOMUX_SET_NC(8),
	GPIOMUX_SET_NC(9),
	GPIOMUX_SET_NC(10),
	GPIOMUX_SET_NC(11),
	GPIOMUX_SET_NC(18),
	GPIOMUX_SET_NC(28),
	GPIOMUX_SET_NC(29),
	GPIOMUX_SET_NC(30),
	GPIOMUX_SET_NC(49),
	GPIOMUX_SET_NC(73),
	GPIOMUX_SET_NC(79),
	GPIOMUX_SET_NC(80),
	GPIOMUX_SET_NC(91),
	GPIOMUX_SET_NC(95),
	GPIOMUX_SET_NC(96),
	GPIOMUX_SET_NC(101),
		.pull = GPIOMUX_PULL_DOWN,
		.dir = GPIOMUX_OUT_LOW,
	},
};

#define GPIOMUX_SET_NC(n) \
	{ \
		.gpio	   = n, \
		.settings = { \
			[GPIOMUX_ACTIVE] = &gpio_suspend_config[2], \
			[GPIOMUX_SUSPENDED] = &gpio_suspend_config[2], \
		}, \
	}

static struct msm_gpiomux_config gpio_nc_configs[] __initdata = {
	GPIOMUX_SET_NC(0),
	GPIOMUX_SET_NC(1),
	GPIOMUX_SET_NC(2),
	GPIOMUX_SET_NC(3),
	GPIOMUX_SET_NC(22),
	GPIOMUX_SET_NC(23),
	GPIOMUX_SET_NC(27),
	GPIOMUX_SET_NC(33),
#if !defined(CONFIG_MACH_VICTORLTE_CTC)
	GPIOMUX_SET_NC(34),
#endif
	GPIOMUX_SET_NC(36),
	GPIOMUX_SET_NC(45),
	GPIOMUX_SET_NC(46),
	GPIOMUX_SET_NC(49),
	GPIOMUX_SET_NC(50),
static void msm_gpiomux_btuart_install(void)
{
	msm_gpiomux_install(msm8974_btuart_configs,
			    ARRAY_SIZE(msm8974_btuart_configs));
}

static void msm_gpiomux_btwake_install(void)
{
	msm_gpiomux_install(msm8974_btwake_configs,
			    ARRAY_SIZE(msm8974_btwake_configs));
}
#endif

#if defined(CONFIG_MACH_LT03_VZW)
static struct msm_gpiomux_config gpio_nc_configs[] __initdata = {
	GPIOMUX_SET_NC(23),
	GPIOMUX_SET_NC(24),
	GPIOMUX_SET_NC(28),
	GPIOMUX_SET_NC(73),
	GPIOMUX_SET_NC(79),
	GPIOMUX_SET_NC(80),
	GPIOMUX_SET_NC(63),
	GPIOMUX_SET_NC(103),
	GPIOMUX_SET_NC(104),
	GPIOMUX_SET_NC(107),
	GPIOMUX_SET_NC(112),
	GPIOMUX_SET_NC(113),
	GPIOMUX_SET_NC(119),
	GPIOMUX_SET_NC(120),
	GPIOMUX_SET_NC(121),
	GPIOMUX_SET_NC(122),
Example #6
0
	.dir = GPIOMUX_OUT_HIGH,
};

static struct msm_gpiomux_config msm8974_btwifi_ldo_en_configs[] __initdata = {
	{
		.gpio      = 130,	//BTWIFI_LDO_EN
		.settings = {
			[GPIOMUX_ACTIVE]    = &gpio_btwifi_ldo_en_config,
			[GPIOMUX_SUSPENDED] = &gpio_btwifi_ldo_en_config,
		},
	},
};
#endif

static struct msm_gpiomux_config gpio_nc_configs[] __initdata = {
	GPIOMUX_SET_NC(8),
	GPIOMUX_SET_NC(9),
#if !defined(CONFIG_MACH_LT03SKT) && !defined(CONFIG_MACH_LT03KTT) && !defined(CONFIG_MACH_LT03LGT)
	GPIOMUX_SET_NC(10),
	GPIOMUX_SET_NC(11),
#endif
	GPIOMUX_SET_NC(18),
	GPIOMUX_SET_NC(23),
	GPIOMUX_SET_NC(24),
	GPIOMUX_SET_NC(28),
	GPIOMUX_SET_NC(63),
	GPIOMUX_SET_NC(80),
	GPIOMUX_SET_NC(103),
	GPIOMUX_SET_NC(104),
	GPIOMUX_SET_NC(112),
	GPIOMUX_SET_NC(113),
		.pull = GPIOMUX_PULL_DOWN,
		.dir = GPIOMUX_OUT_LOW,
	},
};

#define GPIOMUX_SET_NC(n) \
	{ \
		.gpio	   = n, \
		.settings = { \
			[GPIOMUX_ACTIVE] = &gpio_suspend_config[2], \
			[GPIOMUX_SUSPENDED] = &gpio_suspend_config[2], \
		}, \
	}

static struct msm_gpiomux_config gpio_nc_configs[] __initdata = {
	GPIOMUX_SET_NC(8),
	GPIOMUX_SET_NC(9),
#if defined(CONFIG_MACH_VIENNAVZW) || defined(CONFIG_MACH_VIENNAATT)
	GPIOMUX_SET_NC(23),
#else
	GPIOMUX_SET_NC(28),
#endif
	GPIOMUX_SET_NC(24),
	GPIOMUX_SET_NC(63),
	GPIOMUX_SET_NC(94),
#if defined(CONFIG_MACH_VIENNAATT)
	GPIOMUX_SET_NC(104),
	GPIOMUX_SET_NC(112),
	GPIOMUX_SET_NC(113),
	GPIOMUX_SET_NC(119),
#endif /* CONFIG_MACH_VIENNAATT */
		.pull = GPIOMUX_PULL_DOWN,
		.dir = GPIOMUX_OUT_LOW,
	},
};

#define GPIOMUX_SET_NC(n) \
	{ \
		.gpio	   = n, \
		.settings = { \
			[GPIOMUX_ACTIVE] = &gpio_suspend_config[2], \
			[GPIOMUX_SUSPENDED] = &gpio_suspend_config[2], \
		}, \
	}

static struct msm_gpiomux_config gpio_nc_configs[] __initdata = {
	GPIOMUX_SET_NC(0),
	GPIOMUX_SET_NC(1),
	GPIOMUX_SET_NC(2),
	GPIOMUX_SET_NC(3),
	GPIOMUX_SET_NC(22),
	GPIOMUX_SET_NC(23),
	GPIOMUX_SET_NC(45),
	GPIOMUX_SET_NC(46),
	GPIOMUX_SET_NC(49),
	GPIOMUX_SET_NC(50),
};

static struct msm_gpiomux_config hw_rev_configs[] __initdata = {
	{
		.gpio = 15,	/* HW_REV(0) */
		.settings = {
		.pull = GPIOMUX_PULL_DOWN,
		.dir = GPIOMUX_IN,
	},
};

#define GPIOMUX_SET_NC(n) \
	{ \
		.gpio	   = n, \
		.settings = { \
			[GPIOMUX_ACTIVE] = &gpio_suspend_config[2], \
			[GPIOMUX_SUSPENDED] = &gpio_suspend_config[2], \
		}, \
	}

static struct msm_gpiomux_config gpio_nc_configs[] __initdata = {
	GPIOMUX_SET_NC(9),
	GPIOMUX_SET_NC(18),
	GPIOMUX_SET_NC(28),
	GPIOMUX_SET_NC(45),
	GPIOMUX_SET_NC(46),
	GPIOMUX_SET_NC(47),
	GPIOMUX_SET_NC(48),
	GPIOMUX_SET_NC(49),
	GPIOMUX_SET_NC(53),
	GPIOMUX_SET_NC(63),
	GPIOMUX_SET_NC(65),
	GPIOMUX_SET_NC(66),
	GPIOMUX_SET_NC(67),
	GPIOMUX_SET_NC(68),
	GPIOMUX_SET_NC(69),
	GPIOMUX_SET_NC(75),