mirror of
https://github.com/torvalds/linux.git
synced 2024-12-22 19:01:37 +00:00
45 lines
1.0 KiB
C
45 lines
1.0 KiB
C
|
/*
|
||
|
* 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);
|
||
|
}
|