Merge commit '5071891c1714b30b39bf79e4e0aa8ac953f4940c'

* commit '5071891c1714b30b39bf79e4e0aa8ac953f4940c': (258 commits)
  arm64: dts: rockchip: rk3562-evb: fix uart_rts_gpios
  drm/rockchip: vop3: update ygt2/4 triger condition for rk3528
  ARM: dts: rockchip: rk3128-evb-ddr3-v10-linux: Fix sdmmc
  ARM: dts: rockchip: rk3128: redefine sdmmc_pwren as GPIO function
  drm/rockchip: dw-dp: Add support for drm_panel usage
  ARM: dts: rockchip: rk312x: Update sdmmc node
  video: rockchip: mpp: fix rkvdec2 link info err
  soc: rockchip: opp_select: Fix restricting voltage error
  arm64: dts: rockchip: rk3528: Set mclkin freq as 0 Hz default
  arm64: dts: rockchip: rk3588: Set mclkin freq as 0 Hz default
  arm64: dts: rockchip: rk3562: Set mclkin freq as 0 Hz default
  drm/rockchip: vop3: add cluster frame reset
  clk: rockchip: rk3528: Allow disable clk_400m_src
  clk: rockchip: rk3128: fix up the sdmmc drv and sample set phase failed
  drm/rockchip: vop2: adjust writeback commit time
  media: rockchip: vicap fixes tasklet error for vb_done
  media: rockchip: vicap: rk3562 add csirx data clk
  arm64: dts: rockchip: rk3562: vicap add csirx data clk control
  arm64: dts: rockchip: rk3528: Add SAIx_MCLK{OUT,IN} nodes
  video: rockchip: mpp: change the way to refresh the dma cache
  ...

Change-Id: I50fef612c158b31c7def89895c13cc3757523be4
This commit is contained in:
Tao Huang
2023-02-22 17:17:48 +08:00
399 changed files with 24593 additions and 2760 deletions

View File

@@ -13,7 +13,7 @@
#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

View File

@@ -34,14 +34,14 @@ enum hdmirx_color_range {
HDMIRX_FULL_RANGE = 2,
};
enum hdmirx_video_standard {
enum hdmirx_color_space {
HDMIRX_XVYCC601 = 0,
HDMIRX_XVYCC709 = 1,
HDMIRX_SYCC601 = 2,
HDMIRX_ADOBE_YCC601 = 3,
HDMIRX_ADOBE_RGB = 4,
HDMIRX_BT2020 = 5,
HDMIRX_BT2020_RGB = 6,
HDMIRX_BT2020_YCC_CONST_LUM = 5,
HDMIRX_BT2020_RGB_OR_YCC = 6,
};
/* Private v4l2 ioctl */

View File

@@ -10,7 +10,7 @@
#include <linux/types.h>
#include <linux/v4l2-controls.h>
#define RKISP_API_VERSION KERNEL_VERSION(2, 0, 0)
#define RKISP_API_VERSION KERNEL_VERSION(2, 1, 0)
/****************ISP SUBDEV IOCTL*****************************/
@@ -96,6 +96,9 @@
#define RKISP_CMD_FREE_TB_STREAM_BUF \
_IO('V', BASE_VIDIOC_PRIVATE + 112)
#define RKISP_CMD_SET_IQTOOL_CONN_ID \
_IOW('V', BASE_VIDIOC_PRIVATE + 113, int)
/*************************************************************/
#define ISP2X_ID_DPCC (0)
@@ -375,6 +378,7 @@ struct rkisp_stream_info {
unsigned int input_frame_loss;
unsigned int output_frame_loss;
unsigned char stream_on;
unsigned char stream_id;
} __attribute__ ((packed));
/* struct rkisp_mirror_flip

View File

@@ -805,6 +805,7 @@ struct isp21_stat {
struct rkisp_isp21_stat_buffer {
unsigned int meas_type;
unsigned int frame_id;
unsigned int params_id;
struct isp21_stat params;
} __attribute__ ((packed));

View File

@@ -1070,6 +1070,7 @@ struct isp3x_stat {
struct rkisp3x_isp_stat_buffer {
u32 meas_type;
u32 frame_id;
u32 params_id;
struct isp3x_stat params;
} __attribute__ ((packed));

View File

@@ -87,6 +87,9 @@
#define ISP32_RAWAWB_WEIGHT_NUM ISP3X_RAWAWB_WEIGHT_NUM
#define ISP32_RAWAWB_SUM_NUM 4
#define ISP32_RAWAWB_RAMDATA_NUM ISP3X_RAWAWB_RAMDATA_NUM
#define ISP32L_RAWAWB_WEIGHT_NUM 5
#define ISP32L_RAWAWB_RAMDATA_RGB_NUM 25
#define ISP32L_RAWAWB_RAMDATA_WP_NUM 13
#define ISP32_RAWAEBIG_SUBWIN_NUM ISP3X_RAWAEBIG_SUBWIN_NUM
#define ISP32_RAWAEBIG_MEAN_NUM ISP3X_RAWAEBIG_MEAN_NUM
@@ -95,6 +98,7 @@
#define ISP32_RAWHISTBIG_SUBWIN_NUM ISP3X_RAWHISTBIG_SUBWIN_NUM
#define ISP32_RAWHISTLITE_SUBWIN_NUM ISP3X_RAWHISTLITE_SUBWIN_NUM
#define ISP32_HIST_BIN_N_MAX ISP3X_HIST_BIN_N_MAX
#define ISP32L_HIST_LITE_BIN_N_MAX 64
#define ISP32_RAWAF_CURVE_NUM ISP3X_RAWAF_CURVE_NUM
#define ISP32_RAWAF_HIIR_COE_NUM ISP3X_RAWAF_HIIR_COE_NUM
@@ -105,6 +109,7 @@
#define ISP32_RAWAF_SUMDATA_NUM ISP3X_RAWAF_SUMDATA_NUM
#define ISP32_RAWAF_VIIR_COE_NUM 3
#define ISP32_RAWAF_GAUS_COE_NUM 9
#define ISP32L_RAWAF_WND_DATA 25
#define ISP32_DPCC_PDAF_POINT_NUM ISP3X_DPCC_PDAF_POINT_NUM
@@ -380,6 +385,11 @@ struct isp32_bay3d_cfg {
u8 higaus3_mode;
u8 higaus5x5_en;
u8 wgtmix_opt_en;
/* for isp32_lite */
u8 wgtmm_opt_en;
u8 wgtmm_sel_en;
/* BAY3D_SIGGAUS */
u8 siggaus0;
u8 siggaus1;
@@ -398,6 +408,10 @@ struct isp32_bay3d_cfg {
u16 sig1_y[ISP32_BAY3D_XY_NUM];
u16 sig2_x[ISP32_BAY3D_XY_NUM];
u16 sig2_y[ISP32_BAY3D_XY_NUM];
/* LODIF_STAT1 for isp32_lite */
u16 wgtmin;
/* BAY3D_HISIGRAT */
u16 hisigrat0;
u16 hisigrat1;
@@ -432,6 +446,9 @@ struct isp32_ynr_cfg {
/* YNR_NLM_COE */
u8 nlm_coe[ISP32_YNR_NLM_COE_NUM];
/* LOWNR_CTRL4 for isp32_lite */
u8 frame_add4line;
u16 global_gain;
/* YNR_RNR_MAX_R */
@@ -539,6 +556,11 @@ struct isp32_sharp_cfg {
u8 exgain_bypass;
u8 radius_ds_mode;
u8 noiseclip_mode;
/* for isp32_lite */
u8 clip_hf_mode;
u8 add_mode;
/* SHARP_RATIO */
u8 sharp_ratio;
u8 bf_ratio;
@@ -582,6 +604,11 @@ struct isp32_sharp_cfg {
/* SHARP_TEXTURE */
u16 noise_sigma;
u16 noise_strength;
/* EHF_TH for isp32_lite */
u16 ehf_th[ISP32_SHARP_Y_NUM];
/* CLIP_NEG for isp32_lite */
u16 clip_neg[ISP32_SHARP_Y_NUM];
} __attribute__ ((packed));
struct isp32_dhaz_cfg {
@@ -861,6 +888,10 @@ struct isp32_rawawb_meas_cfg {
u8 blk_measure_xytype;
u8 blk_rtdw_measure_en;
u8 blk_measure_illu_idx;
/* for isp32_lite */
u8 ds16x8_mode_en;
u8 blk_with_luma_wei_en;
u16 in_overexposure_threshold;
/* RAWAWB_LIMIT_RG_MAX*/
@@ -1138,12 +1169,17 @@ struct isp32_rawawb_meas_cfg {
u32 islope23_3;
u32 islope30_3;
/* WIN_WEIGHT for isp32_lite */
u32 win_weight[ISP32L_RAWAWB_WEIGHT_NUM];
struct isp2x_bls_fixed_val bls2_val;
} __attribute__ ((packed));
struct isp32_rawaf_meas_cfg {
u8 rawaf_sel;
u8 num_afm_win;
/* for isp32_lite */
u8 bnr2af_sel;
/* CTRL */
u8 gamma_en;
u8 gaus_en;
@@ -1164,6 +1200,23 @@ struct isp32_rawaf_meas_cfg {
u8 from_awb;
u8 from_ynr;
u8 ae_config_use;
/* for isp32_lite */
u8 ae_sel;
/* for isp32_lite */
u8 hiir_left_border_mode;
u8 avg_ds_en;
u8 avg_ds_mode;
u8 h1_acc_mode;
u8 h2_acc_mode;
u8 v1_acc_mode;
u8 v2_acc_mode;
/* CTRL1 for isp32_lite */
s16 bls_offset;
u8 bls_en;
u8 hldg_dilate_num;
/* WINA_B */
struct isp2x_window win[ISP32_RAWAF_WIN_NUM];
/* INT_LINE */
@@ -1174,6 +1227,9 @@ struct isp32_rawaf_meas_cfg {
/* VAR_SHIFT */
u8 afm_var_shift[ISP32_RAWAF_WIN_NUM];
u8 lum_var_shift[ISP32_RAWAF_WIN_NUM];
/* for isp32_lite */
u8 tnrin_shift;
/* HVIIR_VAR_SHIFT */
u8 h1iir_var_shift;
u8 h2iir_var_shift;
@@ -1198,6 +1254,13 @@ struct isp32_rawaf_meas_cfg {
s16 v1fir_coe[ISP32_RAWAF_VFIR_COE_NUM];
s16 v2fir_coe[ISP32_RAWAF_VFIR_COE_NUM];
u16 highlit_thresh;
/* CORING_H for isp32_lite */
u16 h_fv_limit;
u16 h_fv_slope;
/* CORING_V for isp32_lite */
u16 v_fv_limit;
u16 v_fv_slope;
} __attribute__ ((packed));
struct isp32_cac_cfg {
@@ -1398,10 +1461,67 @@ struct rkisp32_isp_stat_buffer {
struct isp32_stat params;
u32 meas_type;
u32 frame_id;
u32 params_id;
} __attribute__ ((packed));
struct rkisp32_thunderboot_resmem_head {
struct rkisp_thunderboot_resmem_head head;
struct isp32_isp_params_cfg cfg;
};
/****************isp32 lite********************/
struct isp32_lite_rawaebig_stat {
u32 sumr;
u32 sumg;
u32 sumb;
struct isp2x_rawae_meas_data data[ISP32_RAWAEBIG_MEAN_NUM];
} __attribute__ ((packed));
struct isp32_lite_rawawb_meas_stat {
u32 ramdata_r[ISP32L_RAWAWB_RAMDATA_RGB_NUM];
u32 ramdata_g[ISP32L_RAWAWB_RAMDATA_RGB_NUM];
u32 ramdata_b[ISP32L_RAWAWB_RAMDATA_RGB_NUM];
u32 ramdata_wpnum0[ISP32L_RAWAWB_RAMDATA_WP_NUM];
u32 ramdata_wpnum1[ISP32L_RAWAWB_RAMDATA_WP_NUM];
struct isp32_rawawb_sum sum[ISP32_RAWAWB_SUM_NUM];
u16 yhist_bin[ISP32_RAWAWB_HSTBIN_NUM];
struct isp32_rawawb_sum_exc sum_exc[ISP32_RAWAWB_EXCL_STAT_NUM];
} __attribute__ ((packed));
struct isp32_lite_rawaf_ramdata {
u32 hiir_wnd_data[ISP32L_RAWAF_WND_DATA];
u32 viir_wnd_data[ISP32L_RAWAF_WND_DATA];
} __attribute__ ((packed));
struct isp32_lite_rawaf_stat {
struct isp32_lite_rawaf_ramdata ramdata;
u32 int_state;
u32 afm_sum_b;
u32 afm_lum_b;
u32 highlit_cnt_winb;
} __attribute__ ((packed));
struct isp32_lite_rawhistlite_stat {
u32 hist_bin[ISP32L_HIST_LITE_BIN_N_MAX];
} __attribute__ ((packed));
struct isp32_lite_stat {
struct isp2x_bls_stat bls;
struct isp3x_dhaz_stat dhaz;
struct isp32_info2ddr_stat info2ddr;
struct isp2x_rawaelite_stat rawae0;
struct isp32_lite_rawaebig_stat rawae3;
struct isp32_lite_rawhistlite_stat rawhist0;
struct isp2x_rawhistbig_stat rawhist3;
struct isp32_lite_rawaf_stat rawaf;
struct isp32_lite_rawawb_meas_stat rawawb;
} __attribute__ ((packed));
struct rkisp32_lite_stat_buffer {
struct isp32_lite_stat params;
u32 meas_type;
u32 frame_id;
u32 params_id;
} __attribute__ ((packed));
#endif /* _UAPI_RKISP32_CONFIG_H */

View File

@@ -114,8 +114,10 @@
(V4L2_EVENT_PRIVATE_START + 3)
struct rkispp_fec_in_out {
int width;
int height;
int in_width;
int in_height;
int out_width;
int out_height;
int in_fourcc;
int out_fourcc;
int in_pic_fd;