blob: 7f57056c22ba6d74743ddc1cf00d36e622ead8a9 [file] [log] [blame]
Magnus Damm0d3244d2008-07-16 22:59:28 -03001#ifndef __ASM_SH_MOBILE_CEU_H__
2#define __ASM_SH_MOBILE_CEU_H__
3
Kuninori Morimotoc354b402009-02-23 12:12:58 -03004#define SH_CEU_FLAG_USE_8BIT_BUS (1 << 0) /* use 8bit bus width */
5#define SH_CEU_FLAG_USE_16BIT_BUS (1 << 1) /* use 16bit bus width */
Kuninori Morimoto85dc1cf2009-12-11 11:53:54 -03006#define SH_CEU_FLAG_HSYNC_LOW (1 << 2) /* default High if possible */
7#define SH_CEU_FLAG_VSYNC_LOW (1 << 3) /* default High if possible */
Kuninori Morimoto2564f672012-05-08 00:00:07 -03008#define SH_CEU_FLAG_LOWER_8BIT (1 << 4) /* default upper 8bit */
Magnus Damm0d3244d2008-07-16 22:59:28 -03009
Guennadi Liakhovetskib3b50202010-07-26 12:13:34 -030010struct device;
Guennadi Liakhovetski6b526fe2011-07-01 11:19:58 -030011struct resource;
12
13struct sh_mobile_ceu_companion {
14 u32 num_resources;
15 struct resource *resource;
16 int id;
17 void *platform_data;
18};
Guennadi Liakhovetskib3b50202010-07-26 12:13:34 -030019
Magnus Damm0d3244d2008-07-16 22:59:28 -030020struct sh_mobile_ceu_info {
Kuninori Morimotoc354b402009-02-23 12:12:58 -030021 unsigned long flags;
Guennadi Liakhovetski48e971c2012-03-14 08:37:03 -030022 int max_width;
23 int max_height;
Guennadi Liakhovetski6b526fe2011-07-01 11:19:58 -030024 struct sh_mobile_ceu_companion *csi2;
Guennadi Liakhovetski676d2d42013-01-03 15:06:35 -030025 struct v4l2_async_subdev **asd; /* Flat array, arranged in groups */
Guennadi Liakhovetskif687f322013-06-24 05:19:19 -030026 unsigned int *asd_sizes; /* 0-terminated array pf asd group sizes */
Magnus Damm0d3244d2008-07-16 22:59:28 -030027};
28
29#endif /* __ASM_SH_MOBILE_CEU_H__ */