1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * s3c24xx/s3c64xx SoC series Camera Interface (CAMIF) driver
4 *
5 * Copyright (C) 2012 Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
6*/
7
8#ifndef MEDIA_S3C_CAMIF_
9#define MEDIA_S3C_CAMIF_
10
11#include <linux/i2c.h>
12#include <media/v4l2-mediabus.h>
13
14/**
15 * struct s3c_camif_sensor_info - an image sensor description
16 * @i2c_board_info: pointer to an I2C sensor subdevice board info
17 * @clock_frequency: frequency of the clock the host provides to a sensor
18 * @mbus_type: media bus type
19 * @i2c_bus_num: i2c control bus id the sensor is attached to
20 * @flags: the parallel bus flags defining signals polarity (V4L2_MBUS_*)
21 * @use_field: 1 if parallel bus FIELD signal is used (only s3c64xx)
22 */
23struct s3c_camif_sensor_info {
24	struct i2c_board_info i2c_board_info;
25	unsigned long clock_frequency;
26	enum v4l2_mbus_type mbus_type;
27	u16 i2c_bus_num;
28	u16 flags;
29	u8 use_field;
30};
31
32struct s3c_camif_plat_data {
33	struct s3c_camif_sensor_info sensor;
34	int (*gpio_get)(void);
35	int (*gpio_put)(void);
36};
37
38#endif /* MEDIA_S3C_CAMIF_ */
39