void msm7200a_ulpi_config(int enable)
{
	int n;
	/* Configure ULPI DATA pins */
	for (n = 0x6f; n <= 0x76; n++) {
		msm_gpio_config(MSM_GPIO_CFG(n, 1,
					     enable ? MSM_GPIO_CFG_INPUT :
					     MSM_GPIO_CFG_OUTPUT,
					     enable ? MSM_GPIO_CFG_NO_PULL :
					     MSM_GPIO_CFG_PULL_DOWN,
					     MSM_GPIO_CFG_2MA), 0);
	}
	msm_gpio_config(MSM_GPIO_CFG(0x77, 1, MSM_GPIO_CFG_INPUT,
				     enable ? MSM_GPIO_CFG_NO_PULL :
				     MSM_GPIO_CFG_PULL_DOWN, MSM_GPIO_CFG_2MA),
			0);
	msm_gpio_config(MSM_GPIO_CFG
			(0x78, 1, MSM_GPIO_CFG_INPUT,
			 enable ? MSM_GPIO_CFG_NO_PULL : MSM_GPIO_CFG_PULL_DOWN,
			 MSM_GPIO_CFG_2MA), 0);
	msm_gpio_config(MSM_GPIO_CFG
			(0x79, 1, MSM_GPIO_CFG_OUTPUT,
			 enable ? MSM_GPIO_CFG_NO_PULL : MSM_GPIO_CFG_PULL_UP,
			 MSM_GPIO_CFG_2MA), 0);
}
Example #2
0
static void i2c_set_mux(int to_i2c) {
    if (to_i2c) {
        msm_gpio_config(MSM_GPIO_CFG(MSM7200A_GPIO_I2C_CLK, 1, MSM_GPIO_CFG_OUTPUT,
                                     MSM_GPIO_CFG_NO_PULL, MSM_GPIO_CFG_8MA), 0);
        msm_gpio_config(MSM_GPIO_CFG(MSM7200A_GPIO_I2C_DAT , 1, MSM_GPIO_CFG_OUTPUT,
                                     MSM_GPIO_CFG_NO_PULL, MSM_GPIO_CFG_8MA), 0);
    } else {
        msm_gpio_config(MSM_GPIO_CFG(MSM7200A_GPIO_I2C_CLK, 1, MSM_GPIO_CFG_INPUT,
                                     MSM_GPIO_CFG_NO_PULL, MSM_GPIO_CFG_2MA), 0);
        msm_gpio_config(MSM_GPIO_CFG(MSM7200A_GPIO_I2C_DAT, 1, MSM_GPIO_CFG_INPUT,
                                     MSM_GPIO_CFG_NO_PULL, MSM_GPIO_CFG_2MA), 0);
    }
}
Example #3
0
void pcom_sdcard_gpio_config(int instance)
{
//Note: GPIO_NO_PULL is for clock lines.
	switch (instance) {
		case 1:
			/* Some cards had crc erorrs on multiblock reads.
			 * Increasing drive strength from 8 to 16 fixed that.
			 */
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(51, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_16MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(52, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_16MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(53, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_16MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(54, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_16MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(55, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_16MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(56, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_NO_PULL, MSM_GPIO_CFG_16MA), MSM_GPIO_CFG_ENABLE);
			break;

		case 2:
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(62, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_NO_PULL, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(63, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(64, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(65, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(66, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(67, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			break;

		case 3:
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(88, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_NO_PULL, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(89, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(90, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(91, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(92, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(93, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(158, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(159, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(160, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(161, 1, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			break;

		case 4:
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(142, 3, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_NO_PULL, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(143, 3, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(144, 2, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(145, 2, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(146, 3, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			pcom_gpio_tlmm_config(MSM_GPIO_CFG(147, 3, MSM_GPIO_CFG_OUTPUT, MSM_GPIO_CFG_PULL_UP, MSM_GPIO_CFG_8MA), MSM_GPIO_CFG_ENABLE);
			break;
    }
}