forked from Minki/linux
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
@ -9,6 +9,7 @@
|
||||
* (at your option) any later version.
|
||||
*/
|
||||
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
@ -191,6 +192,48 @@ static inline void omap_init_spi100k(void)
|
||||
}
|
||||
#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) {}
|
||||
|
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…
Reference in New Issue
Block a user