linux/drivers/staging/media/starfive/camss/stf-capture.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * stf_capture.h
 *
 * Starfive Camera Subsystem driver
 *
 * Copyright (C) 2021-2023 StarFive Technology Co., Ltd.
 */

#ifndef STF_CAPTURE_H
#define STF_CAPTURE_H

#include "stf-video.h"

#define VIN_CHANNEL_SEL_EN
#define VIN_START_ADDR_N
#define VIN_INRT_PIX_CFG
#define VIN_START_ADDR_O
#define VIN_CFG_REG

#define U0_VIN_CNFG_AXI_DVP_EN

#define U0_VIN_CHANNEL_SEL_MASK
#define U0_VIN_AXIWR0_EN
#define CHANNEL(x)

#define U0_VIN_INTR_CLEAN
#define U0_VIN_INTR_M
#define U0_VIN_PIX_CNT_END_MASK
#define U0_VIN_PIX_CT_MASK
#define U0_VIN_PIXEL_HEIGH_BIT_SEL_MAKS

#define PIX_CNT_END(x)
#define PIX_CT(x)
#define PIXEL_HEIGH_BIT_SEL(x)

#define U0_VIN_CNFG_DVP_HS_POS
#define U0_VIN_CNFG_DVP_SWAP_EN
#define U0_VIN_CNFG_DVP_VS_POS
#define U0_VIN_CNFG_GEN_EN_AXIRD
#define U0_VIN_CNFG_ISP_DVP_EN0
#define U0_VIN_MIPI_BYTE_EN_ISP0(n)
#define U0_VIN_MIPI_CHANNEL_SEL0(n)
#define U0_VIN_P_I_MIPI_HAEDER_EN0(n)
#define U0_VIN_PIX_NUM(n)
#define U0_VIN_MIPI_BYTE_EN_ISP0_MASK
#define U0_VIN_MIPI_CHANNEL_SEL0_MASK
#define U0_VIN_P_I_MIPI_HAEDER_EN0_MASK
#define U0_VIN_PIX_NUM_MASK

enum stf_v_state {};

struct stf_v_buf {};

struct stf_capture {};

irqreturn_t stf_wr_irq_handler(int irq, void *priv);
irqreturn_t stf_isp_irq_handler(int irq, void *priv);
irqreturn_t stf_line_irq_handler(int irq, void *priv);
int stf_capture_register(struct stfcamss *stfcamss,
			 struct v4l2_device *v4l2_dev);
void stf_capture_unregister(struct stfcamss *stfcamss);

#endif