int s3c64xx_spi0_cfg_gpio(struct platform_device *dev) { int gpio; if (soc_is_exynos5410()) { s3c_gpio_cfgpin(EXYNOS5410_GPA2(0), S3C_GPIO_SFN(2)); s3c_gpio_setpull(EXYNOS5410_GPA2(0), S3C_GPIO_PULL_UP); s3c_gpio_cfgall_range(EXYNOS5410_GPA2(2), 2, S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP); for (gpio = EXYNOS5410_GPA2(0); gpio < EXYNOS5410_GPA2(4); gpio++) s5p_gpio_set_drvstr(gpio, S5P_GPIO_DRVSTR_LV3); } else if (soc_is_exynos5250()) { s3c_gpio_cfgpin(EXYNOS5_GPA2(0), S3C_GPIO_SFN(2)); s3c_gpio_setpull(EXYNOS5_GPA2(0), S3C_GPIO_PULL_UP); s3c_gpio_cfgall_range(EXYNOS5_GPA2(2), 2, S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP); for (gpio = EXYNOS5_GPA2(0); gpio < EXYNOS5_GPA2(4); gpio++) s5p_gpio_set_drvstr(gpio, S5P_GPIO_DRVSTR_LV3); } else { s3c_gpio_cfgpin(EXYNOS4_GPB(0), S3C_GPIO_SFN(2)); s3c_gpio_setpull(EXYNOS4_GPB(0), S3C_GPIO_PULL_UP); s3c_gpio_cfgall_range(EXYNOS4_GPB(2), 2, S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP); for (gpio = EXYNOS4_GPB(0); gpio < EXYNOS4_GPB(4); gpio++) s5p_gpio_set_drvstr(gpio, S5P_GPIO_DRVSTR_LV3); } return 0; }
void s3c_i2c4_cfg_gpio(struct platform_device *dev) { if (soc_is_exynos4210()) s3c_gpio_cfgall_range(EXYNOS4_GPB(2), 2, S3C_GPIO_SFN(3), S3C_GPIO_PULL_UP); else if (soc_is_exynos4212() || soc_is_exynos4412() || soc_is_exynos4415()) s3c_gpio_cfgall_range(EXYNOS4_GPB(0), 2, S3C_GPIO_SFN(3), S3C_GPIO_PULL_UP); else if (soc_is_exynos5250()) s3c_gpio_cfgall_range(EXYNOS5_GPA2(0), 2, S3C_GPIO_SFN(3), S3C_GPIO_PULL_UP); else if (soc_is_exynos5260()) s3c_gpio_cfgall_range(EXYNOS5260_GPB5(0), 2, S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP); else if (soc_is_exynos3250()) s3c_gpio_cfgall_range(EXYNOS3_GPB(0), 2, S3C_GPIO_SFN(3), S3C_GPIO_PULL_UP); else pr_err("failed to configure gpio for i2c4\n"); }
static void manta_gpio_pull_up(bool pull_up) { if (pull_up) { s3c_gpio_cfgpin(EXYNOS5_GPA2(4), S3C_GPIO_SFN(2)); s3c_gpio_cfgpin(EXYNOS5_GPA2(6), S3C_GPIO_SFN(2)); s3c_gpio_cfgpin(EXYNOS5_GPA2(7), S3C_GPIO_SFN(2)); pr_debug("GPIO : spi function\n"); } else { s3c_gpio_setpull(EXYNOS5_GPA2(4), S3C_GPIO_PULL_DOWN); s3c_gpio_setpull(EXYNOS5_GPA2(6), S3C_GPIO_PULL_DOWN); s3c_gpio_setpull(EXYNOS5_GPA2(7), S3C_GPIO_PULL_DOWN); s3c_gpio_cfgpin(EXYNOS5_GPA2(4), S3C_GPIO_SFN(0)); s3c_gpio_cfgpin(EXYNOS5_GPA2(6), S3C_GPIO_SFN(0)); s3c_gpio_cfgpin(EXYNOS5_GPA2(7), S3C_GPIO_SFN(0)); pr_debug("GPIO : input\n"); } }
void s3c_i2c5_cfg_gpio(struct platform_device *dev) { if (soc_is_exynos4210()) s3c_gpio_cfgall_range(EXYNOS4_GPB(6), 2, S3C_GPIO_SFN(3), S3C_GPIO_PULL_UP); else if (soc_is_exynos4212()) s3c_gpio_cfgall_range(EXYNOS4_GPB(2), 2, S3C_GPIO_SFN(3), S3C_GPIO_PULL_UP); else s3c_gpio_cfgall_range(EXYNOS5_GPA2(2), 2, S3C_GPIO_SFN(3), S3C_GPIO_PULL_UP); }
S3C_GPIO_PULL_DOWN}, /* GPS_UART_RTS */ {EXYNOS4_GPA1(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, /* AP_RXD */ {EXYNOS4_GPA1(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* AP_TXD */ {EXYNOS4_GPA1(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, /* TSP_SDA_1.8V */ {EXYNOS4_GPA1(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, /* TSP_SCL_1.8V */ {EXYNOS4_GPA1(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* AP_FLM_RXD */ {EXYNOS4_GPA1(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* AP_FLM_TXD */ {EXYNOS5_GPA2(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, /* CHG_SDA_1.8V */ {EXYNOS5_GPA2(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, /* CHG_SCL_1.8V */ {EXYNOS5_GPA2(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, /* AP_PMIC_SDA */ {EXYNOS5_GPA2(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, /* AP_PMIC_SCL */ {EXYNOS5_GPA2(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* 5M_SPI_CLK */ {EXYNOS5_GPA2(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* 5M_SPI_CS */ {EXYNOS5_GPA2(6), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* 5M_SPI_DI */ {EXYNOS5_GPA2(7), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* 5M_SPI_DO */
.value = 0, .act = GPIO_RESET, }, .reset_peer = { /* 5M_CAM_RESET */ .pin = EXYNOS5_GPE0(0), .name = "GPE0", .value = 0, .act = GPIO_RESET, }, }, }; #endif static struct s3c64xx_spi_csinfo spi1_csi[] = { [0] = { .line = EXYNOS5_GPA2(5), .set_level = gpio_set_value, .fb_delay = 0x2, }, }; static struct spi_board_info spi1_board_info[] __initdata = { { .modalias = "fimc_is_spi", .platform_data = NULL, .max_speed_hz = 10 * 1000 * 1000, .bus_num = 1, .chip_select = 0, .mode = SPI_MODE_0, .controller_data = &spi1_csi[0], }