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