Commit | Line | Data |
---|---|---|
0048a173 SN |
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 | ||
15 | int 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 | } |