Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/arm/mach-exynos4/setup-fimc.c
10817 views
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
}
45
46