void s3c_fimc0_cfg_gpio(struct platform_device *pdev) { int i = 0; /* CAM A port(b0010) : PCLK, VSYNC, HREF, DATA[0-4] */ for (i = 0; i < 8; i++) { s3c_gpio_cfgpin(S5PV310_GPJ0(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV310_GPJ0(i), S3C_GPIO_PULL_NONE); } /* CAM A port(b0010) : DATA[5-7], CLKOUT(MIPI CAM also), FIELD */ for (i = 0; i < 5; i++) { s3c_gpio_cfgpin(S5PV310_GPJ1(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV310_GPJ1(i), S3C_GPIO_PULL_NONE); } #if defined(CONFIG_MACH_SMDKC210) || defined(CONFIG_MACH_SMDKV310) /* CAM B port(b0011) : DATA[0-7] */ for (i = 0; i < 8; i++) { s3c_gpio_cfgpin(S5PV310_GPE1(i), S3C_GPIO_SFN(3)); s3c_gpio_setpull(S5PV310_GPE1(i), S3C_GPIO_PULL_NONE); } /* CAM B port(b0011) : PCLK, VSYNC, HREF, FIELD, CLCKOUT */ for (i = 0; i < 5; i++) { s3c_gpio_cfgpin(S5PV310_GPE0(i), S3C_GPIO_SFN(3)); s3c_gpio_setpull(S5PV310_GPE0(i), S3C_GPIO_PULL_NONE); } #endif /* note : driver strength to max is unnecessary */ }
.ngpio = S5PV310_GPIO_F2_NR, .label = "GPF2", }, }, { .chip = { .base = S5PV310_GPF3(0), .ngpio = S5PV310_GPIO_F3_NR, .label = "GPF3", }, }, }; static struct s3c_gpio_chip s5pv310_gpio_part2_4bit[] = { { .chip = { .base = S5PV310_GPJ0(0), .ngpio = S5PV310_GPIO_J0_NR, .label = "GPJ0", }, }, { .chip = { .base = S5PV310_GPJ1(0), .ngpio = S5PV310_GPIO_J1_NR, .label = "GPJ1", }, }, { .chip = { .base = S5PV310_GPK0(0), .ngpio = S5PV310_GPIO_K0_NR, .label = "GPK0", },