From 9999e48639b3cecb08ffb37358bcba3b48161b29 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 10 May 2024 08:50:17 +0000
Subject: [PATCH] add ax88772_rst

---
 kernel/drivers/media/platform/rockchip/isp/common.h |   41 ++++++++++++++++++++++++++++-------------
 1 files changed, 28 insertions(+), 13 deletions(-)

diff --git a/kernel/drivers/media/platform/rockchip/isp/common.h b/kernel/drivers/media/platform/rockchip/isp/common.h
index d86c764..ebd4095 100644
--- a/kernel/drivers/media/platform/rockchip/isp/common.h
+++ b/kernel/drivers/media/platform/rockchip/isp/common.h
@@ -38,7 +38,9 @@
 #include <linux/clk.h>
 #include <linux/media.h>
 #include <linux/mutex.h>
+#include <linux/rk-video-format.h>
 #include <linux/slab.h>
+#include <linux/soc/rockchip/rk_sdmmc.h>
 #include <media/media-device.h>
 #include <media/media-entity.h>
 #include <media/v4l2-ctrls.h>
@@ -49,14 +51,6 @@
 
 #define RKISP_DEFAULT_WIDTH		800
 #define RKISP_DEFAULT_HEIGHT		600
-
-#define RKISP_MAX_STREAM		6
-#define RKISP_STREAM_MP			0
-#define RKISP_STREAM_SP			1
-#define RKISP_STREAM_DMATX0		2
-#define RKISP_STREAM_DMATX1		3
-#define RKISP_STREAM_DMATX2		4
-#define RKISP_STREAM_DMATX3		5
 
 #define RKISP_PLANE_Y			0
 #define RKISP_PLANE_CB			1
@@ -78,6 +72,9 @@
 	ISP_V13 = 0x30,
 	ISP_V20 = 0x40,
 	ISP_V21 = 0x50,
+	ISP_V30 = 0x60,
+	ISP_V32 = 0x70,
+	ISP_V32_L = 0x80,
 };
 
 enum rkisp_sd_type {
@@ -103,6 +100,7 @@
 	FMT_FBCGAIN,
 	FMT_EBD,
 	FMT_SPD,
+	FMT_FBC,
 	FMT_MAX
 };
 
@@ -116,11 +114,10 @@
 struct rkisp_buffer {
 	struct vb2_v4l2_buffer vb;
 	struct list_head queue;
+	void *vaddr[VIDEO_MAX_PLANES];
+	u32 buff_addr[VIDEO_MAX_PLANES];
 	int dev_id;
-	union {
-		u32 buff_addr[VIDEO_MAX_PLANES];
-		void *vaddr[VIDEO_MAX_PLANES];
-	};
+	void *other;
 };
 
 struct rkisp_dummy_buffer {
@@ -139,6 +136,7 @@
 
 extern int rkisp_debug;
 extern bool rkisp_monitor;
+extern bool rkisp_irq_dbg;
 extern u64 rkisp_debug_reg;
 extern struct platform_driver rkisp_plat_drv;
 
@@ -167,9 +165,25 @@
 
 void rkisp_write(struct rkisp_device *dev, u32 reg, u32 val, bool is_direct);
 u32 rkisp_read(struct rkisp_device *dev, u32 reg, bool is_direct);
-u32 rkisp_read_reg_cache(struct rkisp_device *dev, u32 reg);
 void rkisp_set_bits(struct rkisp_device *dev, u32 reg, u32 mask, u32 val, bool is_direct);
 void rkisp_clear_bits(struct rkisp_device *dev, u32 reg, u32 mask, bool is_direct);
+
+void rkisp_write_reg_cache(struct rkisp_device *dev, u32 reg, u32 val);
+u32 rkisp_read_reg_cache(struct rkisp_device *dev, u32 reg);
+void rkisp_set_reg_cache_bits(struct rkisp_device *dev, u32 reg, u32 mask, u32 val);
+void rkisp_clear_reg_cache_bits(struct rkisp_device *dev, u32 reg, u32 mask);
+
+/* for dual isp, config for next isp reg */
+void rkisp_next_write(struct rkisp_device *dev, u32 reg, u32 val, bool is_direct);
+u32 rkisp_next_read(struct rkisp_device *dev, u32 reg, bool is_direct);
+void rkisp_next_set_bits(struct rkisp_device *dev, u32 reg, u32 mask, u32 val, bool is_direct);
+void rkisp_next_clear_bits(struct rkisp_device *dev, u32 reg, u32 mask, bool is_direct);
+
+void rkisp_next_write_reg_cache(struct rkisp_device *dev, u32 reg, u32 val);
+u32 rkisp_next_read_reg_cache(struct rkisp_device *dev, u32 reg);
+void rkisp_next_set_reg_cache_bits(struct rkisp_device *dev, u32 reg, u32 mask, u32 val);
+void rkisp_next_clear_reg_cache_bits(struct rkisp_device *dev, u32 reg, u32 mask);
+
 void rkisp_update_regs(struct rkisp_device *dev, u32 start, u32 end);
 
 int rkisp_alloc_buffer(struct rkisp_device *dev, struct rkisp_dummy_buffer *buf);
@@ -182,4 +196,5 @@
 void rkisp_free_common_dummy_buf(struct rkisp_device *dev);
 
 void rkisp_set_clk_rate(struct clk *clk, unsigned long rate);
+u64 rkisp_time_get_ns(struct rkisp_device *dev);
 #endif /* _RKISP_COMMON_H */

--
Gitblit v1.6.2