linux/include/media/drv-intf/exynos-fimc.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Samsung S5P/Exynos4 SoC series camera interface driver header
 *
 * Copyright (C) 2010 - 2013 Samsung Electronics Co., Ltd.
 * Sylwester Nawrocki <[email protected]>
 */

#ifndef S5P_FIMC_H_
#define S5P_FIMC_H_

#include <media/media-entity.h>
#include <media/v4l2-dev.h>
#include <media/v4l2-mediabus.h>

/*
 * Enumeration of data inputs to the camera subsystem.
 */
enum fimc_input {};

/*
 * Enumeration of the FIMC data bus types.
 */
enum fimc_bus_type {};

#define fimc_input_is_parallel(x)
#define fimc_input_is_mipi_csi(x)

/*
 * The subdevices' group IDs.
 */
#define GRP_ID_SENSOR
#define GRP_ID_FIMC_IS_SENSOR
#define GRP_ID_WRITEBACK
#define GRP_ID_CSIS
#define GRP_ID_FIMC
#define GRP_ID_FLITE
#define GRP_ID_FIMC_IS

/**
 * struct fimc_source_info - video source description required for the host
 *			     interface configuration
 *
 * @fimc_bus_type: FIMC camera input type
 * @sensor_bus_type: image sensor bus type, MIPI, ITU-R BT.601 etc.
 * @flags: the parallel sensor bus flags defining signals polarity (V4L2_MBUS_*)
 * @mux_id: FIMC camera interface multiplexer index (separate for MIPI and ITU)
 */
struct fimc_source_info {};

/*
 * v4l2_device notification id. This is only for internal use in the kernel.
 * Sensor subdevs should issue S5P_FIMC_TX_END_NOTIFY notification in single
 * frame capture mode when there is only one VSYNC pulse issued by the sensor
 * at beginning of the frame transmission.
 */
#define S5P_FIMC_TX_END_NOTIFY

#define FIMC_MAX_PLANES

/**
 * struct fimc_fmt - color format data structure
 * @mbus_code: media bus pixel code, -1 if not applicable
 * @fourcc: fourcc code for this format, 0 if not applicable
 * @color: the driver's private color format id
 * @memplanes: number of physically non-contiguous data planes
 * @colplanes: number of physically contiguous data planes
 * @colorspace: v4l2 colorspace (V4L2_COLORSPACE_*)
 * @depth: per plane driver's private 'number of bits per pixel'
 * @mdataplanes: bitmask indicating meta data plane(s), (1 << plane_no)
 * @flags: flags indicating which operation mode format applies to
 */
struct fimc_fmt {};

struct exynos_media_pipeline;

/*
 * Media pipeline operations to be called from within a video node,  i.e. the
 * last entity within the pipeline. Implemented by related media device driver.
 */
struct exynos_media_pipeline_ops {};

struct exynos_video_entity {};

struct exynos_media_pipeline {};

static inline struct exynos_video_entity *vdev_to_exynos_video_entity(
					struct video_device *vdev)
{}

#define fimc_pipeline_call(ent, op, args...)	  \

#endif /* S5P_FIMC_H_ */