/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (C) 2021-2023 Digiteq Automotive
 *     author: Martin Tuma <martin.tuma@digiteqautomotive.com>
 */

#ifndef __MGB4_VOUT_H__
#define __MGB4_VOUT_H__

#include <media/v4l2-device.h>
#include <media/v4l2-dev.h>
#include <media/v4l2-ctrls.h>
#include <media/videobuf2-core.h>
#include <linux/debugfs.h>
#include "mgb4_i2c.h"

struct mgb4_vout_regs {
	u32 address;
	u32 config;
	u32 status;
	u32 resolution;
	u32 frame_period;
	u32 hsync;
	u32 vsync;
	u32 padding;
};

struct mgb4_vout_config {
	int id;
	int dma_channel;
	int irq;
	struct mgb4_vout_regs regs;
};

struct mgb4_vout_dev {
	struct mgb4_dev *mgbdev;
	struct v4l2_device v4l2dev;
	struct video_device vdev;
	struct vb2_queue queue;
	struct mutex lock; /* vdev lock */

	spinlock_t qlock; /* buffer queue lock */
	struct list_head buf_list;
	struct work_struct dma_work;

	u32 width;
	u32 height;
	u32 freq;
	u32 padding;

	struct mgb4_i2c_client ser;

	const struct mgb4_vout_config *config;

#ifdef CONFIG_DEBUG_FS
	struct dentry *debugfs;
	struct debugfs_regset32 regset;
	struct debugfs_reg32 regs[7];
#endif
};

struct mgb4_vout_dev *mgb4_vout_create(struct mgb4_dev *mgbdev, int id);
void mgb4_vout_free(struct mgb4_vout_dev *voutdev);

#endif
