hc
2024-01-05 071106ecf68c401173c58808b1cf5f68cc50d390
kernel/include/uapi/linux/rk-camera-module.h
....@@ -58,6 +58,7 @@
5858 RKMODULE_CAMERA_BT656_CHANNEL_3)
5959
6060 #define DPHY_MAX_LANE 4
61
+#define RKMODULE_MULTI_DEV_NUM 4
6162
6263 #define RKMODULE_GET_MODULE_INFO \
6364 _IOR('V', BASE_VIDIOC_PRIVATE + 0, struct rkmodule_inf)
....@@ -175,6 +176,15 @@
175176
176177 #define RKMODULE_SET_GROUP_ID \
177178 _IOW('V', BASE_VIDIOC_PRIVATE + 38, __u32)
179
+
180
+#define RKMODULE_GET_CAPTURE_MODE \
181
+ _IOR('V', BASE_VIDIOC_PRIVATE + 39, struct rkmodule_capture_info)
182
+
183
+#define RKMODULE_SET_CAPTURE_MODE \
184
+ _IOW('V', BASE_VIDIOC_PRIVATE + 40, struct rkmodule_capture_info)
185
+
186
+#define RKMODULE_GET_SKIP_FRAME \
187
+ _IOR('V', BASE_VIDIOC_PRIVATE + 41, __u32)
178188
179189 struct rkmodule_i2cdev_info {
180190 __u8 slave_addr;
....@@ -319,6 +329,7 @@
319329 __u32 dccmap_height;
320330 __u32 dcc_mode;
321331 __u32 dcc_dir;
332
+ __u32 pd_offset;
322333 __u16 gainmap[RKMODULE_PADF_GAINMAP_LEN];
323334 __u16 dccmap[RKMODULE_PDAF_DCCMAP_LEN];
324335 } __attribute__ ((packed));
....@@ -630,6 +641,7 @@
630641 RKICF_RESET_SRC_ERR_CUTOFF,
631642 RKCIF_RESET_SRC_ERR_HOTPLUG,
632643 RKCIF_RESET_SRC_ERR_APP,
644
+ RKCIF_RESET_SRC_ERR_ISP,
633645 };
634646
635647 struct rkmodule_vicap_reset_info {
....@@ -766,4 +778,39 @@
766778 struct rkmodule_sensor_fmt sensor_fmt[RKMODULE_MAX_SENSOR_NUM];
767779 };
768780
781
+enum rkmodule_capture_mode {
782
+ RKMODULE_CAPTURE_MODE_NONE = 0,
783
+ RKMODULE_MULTI_DEV_COMBINE_ONE,
784
+ RKMODULE_ONE_CH_TO_MULTI_ISP,
785
+ RKMODULE_MULTI_CH_TO_MULTI_ISP,
786
+ RKMODULE_MULTI_CH_COMBINE_SQUARE,
787
+};
788
+
789
+struct rkmodule_multi_dev_info {
790
+ __u32 dev_idx[RKMODULE_MULTI_DEV_NUM];
791
+ __u32 combine_idx[RKMODULE_MULTI_DEV_NUM];
792
+ __u32 pixel_offset;
793
+ __u32 dev_num;
794
+ __u32 reserved[8];
795
+};
796
+
797
+struct rkmodule_one_to_multi_info {
798
+ __u32 isp_num;
799
+ __u32 frame_pattern[RKMODULE_MULTI_DEV_NUM];
800
+};
801
+
802
+struct rkmodule_multi_combine_info {
803
+ __u32 combine_num;
804
+ __u32 combine_index[RKMODULE_MULTI_DEV_NUM];
805
+};
806
+
807
+struct rkmodule_capture_info {
808
+ __u32 mode;
809
+ union {
810
+ struct rkmodule_multi_dev_info multi_dev;
811
+ struct rkmodule_one_to_multi_info one_to_multi;
812
+ struct rkmodule_multi_combine_info multi_combine_info;
813
+ };
814
+};
815
+
769816 #endif /* _UAPI_RKMODULE_CAMERA_H */