OMAP1: Add support for SoC camera interface
This patch adds a definition of the OMAP1 camera interface platform device, and a function that allows for providing a board specific platform data. The device will be used with the upcoming OMAP1 SoC camera interface driver. Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
parent
7ad0e386d4
commit
1a96edd70c
2 changed files with 54 additions and 0 deletions
|
@ -9,6 +9,7 @@
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/dma-mapping.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
|
@ -191,6 +192,48 @@ static inline void omap_init_spi100k(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define OMAP1_CAMERA_BASE 0xfffb6800
|
||||||
|
#define OMAP1_CAMERA_IOSIZE 0x1c
|
||||||
|
|
||||||
|
static struct resource omap1_camera_resources[] = {
|
||||||
|
[0] = {
|
||||||
|
.start = OMAP1_CAMERA_BASE,
|
||||||
|
.end = OMAP1_CAMERA_BASE + OMAP1_CAMERA_IOSIZE - 1,
|
||||||
|
.flags = IORESOURCE_MEM,
|
||||||
|
},
|
||||||
|
[1] = {
|
||||||
|
.start = INT_CAMERA,
|
||||||
|
.flags = IORESOURCE_IRQ,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static u64 omap1_camera_dma_mask = DMA_BIT_MASK(32);
|
||||||
|
|
||||||
|
static struct platform_device omap1_camera_device = {
|
||||||
|
.name = "omap1-camera",
|
||||||
|
.id = 0, /* This is used to put cameras on this interface */
|
||||||
|
.dev = {
|
||||||
|
.dma_mask = &omap1_camera_dma_mask,
|
||||||
|
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||||
|
},
|
||||||
|
.num_resources = ARRAY_SIZE(omap1_camera_resources),
|
||||||
|
.resource = omap1_camera_resources,
|
||||||
|
};
|
||||||
|
|
||||||
|
void __init omap1_camera_init(void *info)
|
||||||
|
{
|
||||||
|
struct platform_device *dev = &omap1_camera_device;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
dev->dev.platform_data = info;
|
||||||
|
|
||||||
|
ret = platform_device_register(dev);
|
||||||
|
if (ret)
|
||||||
|
dev_err(&dev->dev, "unable to register device: %d\n", ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------*/
|
/*-------------------------------------------------------------------------*/
|
||||||
|
|
||||||
static inline void omap_init_sti(void) {}
|
static inline void omap_init_sti(void) {}
|
||||||
|
|
11
arch/arm/mach-omap1/include/mach/camera.h
Normal file
11
arch/arm/mach-omap1/include/mach/camera.h
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#ifndef __ASM_ARCH_CAMERA_H_
|
||||||
|
#define __ASM_ARCH_CAMERA_H_
|
||||||
|
|
||||||
|
void omap1_camera_init(void *);
|
||||||
|
|
||||||
|
static inline void omap1_set_camera_info(struct omap1_cam_platform_data *info)
|
||||||
|
{
|
||||||
|
omap1_camera_init(info);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* __ASM_ARCH_CAMERA_H_ */
|
Loading…
Add table
Reference in a new issue