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(S5PV210_GPE0(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPE0(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(S5PV210_GPE1(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPE1(i), S3C_GPIO_PULL_NONE); } /* CAM B port(b0011) : DATA[0-7] */ for (i=0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPJ0(i), S3C_GPIO_SFN(3)); s3c_gpio_setpull(S5PV210_GPJ0(i), S3C_GPIO_PULL_NONE); } /* CAM B port(b0011) : PCLK, VSYNC, HREF, FIELD, CLCKOUT */ for (i=0; i < 5; i++) { s3c_gpio_cfgpin(S5PV210_GPJ1(i), S3C_GPIO_SFN(3)); s3c_gpio_setpull(S5PV210_GPJ1(i), S3C_GPIO_PULL_NONE); } /* note : driver strength to max is unnecessary */ }
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(S5PV210_GPE0(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPE0(i), S3C_GPIO_PULL_NONE); } /* CAM A port(b0010) : DATA[5-7], CLKOUT(MIPI CAM also), FIELD */ // for (i=0; i < 5; i++) {///////////////////////////////////////////////////// for (i=0; i < 4; i++) {//////////////////////////////////////////////////////disable FIELD s3c_gpio_cfgpin(S5PV210_GPE1(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPE1(i), S3C_GPIO_PULL_NONE); } #if defined(CONFIG_MACH_SMDKC110) || defined(CONFIG_MACH_SMDKV210) s3c_gpio_cfgpin(S5PV210_GPE1(4), S5PV210_GPE1_4_CAM_A_FIELD); s3c_gpio_setpull(S5PV210_GPE1(4), S3C_GPIO_PULL_NONE); /* CAM B port(b0011) : DATA[0-7] */ for (i = 0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPJ0(i), S3C_GPIO_SFN(3)); s3c_gpio_setpull(S5PV210_GPJ0(i), S3C_GPIO_PULL_NONE); } /* CAM B port(b0011) : PCLK, VSYNC, HREF, FIELD, CLCKOUT */ for (i = 0; i < 5; i++) { s3c_gpio_cfgpin(S5PV210_GPJ1(i), S3C_GPIO_SFN(3)); s3c_gpio_setpull(S5PV210_GPJ1(i), S3C_GPIO_PULL_NONE); } #endif /* note : driver strength to max is unnecessary */ }
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(S5PV210_GPE0(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPE0(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(S5PV210_GPE1(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPE1(i), S3C_GPIO_PULL_NONE); } #if !defined(CONFIG_MX100) /*Shanghai ewada*/ /* CAM B port(b0011) : DATA[0-7] */ for (i=0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPJ0(i), S3C_GPIO_SFN(3)); s3c_gpio_setpull(S5PV210_GPJ0(i), S3C_GPIO_PULL_NONE); } /* CAM B port(b0011) : PCLK, VSYNC, HREF, FIELD, CLCKOUT */ for (i=0; i < 5; i++) { s3c_gpio_cfgpin(S5PV210_GPJ1(i), S3C_GPIO_SFN(3)); s3c_gpio_setpull(S5PV210_GPJ1(i), S3C_GPIO_PULL_NONE); } #endif }
void s3c_fimc0_cfg_gpio_suspend(struct platform_device *pdev) { int i = 0; for (i=0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPE0(i), S3C_GPIO_INPUT); s3c_gpio_setpull(S5PV210_GPE0(i), S3C_GPIO_PULL_UP); } /* CAM A port(b0010) : DATA[5-7], CLKOUT(MIPI CAM also), FIELD */ for (i=0; i < 5; i++) { s3c_gpio_cfgpin(S5PV210_GPE1(i), S3C_GPIO_INPUT); s3c_gpio_setpull(S5PV210_GPE1(i), S3C_GPIO_PULL_UP); } /* CAM B port(b0011) : DATA[0-7] */ for (i=0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPJ0(i), S3C_GPIO_INPUT); s3c_gpio_setpull(S5PV210_GPJ0(i), S3C_GPIO_PULL_UP); } /* CAM B port(b0011) : PCLK, VSYNC, HREF, FIELD, CLCKOUT */ for (i=0; i < 5; i++) { s3c_gpio_cfgpin(S5PV210_GPJ1(i), S3C_GPIO_INPUT); s3c_gpio_setpull(S5PV210_GPJ1(i), S3C_GPIO_PULL_UP); } }
void s3c_fimc0_cfg_gpio(struct platform_device *pdev) { int i = 0; /* CAM A port(b0010) 0.3Mps : PCLK, VSYNC, HREF, DATA[0-4] */ for (i = 0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPE0(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPE0(i), S3C_GPIO_PULL_NONE); } /* CAM A port(b0010) : DATA[5-7], CLKOUT(MIPI CAM also), FIELD */ for (i = 0; i < 4; i++) { s3c_gpio_cfgpin(S5PV210_GPE1(i), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPE1(i), S3C_GPIO_PULL_NONE); } //set CAM 3M data and clock pin as input. //Modify by endy,2011.12.7 #ifdef CONFIG_PRODUCT_USING_V7E_COST_DOWN /* CAM B port(b0011) 5Mps : DATA[0-7] */ for (i=0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPJ0(i), S3C_GPIO_INPUT); s3c_gpio_setpull(S5PV210_GPJ0(i), S3C_GPIO_PULL_NONE); } /* CAM B port(b0011) : PCLK, VSYNC, HREF, FIELD, CLCKOUT */ for (i=0; i < 3; i++) { s3c_gpio_cfgpin(S5PV210_GPJ1(i), S3C_GPIO_INPUT); s3c_gpio_setpull(S5PV210_GPJ1(i), S3C_GPIO_PULL_NONE); } /* CAM MCLK */ s3c_gpio_cfgpin(S5PV210_GPJ1(4), S3C_GPIO_INPUT); s3c_gpio_setpull(S5PV210_GPJ1(4), S3C_GPIO_PULL_NONE); #else #if 1 /* CAM B port(b0011) 5Mps : DATA[0-7] */ for (i=0; i < 8; i++) { s3c_gpio_cfgpin(S5PV210_GPJ0(i), S3C_GPIO_SFN(3)); s3c_gpio_setpull(S5PV210_GPJ0(i), S3C_GPIO_PULL_NONE); } /* CAM B port(b0011) : PCLK, VSYNC, HREF, FIELD, CLCKOUT */ for (i=0; i < 3; i++) { s3c_gpio_cfgpin(S5PV210_GPJ1(i), S3C_GPIO_SFN(3)); s3c_gpio_setpull(S5PV210_GPJ1(i), S3C_GPIO_PULL_NONE); } /* CAM MCLK */ s3c_gpio_cfgpin(S5PV210_GPJ1(4), S3C_GPIO_SFN(3)); s3c_gpio_setpull(S5PV210_GPJ1(4), S3C_GPIO_PULL_NONE); #endif #endif /* note : driver strength to max is unnecessary */ }
static void goni_camera_init(void) { s5pv210_fimc_setup_gpio(S5P_CAMPORT_A); /* Set max driver strength on CAM_A_CLKOUT pin. */ s5p_gpio_set_drvstr(S5PV210_GPE1(3), S5P_GPIO_DRVSTR_LV4); }
.ngpio = S5PV210_GPIO_D1_NR, .label = "GPD1", }, }, { .base = S5PV210_GPE0_BASE, .config = &gpio_cfg, .chip = { .base = S5PV210_GPE0(0), .ngpio = S5PV210_GPIO_E0_NR, .label = "GPE0", }, }, { .base = S5PV210_GPE1_BASE, .config = &gpio_cfg, .chip = { .base = S5PV210_GPE1(0), .ngpio = S5PV210_GPIO_E1_NR, .label = "GPE1", }, }, { .base = S5PV210_GPF0_BASE, .config = &gpio_cfg, .chip = { .base = S5PV210_GPF0(0), .ngpio = S5PV210_GPIO_F0_NR, .label = "GPF0", }, }, { .base = S5PV210_GPF1_BASE, .config = &gpio_cfg, .chip = {
void s3c_fimc0_cfg_gpio(struct platform_device *pdev) { /* CAM MCLK */ s3c_gpio_cfgpin(S5PV210_GPE1(3), S3C_GPIO_SFN(2)); s3c_gpio_setpull(S5PV210_GPE1(3), S3C_GPIO_PULL_NONE); }