45 lines
		
	
	
	
		
			1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
	
		
			1 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); | ||
|  | } |