void s3c_i2c2_cfg_gpio(struct platform_device *dev) { if (soc_is_exynos5250()) s3c_gpio_cfgall_range(EXYNOS5_GPA0(6), 2, S3C_GPIO_SFN(3), S3C_GPIO_PULL_UP); else if (soc_is_exynos5260()) s3c_gpio_cfgall_range(EXYNOS5260_GPB4(4), 2, S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP); else if (soc_is_exynos5410()) s3c_gpio_cfgall_range(EXYNOS5410_GPA0(6), 2, S3C_GPIO_SFN(3), S3C_GPIO_PULL_UP); else if (soc_is_exynos5420()) s3c_gpio_cfgall_range(EXYNOS5420_GPA0(6), 2, S3C_GPIO_SFN(3), S3C_GPIO_PULL_UP); else if (soc_is_exynos3250()) s3c_gpio_cfgall_range(EXYNOS3_GPA0(6), 2, S3C_GPIO_SFN(3), S3C_GPIO_PULL_NONE); else /* EXYNOS4210, EXYNOS4212, and EXYNOS4412 */ s3c_gpio_cfgall_range(EXYNOS4_GPA0(6), 2, S3C_GPIO_SFN(3), S3C_GPIO_PULL_UP); }
u32 pud; }; struct sleep_gpio_tables { struct gpio_sleep_data *table; u32 arr_size; }; #define MAX_BOARD_REV 0xf static struct sleep_gpio_tables v1_sleep_gpio_tables[MAX_BOARD_REV]; static int nr_v1_sleep_gpio_table; /* init gpio table for V1 project */ static struct gpio_init_data __initdata init_gpio_table[] = { /* GPA 0 */ { EXYNOS5420_GPA0(0), S3C_GPIO_SFN(2), GPIO_LV_N, S3C_GPIO_PULL_NONE }, /* BT_UART_RXD */ { EXYNOS5420_GPA0(2), S3C_GPIO_SFN(2), GPIO_LV_N, S3C_GPIO_PULL_NONE }, /* BT_UART_CTS */ /* GPA 1 */ { EXYNOS5420_GPA1(4), S3C_GPIO_INPUT, GPIO_LV_N, S3C_GPIO_PULL_NONE }, /* VT_CAM_SDA_1.8V */ { EXYNOS5420_GPA1(5), S3C_GPIO_INPUT, GPIO_LV_N, S3C_GPIO_PULL_NONE }, /* VT_CAM_SCL_1.8V */ /* GPA 2 */ #if defined(CONFIG_V1A_3G) || defined(CONFIG_V2A_3G) { EXYNOS5420_GPA2(0), S3C_GPIO_INPUT, GPIO_LV_N, S3C_GPIO_PULL_NONE }, /* GRIP_SDA */ { EXYNOS5420_GPA2(1), S3C_GPIO_INPUT, GPIO_LV_N, S3C_GPIO_PULL_NONE }, /* GRIP_SCL */ #endif /* GPB 0 */ /* GPB 1 */ /* GPB 2 */ /* GPB 3 */ { EXYNOS5420_GPB3(2), S3C_GPIO_INPUT, GPIO_LV_N, S3C_GPIO_PULL_DOWN }, /* NC */ { EXYNOS5420_GPB3(3), S3C_GPIO_INPUT, GPIO_LV_N, S3C_GPIO_PULL_DOWN }, /* NC */