From 071106ecf68c401173c58808b1cf5f68cc50d390 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Fri, 05 Jan 2024 08:39:27 +0000 Subject: [PATCH] change wifi driver to cypress --- kernel/include/uapi/linux/rk-camera-module.h | 107 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 92 insertions(+), 15 deletions(-) diff --git a/kernel/include/uapi/linux/rk-camera-module.h b/kernel/include/uapi/linux/rk-camera-module.h index 2611a14..d25977d 100644 --- a/kernel/include/uapi/linux/rk-camera-module.h +++ b/kernel/include/uapi/linux/rk-camera-module.h @@ -8,11 +8,12 @@ #define _UAPI_RKMODULE_CAMERA_H #include <linux/types.h> +#include <linux/rk-video-format.h> #define RKMODULE_API_VERSION KERNEL_VERSION(0, 1, 0x2) /* using for rk3588 dual isp unite */ -#define RKMOUDLE_UNITE_EXTEND_PIXEL 32 +#define RKMOUDLE_UNITE_EXTEND_PIXEL 128 /* using for rv1109 and rv1126 */ #define RKMODULE_EXTEND_LINE 24 @@ -57,6 +58,7 @@ RKMODULE_CAMERA_BT656_CHANNEL_3) #define DPHY_MAX_LANE 4 +#define RKMODULE_MULTI_DEV_NUM 4 #define RKMODULE_GET_MODULE_INFO \ _IOR('V', BASE_VIDIOC_PRIVATE + 0, struct rkmodule_inf) @@ -169,14 +171,29 @@ #define RKMODULE_GET_READOUT_LINE_CNT_PER_LINE \ _IOR('V', BASE_VIDIOC_PRIVATE + 36, __u32) +#define RKMODULE_GET_GROUP_ID \ + _IOR('V', BASE_VIDIOC_PRIVATE + 37, __u32) + +#define RKMODULE_SET_GROUP_ID \ + _IOW('V', BASE_VIDIOC_PRIVATE + 38, __u32) + +#define RKMODULE_GET_CAPTURE_MODE \ + _IOR('V', BASE_VIDIOC_PRIVATE + 39, struct rkmodule_capture_info) + +#define RKMODULE_SET_CAPTURE_MODE \ + _IOW('V', BASE_VIDIOC_PRIVATE + 40, struct rkmodule_capture_info) + +#define RKMODULE_GET_SKIP_FRAME \ + _IOR('V', BASE_VIDIOC_PRIVATE + 41, __u32) + struct rkmodule_i2cdev_info { - u8 slave_addr; + __u8 slave_addr; } __attribute__ ((packed)); struct rkmodule_dev_info { union { struct rkmodule_i2cdev_info i2c_dev; - u32 reserved[8]; + __u32 reserved[8]; }; } __attribute__ ((packed)); @@ -312,6 +329,7 @@ __u32 dccmap_height; __u32 dcc_mode; __u32 dcc_dir; + __u32 pd_offset; __u16 gainmap[RKMODULE_PADF_GAINMAP_LEN]; __u16 dccmap[RKMODULE_PDAF_DCCMAP_LEN]; } __attribute__ ((packed)); @@ -623,6 +641,7 @@ RKICF_RESET_SRC_ERR_CUTOFF, RKCIF_RESET_SRC_ERR_HOTPLUG, RKCIF_RESET_SRC_ERR_APP, + RKCIF_RESET_SRC_ERR_ISP, }; struct rkmodule_vicap_reset_info { @@ -653,6 +672,29 @@ } __attribute__ ((packed)); /* + * link to vicap + * linear mode: pad0~pad3 for id0~id3; + * + * HDR_X2: id0 fiexd to vc0 for long frame + * id1 fixed to vc1 for short frame; + * id2~id3 reserved, can config by PAD2~PAD3 + * + * HDR_X3: id0 fiexd to vc0 for long frame + * id1 fixed to vc1 for middle frame + * id2 fixed to vc2 for short frame; + * id3 reserved, can config by PAD3 + * + * link to isp, the connection relationship is as follows + */ +enum rkmodule_max_pad { + PAD0, /* link to isp */ + PAD1, /* link to csi wr0 | hdr x2:L x3:M */ + PAD2, /* link to csi wr1 | hdr x3:L */ + PAD3, /* link to csi wr2 | hdr x2:M x3:S */ + PAD_MAX, +}; + +/* * sensor exposure sync mode */ enum rkmodule_sync_mode { @@ -663,10 +705,10 @@ }; struct rkmodule_mclk_data { - u32 enable; - u32 mclk_index; - u32 mclk_rate; - u32 reserved[8]; + __u32 enable; + __u32 mclk_index; + __u32 mclk_rate; + __u32 reserved[8]; }; /* @@ -716,14 +758,14 @@ }; struct rkmodule_csi_dphy_param { - u32 vendor; - u32 lp_vol_ref; - u32 lp_hys_sw[DPHY_MAX_LANE]; - u32 lp_escclk_pol_sel[DPHY_MAX_LANE]; - u32 skew_data_cal_clk[DPHY_MAX_LANE]; - u32 clk_hs_term_sel; - u32 data_hs_term_sel[DPHY_MAX_LANE]; - u32 reserved[32]; + __u32 vendor; + __u32 lp_vol_ref; + __u32 lp_hys_sw[DPHY_MAX_LANE]; + __u32 lp_escclk_pol_sel[DPHY_MAX_LANE]; + __u32 skew_data_cal_clk[DPHY_MAX_LANE]; + __u32 clk_hs_term_sel; + __u32 data_hs_term_sel[DPHY_MAX_LANE]; + __u32 reserved[32]; }; struct rkmodule_sensor_fmt { @@ -736,4 +778,39 @@ struct rkmodule_sensor_fmt sensor_fmt[RKMODULE_MAX_SENSOR_NUM]; }; +enum rkmodule_capture_mode { + RKMODULE_CAPTURE_MODE_NONE = 0, + RKMODULE_MULTI_DEV_COMBINE_ONE, + RKMODULE_ONE_CH_TO_MULTI_ISP, + RKMODULE_MULTI_CH_TO_MULTI_ISP, + RKMODULE_MULTI_CH_COMBINE_SQUARE, +}; + +struct rkmodule_multi_dev_info { + __u32 dev_idx[RKMODULE_MULTI_DEV_NUM]; + __u32 combine_idx[RKMODULE_MULTI_DEV_NUM]; + __u32 pixel_offset; + __u32 dev_num; + __u32 reserved[8]; +}; + +struct rkmodule_one_to_multi_info { + __u32 isp_num; + __u32 frame_pattern[RKMODULE_MULTI_DEV_NUM]; +}; + +struct rkmodule_multi_combine_info { + __u32 combine_num; + __u32 combine_index[RKMODULE_MULTI_DEV_NUM]; +}; + +struct rkmodule_capture_info { + __u32 mode; + union { + struct rkmodule_multi_dev_info multi_dev; + struct rkmodule_one_to_multi_info one_to_multi; + struct rkmodule_multi_combine_info multi_combine_info; + }; +}; + #endif /* _UAPI_RKMODULE_CAMERA_H */ -- Gitblit v1.6.2