blob: 555f0ecc0fde7e19246965305ec065c76644a5bb [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Magnus Damm0d3244d2008-07-16 22:59:28 -03002#ifndef __ASM_SH_MOBILE_CEU_H__
3#define __ASM_SH_MOBILE_CEU_H__
4
Kuninori Morimotoc354b402009-02-23 12:12:58 -03005#define SH_CEU_FLAG_USE_8BIT_BUS (1 << 0) /* use 8bit bus width */
6#define SH_CEU_FLAG_USE_16BIT_BUS (1 << 1) /* use 16bit bus width */
Kuninori Morimoto85dc1cf2009-12-11 11:53:54 -03007#define SH_CEU_FLAG_HSYNC_LOW (1 << 2) /* default High if possible */
8#define SH_CEU_FLAG_VSYNC_LOW (1 << 3) /* default High if possible */
Kuninori Morimoto2564f672012-05-08 00:00:07 -03009#define SH_CEU_FLAG_LOWER_8BIT (1 << 4) /* default upper 8bit */
Magnus Damm0d3244d2008-07-16 22:59:28 -030010
Guennadi Liakhovetskib3b50202010-07-26 12:13:34 -030011struct device;
Guennadi Liakhovetski6b526fe2011-07-01 11:19:58 -030012struct resource;
13
14struct sh_mobile_ceu_companion {
15 u32 num_resources;
16 struct resource *resource;
17 int id;
18 void *platform_data;
19};
Guennadi Liakhovetskib3b50202010-07-26 12:13:34 -030020
Magnus Damm0d3244d2008-07-16 22:59:28 -030021struct sh_mobile_ceu_info {
Kuninori Morimotoc354b402009-02-23 12:12:58 -030022 unsigned long flags;
Guennadi Liakhovetski48e971c2012-03-14 08:37:03 -030023 int max_width;
24 int max_height;
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__ */