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