From 151fecfb72a0d602dfe79790602ef64b4e241574 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Mon, 19 Feb 2024 01:51:07 +0000
Subject: [PATCH] export RK_PA3
---
kernel/include/uapi/linux/rkcif-config.h | 51 +++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 45 insertions(+), 6 deletions(-)
diff --git a/kernel/include/uapi/linux/rkcif-config.h b/kernel/include/uapi/linux/rkcif-config.h
index 8002e46..c9b9bbf 100644
--- a/kernel/include/uapi/linux/rkcif-config.h
+++ b/kernel/include/uapi/linux/rkcif-config.h
@@ -9,7 +9,11 @@
#include <linux/types.h>
#include <linux/v4l2-controls.h>
-#define RKCIF_API_VERSION KERNEL_VERSION(0, 1, 0xa)
+#define RKCIF_MAX_CSI_NUM 4
+
+#define RKCIF_API_VERSION KERNEL_VERSION(0, 2, 0)
+
+#define V4L2_EVENT_RESET_DEV 0X1001
#define RKCIF_CMD_GET_CSI_MEMORY_MODE \
_IOR('V', BASE_VIDIOC_PRIVATE + 0, int)
@@ -17,11 +21,23 @@
#define RKCIF_CMD_SET_CSI_MEMORY_MODE \
_IOW('V', BASE_VIDIOC_PRIVATE + 1, int)
-#define RKCIF_CMD_GET_RESET_INFO \
- _IOR('V', BASE_VIDIOC_PRIVATE + 5, struct rkcif_reset_info)
+#define RKCIF_CMD_GET_SCALE_BLC \
+ _IOR('V', BASE_VIDIOC_PRIVATE + 2, struct bayer_blc)
+
+#define RKCIF_CMD_SET_SCALE_BLC \
+ _IOW('V', BASE_VIDIOC_PRIVATE + 3, struct bayer_blc)
+
+#define RKCIF_CMD_SET_FPS \
+ _IOW('V', BASE_VIDIOC_PRIVATE + 4, struct rkcif_fps)
#define RKCIF_CMD_SET_RESET \
_IOW('V', BASE_VIDIOC_PRIVATE + 6, int)
+
+#define RKCIF_CMD_SET_CSI_IDX \
+ _IOW('V', BASE_VIDIOC_PRIVATE + 7, struct rkcif_csi_info)
+
+#define RKCIF_CMD_SET_QUICK_STREAM \
+ _IOWR('V', BASE_VIDIOC_PRIVATE + 8, struct rkcif_quick_stream_param)
/* cif memory mode
* 0: raw12/raw10/raw8 8bit memory compact
@@ -44,9 +60,32 @@
CSI_LVDS_MEM_WORD_HIGH_ALIGN = 2,
};
-struct rkcif_reset_info {
- int is_need_reset;
- int reset_src;
+/* black level for scale image
+ * The sequence of pattern00~03 is the same as the output of sensor bayer
+ */
+
+struct bayer_blc {
+ __u8 pattern00;
+ __u8 pattern01;
+ __u8 pattern02;
+ __u8 pattern03;
+};
+
+struct rkcif_fps {
+ int ch_num;
+ int fps;
+};
+
+struct rkcif_csi_info {
+ int csi_num;
+ int csi_idx[RKCIF_MAX_CSI_NUM];
+ int dphy_vendor[RKCIF_MAX_CSI_NUM];
+};
+
+struct rkcif_quick_stream_param {
+ int on;
+ __u32 frame_num;
+ int resume_mode;
};
#endif
--
Gitblit v1.6.2