| /* |
| * Copyright (C) 2011 Samsung Electronics Co., Ltd. |
| * |
| * Exynos4 camera interface GPIO configuration. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * published by the Free Software Foundation. |
| */ |
| |
| #include <linux/gpio.h> |
| #include <plat/gpio-cfg.h> |
| #include <plat/camport.h> |
| |
| int exynos4_fimc_setup_gpio(enum s5p_camport_id id) |
| { |
| u32 gpio8, gpio5; |
| u32 sfn; |
| int ret; |
| |
| switch (id) { |
| case S5P_CAMPORT_A: |
| gpio8 = EXYNOS4_GPJ0(0); /* PCLK, VSYNC, HREF, DATA[0:4] */ |
| gpio5 = EXYNOS4_GPJ1(0); /* DATA[5:7], CLKOUT, FIELD */ |
| sfn = S3C_GPIO_SFN(2); |
| break; |
| |
| case S5P_CAMPORT_B: |
| gpio8 = EXYNOS4_GPE0(0); /* DATA[0:7] */ |
| gpio5 = EXYNOS4_GPE1(0); /* PCLK, VSYNC, HREF, CLKOUT, FIELD */ |
| sfn = S3C_GPIO_SFN(3); |
| break; |
| |
| default: |
| WARN(1, "Wrong camport id: %d\n", id); |
| return -EINVAL; |
| } |
| |
| ret = s3c_gpio_cfgall_range(gpio8, 8, sfn, S3C_GPIO_PULL_UP); |
| if (ret) |
| return ret; |
| |
| return s3c_gpio_cfgall_range(gpio5, 5, sfn, S3C_GPIO_PULL_UP); |
| } |