brintos

brintos / linux-shallow public Read only

0
0
Text · 1.9 KiB · 03e6af3 Raw
86 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * ispccp2.h4 *5 * TI OMAP3 ISP - CCP2 module6 *7 * Copyright (C) 2010 Nokia Corporation8 * Copyright (C) 2010 Texas Instruments, Inc.9 *10 * Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>11 *	     Sakari Ailus <sakari.ailus@iki.fi>12 */13 14#ifndef OMAP3_ISP_CCP2_H15#define OMAP3_ISP_CCP2_H16 17#include <linux/videodev2.h>18 19struct isp_device;20struct isp_csiphy;21 22/* Sink and source ccp2 pads */23#define CCP2_PAD_SINK			024#define CCP2_PAD_SOURCE			125#define CCP2_PADS_NUM			226 27/* CCP2 input media entity */28enum ccp2_input_entity {29	CCP2_INPUT_NONE,30	CCP2_INPUT_SENSOR,31	CCP2_INPUT_MEMORY,32};33 34/* CCP2 output media entity */35enum ccp2_output_entity {36	CCP2_OUTPUT_NONE,37	CCP2_OUTPUT_CCDC,38	CCP2_OUTPUT_MEMORY,39};40 41 42/* Logical channel configuration */43struct isp_interface_lcx_config {44	int crc;45	u32 data_start;46	u32 data_size;47	u32 format;48};49 50/* Memory channel configuration */51struct isp_interface_mem_config {52	u32 dst_port;53	u32 vsize_count;54	u32 hsize_count;55	u32 src_ofst;56	u32 dst_ofst;57};58 59/* CCP2 device */60struct isp_ccp2_device {61	struct v4l2_subdev subdev;62	struct v4l2_mbus_framefmt formats[CCP2_PADS_NUM];63	struct media_pad pads[CCP2_PADS_NUM];64 65	enum ccp2_input_entity input;66	enum ccp2_output_entity output;67	struct isp_interface_lcx_config if_cfg;68	struct isp_interface_mem_config mem_cfg;69	struct isp_video video_in;70	struct isp_csiphy *phy;71	struct regulator *vdds_csib;72	enum isp_pipeline_stream_state state;73	wait_queue_head_t wait;74	atomic_t stopping;75};76 77/* Function declarations */78int omap3isp_ccp2_init(struct isp_device *isp);79void omap3isp_ccp2_cleanup(struct isp_device *isp);80int omap3isp_ccp2_register_entities(struct isp_ccp2_device *ccp2,81			struct v4l2_device *vdev);82void omap3isp_ccp2_unregister_entities(struct isp_ccp2_device *ccp2);83void omap3isp_ccp2_isr(struct isp_ccp2_device *ccp2);84 85#endif	/* OMAP3_ISP_CCP2_H */86