linux/drivers/staging/media/omap4iss/iss_csi2.h

/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * TI OMAP4 ISS V4L2 Driver - CSI2 module
 *
 * Copyright (C) 2012 Texas Instruments, Inc.
 *
 * Author: Sergio Aguirre <[email protected]>
 */

#ifndef OMAP4_ISS_CSI2_H
#define OMAP4_ISS_CSI2_H

#include <linux/types.h>
#include <linux/videodev2.h>

#include "iss_video.h"

struct iss_csiphy;

/* This is not an exhaustive list */
enum iss_csi2_pix_formats {};

enum iss_csi2_irqevents {};

enum iss_csi2_ctx_irqevents {};

enum iss_csi2_frame_mode {};

#define ISS_CSI2_MAX_CTX_NUM

struct iss_csi2_ctx_cfg {};

struct iss_csi2_timing_cfg {};

struct iss_csi2_ctrl_cfg {};

#define CSI2_PAD_SINK
#define CSI2_PAD_SOURCE
#define CSI2_PADS_NUM

#define CSI2_OUTPUT_IPIPEIF
#define CSI2_OUTPUT_MEMORY

struct iss_csi2_device {};

void omap4iss_csi2_isr(struct iss_csi2_device *csi2);
int omap4iss_csi2_reset(struct iss_csi2_device *csi2);
int omap4iss_csi2_init(struct iss_device *iss);
int omap4iss_csi2_create_links(struct iss_device *iss);
void omap4iss_csi2_cleanup(struct iss_device *iss);
void omap4iss_csi2_unregister_entities(struct iss_csi2_device *csi2);
int omap4iss_csi2_register_entities(struct iss_csi2_device *csi2,
				    struct v4l2_device *vdev);
#endif	/* OMAP4_ISS_CSI2_H */