-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM: SAMSUNG: Add platform definitions and helpers for FIMC driver
FIMC (CAMIF) device is a camera interface embedded in S3C/S5P Samsung SOC series. It supports ITU-R BT.601/656 and MIPI-CSI2 standards, memory to memory operations, color conversion, resizing and rotation. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
- Loading branch information
Sylwester Nawrocki
authored and
Kukjin Kim
committed
Aug 6, 2010
1 parent
290d098
commit 33c14ff
Showing
9 changed files
with
181 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
/* linux/arch/arm/plat-s5p/dev-fimc0.c | ||
* | ||
* Copyright (c) 2010 Samsung Electronics | ||
* | ||
* Base S5P FIMC0 resource and device definitions | ||
* | ||
* 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/kernel.h> | ||
#include <linux/platform_device.h> | ||
#include <linux/interrupt.h> | ||
#include <linux/ioport.h> | ||
#include <mach/map.h> | ||
|
||
static struct resource s5p_fimc0_resource[] = { | ||
[0] = { | ||
.start = S5P_PA_FIMC0, | ||
.end = S5P_PA_FIMC0 + SZ_1M - 1, | ||
.flags = IORESOURCE_MEM, | ||
}, | ||
[1] = { | ||
.start = IRQ_FIMC0, | ||
.end = IRQ_FIMC0, | ||
.flags = IORESOURCE_IRQ, | ||
}, | ||
}; | ||
|
||
struct platform_device s5p_device_fimc0 = { | ||
.name = "s5p-fimc", | ||
.id = 0, | ||
.num_resources = ARRAY_SIZE(s5p_fimc0_resource), | ||
.resource = s5p_fimc0_resource, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
/* linux/arch/arm/plat-s5p/dev-fimc1.c | ||
* | ||
* Copyright (c) 2010 Samsung Electronics | ||
* | ||
* Base S5P FIMC1 resource and device definitions | ||
* | ||
* 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/kernel.h> | ||
#include <linux/platform_device.h> | ||
#include <linux/interrupt.h> | ||
#include <linux/ioport.h> | ||
#include <mach/map.h> | ||
|
||
static struct resource s5p_fimc1_resource[] = { | ||
[0] = { | ||
.start = S5P_PA_FIMC1, | ||
.end = S5P_PA_FIMC1 + SZ_1M - 1, | ||
.flags = IORESOURCE_MEM, | ||
}, | ||
[1] = { | ||
.start = IRQ_FIMC1, | ||
.end = IRQ_FIMC1, | ||
.flags = IORESOURCE_IRQ, | ||
}, | ||
}; | ||
|
||
struct platform_device s5p_device_fimc1 = { | ||
.name = "s5p-fimc", | ||
.id = 1, | ||
.num_resources = ARRAY_SIZE(s5p_fimc1_resource), | ||
.resource = s5p_fimc1_resource, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
/* linux/arch/arm/plat-s5p/dev-fimc2.c | ||
* | ||
* Copyright (c) 2010 Samsung Electronics | ||
* | ||
* Base S5P FIMC2 resource and device definitions | ||
* | ||
* 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/kernel.h> | ||
#include <linux/platform_device.h> | ||
#include <linux/interrupt.h> | ||
#include <linux/ioport.h> | ||
#include <mach/map.h> | ||
|
||
static struct resource s5p_fimc2_resource[] = { | ||
[0] = { | ||
.start = S5P_PA_FIMC2, | ||
.end = S5P_PA_FIMC2 + SZ_1M - 1, | ||
.flags = IORESOURCE_MEM, | ||
}, | ||
[1] = { | ||
.start = IRQ_FIMC2, | ||
.end = IRQ_FIMC2, | ||
.flags = IORESOURCE_IRQ, | ||
}, | ||
}; | ||
|
||
struct platform_device s5p_device_fimc2 = { | ||
.name = "s5p-fimc", | ||
.id = 2, | ||
.num_resources = ARRAY_SIZE(s5p_fimc2_resource), | ||
.resource = s5p_fimc2_resource, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
/* | ||
* arch/arm/plat-samsung/include/plat/fimc-core.h | ||
* | ||
* Copyright 2010 Samsung Electronics Co., Ltd. | ||
* Sylwester Nawrocki <s.nawrocki@samsung.com> | ||
* | ||
* Samsung camera interface driver core functions | ||
* | ||
* 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. | ||
*/ | ||
|
||
#ifndef __ASM_PLAT_FIMC_CORE_H | ||
#define __ASM_PLAT_FIMC_CORE_H __FILE__ | ||
|
||
/* | ||
* These functions are only for use with the core support code, such as | ||
* the CPU-specific initialization code. | ||
*/ | ||
|
||
/* Re-define device name to differentiate the subsystem in various SoCs. */ | ||
static inline void s3c_fimc_setname(int id, char *name) | ||
{ | ||
switch (id) { | ||
#ifdef CONFIG_S5P_DEV_FIMC0 | ||
case 0: | ||
s5p_device_fimc0.name = name; | ||
break; | ||
#endif | ||
#ifdef CONFIG_S5P_DEV_FIMC1 | ||
case 1: | ||
s5p_device_fimc1.name = name; | ||
break; | ||
#endif | ||
#ifdef CONFIG_S5P_DEV_FIMC2 | ||
case 2: | ||
s5p_device_fimc2.name = name; | ||
break; | ||
#endif | ||
} | ||
} | ||
|
||
#endif /* __ASM_PLAT_FIMC_CORE_H */ |