1/* 2 * Copyright (C) 2011 Samsung Electronics Co., Ltd. 3 * 4 * Exynos4 camera interface GPIO configuration. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 */ 10 11#include <linux/gpio.h> 12#include <plat/gpio-cfg.h> 13#include <plat/camport.h> 14 15int exynos4_fimc_setup_gpio(enum s5p_camport_id id) 16{ 17 u32 gpio8, gpio5; 18 u32 sfn; 19 int ret; 20 21 switch (id) { 22 case S5P_CAMPORT_A: 23 gpio8 = EXYNOS4_GPJ0(0); /* PCLK, VSYNC, HREF, DATA[0:4] */ 24 gpio5 = EXYNOS4_GPJ1(0); /* DATA[5:7], CLKOUT, FIELD */ 25 sfn = S3C_GPIO_SFN(2); 26 break; 27 28 case S5P_CAMPORT_B: 29 gpio8 = EXYNOS4_GPE0(0); /* DATA[0:7] */ 30 gpio5 = EXYNOS4_GPE1(0); /* PCLK, VSYNC, HREF, CLKOUT, FIELD */ 31 sfn = S3C_GPIO_SFN(3); 32 break; 33 34 default: 35 WARN(1, "Wrong camport id: %d\n", id); 36 return -EINVAL; 37 } 38 39 ret = s3c_gpio_cfgall_range(gpio8, 8, sfn, S3C_GPIO_PULL_UP); 40 if (ret) 41 return ret; 42 43 return s3c_gpio_cfgall_range(gpio5, 5, sfn, S3C_GPIO_PULL_UP); 44} 45