blob: 781c004e5596275feb9f64bb5f215350da569a5c [file] [log] [blame]
Thomas Gleixnerc942fdd2019-05-27 08:55:06 +02001/* SPDX-License-Identifier: GPL-2.0-or-later */
Guennadi Liakhovetski4f671302009-02-23 12:13:24 -03002/*
3 * mx3_camera.h - i.MX3x camera driver header file
4 *
5 * Copyright (C) 2008, Guennadi Liakhovetski, DENX Software Engineering, <lg@denx.de>
Guennadi Liakhovetski4f671302009-02-23 12:13:24 -03006 */
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
Guennadi Liakhovetski4dbfd0402013-07-30 02:59:49 -030027struct v4l2_async_subdev;
28
Guennadi Liakhovetski4f671302009-02-23 12:13:24 -030029/**
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 */
35struct mx3_camera_pdata {
36 unsigned long flags;
37 unsigned long mclk_10khz;
38 struct device *dma_dev;
Guennadi Liakhovetski4dbfd0402013-07-30 02:59:49 -030039 struct v4l2_async_subdev **asd; /* Flat array, arranged in groups */
40 int *asd_sizes; /* 0-terminated array of asd group sizes */
Guennadi Liakhovetski4f671302009-02-23 12:13:24 -030041};
42
43#endif