• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * mx3_camera.h - i.MX3x camera driver header file
4  *
5  * Copyright (C) 2008, Guennadi Liakhovetski, DENX Software Engineering, <lg@denx.de>
6  */
7 
8 #ifndef _MX3_CAMERA_H_
9 #define _MX3_CAMERA_H_
10 
11 #include <linux/device.h>
12 
13 #define MX3_CAMERA_CLK_SRC	1
14 #define MX3_CAMERA_EXT_VSYNC	2
15 #define MX3_CAMERA_DP		4
16 #define MX3_CAMERA_PCP		8
17 #define MX3_CAMERA_HSP		0x10
18 #define MX3_CAMERA_VSP		0x20
19 #define MX3_CAMERA_DATAWIDTH_4	0x40
20 #define MX3_CAMERA_DATAWIDTH_8	0x80
21 #define MX3_CAMERA_DATAWIDTH_10	0x100
22 #define MX3_CAMERA_DATAWIDTH_15	0x200
23 
24 #define MX3_CAMERA_DATAWIDTH_MASK (MX3_CAMERA_DATAWIDTH_4 | MX3_CAMERA_DATAWIDTH_8 | \
25 				   MX3_CAMERA_DATAWIDTH_10 | MX3_CAMERA_DATAWIDTH_15)
26 
27 struct v4l2_async_subdev;
28 
29 /**
30  * struct mx3_camera_pdata - i.MX3x camera platform data
31  * @flags:	MX3_CAMERA_* flags
32  * @mclk_10khz:	master clock frequency in 10kHz units
33  * @dma_dev:	IPU DMA device to match against in channel allocation
34  */
35 struct mx3_camera_pdata {
36 	unsigned long flags;
37 	unsigned long mclk_10khz;
38 	struct device *dma_dev;
39 	struct v4l2_async_subdev **asd;	/* Flat array, arranged in groups */
40 	int *asd_sizes;			/* 0-terminated array of asd group sizes */
41 };
42 
43 #endif
44