diff options
author | Sergio Aguirre <saaguirre@ti.com> | 2011-12-16 12:58:41 +0800 |
---|---|---|
committer | Andy Green <andy.green@linaro.org> | 2011-12-26 22:32:39 +0800 |
commit | 789f80be23405131d8c3c7ee42c3851287227cbb (patch) | |
tree | 4b77cb8d85e81ea081275a69ecca5cff5cc17d5a /arch | |
parent | bc7158df2b7fa8fe7ccbfd1665737639c38113a1 (diff) |
v4l: Add support for omap4iss driver
This adds a very simplistic driver to utilize the
CSI2A interface inside the ISS subsystem in OMAP4,
and dump the data to memory.
Tested so far on omap4430sdp w/ ES2.1 GP & w/ ES2.2 EMU.
Check newly added Documentation/video4linux/omap4_camera.txt
for details.
Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/plat-omap/include/plat/omap4-iss.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/arch/arm/plat-omap/include/plat/omap4-iss.h b/arch/arm/plat-omap/include/plat/omap4-iss.h new file mode 100644 index 00000000000..3a1c6b693ba --- /dev/null +++ b/arch/arm/plat-omap/include/plat/omap4-iss.h @@ -0,0 +1,42 @@ +#ifndef ARCH_ARM_PLAT_OMAP4_ISS_H +#define ARCH_ARM_PLAT_OMAP4_ISS_H + +#include <linux/i2c.h> + +struct iss_device; + +enum iss_interface_type { + ISS_INTERFACE_CSI2A_PHY1, +}; + +/** + * struct iss_csi2_platform_data - CSI2 interface platform data + * @crc: Enable the cyclic redundancy check + * @vpclk_div: Video port output clock control + */ +struct iss_csi2_platform_data { + unsigned crc:1; + unsigned vpclk_div:2; +}; + +struct iss_subdev_i2c_board_info { + struct i2c_board_info *board_info; + int i2c_adapter_id; +}; + +struct iss_v4l2_subdevs_group { + struct iss_subdev_i2c_board_info *subdevs; + enum iss_interface_type interface; + union { + struct iss_csi2_platform_data csi2; + } bus; /* gcc < 4.6.0 chokes on anonymous union initializers */ +}; + +struct iss_platform_data { + struct iss_v4l2_subdevs_group *subdevs; + void (*set_constraints)(struct iss_device *iss, bool enable); +}; + +extern int omap4_init_camera(struct iss_platform_data *pdata, + struct omap_board_data *bdata); +#endif |