<html><body><p>
<pre>
Hi, Shu-hsiang:
On Wed, 2024-10-09 at 19:15 +0800, Shu-hsiang Yang wrote:
> Introduces utility files for the MediaTek ISP7.x camsys driver. These
> utilities provide essential platform definitions, debugging tools, and
> management functions to support ISP operations and SCP communication.
> Key functionalities include:
> 1.Hardware pipeline and register definitions for managing image
> processing modules.
> 2.DMA debugging utilities and buffer management functions.
> 3.Definitions of supported image formats for proper data handling.
> 4.IPI and SCP communication structures for module state management and
> configuring ISP.
> 5.Metadata parameters for configuring image processing.
>
> Signed-off-by: Shu-hsiang Yang <Shu-hsiang.Yang@mediatek.com>
> ---
[snip]
> +/*
> + * V 4 L 2 M E T A B U F F E R L A Y O U T
> + */
> +
> +/*
> + * struct mtk_cam_uapi_meta_raw_stats_cfg
> + *
> + * @ae_awb_enable: To indicate if AE and AWB should be enblaed or not. If
> + * it is 1, it means that we enable the following parts of
> + * hardware:
> + * (1) AE/AWB
> + * (2) aao
> + * (3) aaho
> + * @af_enable: To indicate if AF should be enabled or not. If it is 1,
> + * it means that the AF and afo is enabled.
> + * @dgn_enable: To indicate if dgn module should be enabled or not.
> + * @flk_enable: If it is 1, it means flk and flko is enable. If ie is 0,
> + * both flk and flko is disabled.
> + * @tsf_enable: If it is 1, it means tsfs and tsfso is enable. If ie is 0,
> + * both tsfs and tsfso is disabled.
> + * @wb_enable: To indicate if wb module should be enabled or not.
> + * @pde_enable: To indicate if pde module should be enabled or not.
> + * @ae_param: AE Statistic window config
> + * @awb_param: AWB statistic configuration control
> + * @dgn_param: DGN settings
> + * @flk_param: Flicker statistic configuration
> + * @tsf_param: tsf statistic configuration
> + * @wb_param: WB settings
> + * @pde_param: pde settings
> + */
> +struct mtk_cam_uapi_meta_raw_stats_cfg {
struct mtk_cam_uapi_meta_raw_stats_cfg{} is useless, so drop it.
Regards,
CK
> +s8 ae_awb_enable;
> +s8 af_enable;
> +s8 dgn_enable;
> +s8 flk_enable;
> +s8 tsf_enable;
> +s8 wb_enable;
> +s8 pde_enable;
> +u8 rsv;
> +
> +struct mtk_cam_uapi_ae_param ae_param;
> +struct mtk_cam_uapi_awb_param awb_param;
> +struct mtk_cam_uapi_af_param af_param;
> +struct mtk_cam_uapi_dgn_param dgn_param;
> +struct mtk_cam_uapi_flk_param flk_param;
> +struct mtk_cam_uapi_tsf_param tsf_param;
> +struct mtk_cam_uapi_wb_param wb_param;
> +struct mtk_cam_uapi_pde_param pde_param;
> +
> +struct mtk_cam_uapi_prot {
> +/* The following top control are generated by script */
> +u8 drzh2n_r1_tuning_enable;
> +u8 drzh2n_r2_tuning_enable;
> +u8 drzh2n_r3_tuning_enable;
> +u8 drzh2n_r4_tuning_enable;
> +u8 drzh2n_r5_tuning_enable;
> +u8 drzh2n_r6_tuning_enable;
> +u8 drzh2n_r7_tuning_enable;
> +u8 drzh2n_r8_tuning_enable;
> +u8 drzs4n_r1_tuning_enable;
> +u8 drzs4n_r2_tuning_enable;
> +u8 drzs4n_r3_tuning_enable;
> +u8 dm_tuning_enable;
> +u8 drzs8t_r1_tuning_enable;
> +u8 drzs8t_r2_tuning_enable;
> +u8 ggm_r1_tuning_enable;
> +u8 ggm_r2_tuning_enable;
> +u8 ggm_r3_tuning_enable;
> +u8 bpc_r1_enable;
> +u8 bpc_r2_enable;
> +u8 ccm_r1_enable;
> +u8 ccm_r2_enable;
> +u8 ccm_r3_enable;
> +u8 fus_enable;
> +u8 g2c_r1_enable;
> +u8 g2c_r2_enable;
> +u8 g2c_r3_enable;
> +u8 hlr_enable;
> +u8 lsc_enable;
> +u8 ltm_enable;
> +u8 ltms_enable;
> +u8 obc_r1_enable;
> +u8 obc_r2_enable;
> +u8 tcy_r1_enable;
> +u8 tcy_r2_enable;
> +u8 tcy_r3_enable;
> +u8 tncs_r1_enable;
> +
> +struct mtk_cam_uapi_ccm_param_prot ccm_r1_param;
> +struct mtk_cam_uapi_ccm_param_prot ccm_r2_param;
> +struct mtk_cam_uapi_ccm_param_prot ccm_r3_param;
> +struct mtk_cam_uapi_drzh2n_param_prot drzh2n_r1_param;
> +struct mtk_cam_uapi_drzh2n_param_prot drzh2n_r2_param;
> +struct mtk_cam_uapi_drzh2n_param_prot drzh2n_r3_param;
> +struct mtk_cam_uapi_drzh2n_param_prot drzh2n_r4_param;
> +struct mtk_cam_uapi_drzh2n_param_prot drzh2n_r5_param;
> +struct mtk_cam_uapi_drzh2n_param_prot drzh2n_r6_param;
> +struct mtk_cam_uapi_drzh2n_param_prot drzh2n_r7_param;
> +struct mtk_cam_uapi_drzh2n_param_prot drzh2n_r8_param;
> +struct mtk_cam_uapi_drzs4n_param_prot drzs4n_r1_param;
> +struct mtk_cam_uapi_drzs4n_param_prot drzs4n_r2_param;
> +struct mtk_cam_uapi_drzs4n_param_prot drzs4n_r3_param;
> +struct mtk_cam_uapi_tncs_param_prot tncs_param;
> +/* script generation done */
> +struct mtk_cam_uapi_drzs8t_param_prot drzs8t_r1_param;
> +struct mtk_cam_uapi_drzs8t_param_prot drzs8t_r2_param;
> +struct mtk_cam_uapi_awb_param_prot awb_param;
> +struct mtk_cam_uapi_bpc_param_prot bpc_param;
> +struct mtk_cam_uapi_lsc_param_prot lsc_param;
> +struct mtk_cam_uapi_slk_param_prot slk_param;
> +struct mtk_cam_uapi_wb_param_prot wb_param;
> +struct mtk_cam_uapi_ltms_param_prot ltms_param;
> +struct mtk_cam_uapi_yuvo_param_prot yuvo_r2_param;
> +struct mtk_cam_uapi_yuvo_param_prot yuvo_r4_param;
> +/* The following module stuctures are generated by script */
> +struct mtk_cam_uapi_regmap_raw_bpc bpc_r1;
> +struct mtk_cam_uapi_regmap_raw_bpc bpc_r2;
> +struct mtk_cam_uapi_regmap_raw_ccm ccm_r1;
> +struct mtk_cam_uapi_regmap_raw_ccm ccm_r2;
> +struct mtk_cam_uapi_regmap_raw_ccm ccm_r3;
> +struct mtk_cam_uapi_regmap_raw_dm dm_r1;
> +u8 rsv1[116];
> +struct mtk_cam_uapi_regmap_raw_g2c g2c_r1;
> +struct mtk_cam_uapi_regmap_raw_g2c g2c_r2;
> +struct mtk_cam_uapi_regmap_raw_g2c g2c_r3;
> +struct mtk_cam_uapi_regmap_raw_ggm ggm_r1;
> +struct mtk_cam_uapi_regmap_raw_ggm ggm_r2;
> +struct mtk_cam_uapi_regmap_raw_ggm ggm_r3;
> +u8 rsv2[68];
> +struct mtk_cam_uapi_regmap_raw_lsc lsc_r1;
> +struct mtk_cam_uapi_regmap_raw_ltm ltm_r1;
> +struct mtk_cam_uapi_regmap_raw_ltms ltms_r1;
> +struct mtk_cam_uapi_regmap_raw_obc obc_r1;
> +struct mtk_cam_uapi_regmap_raw_obc obc_r2;
> +u8 rsv3[1420];
> +struct mtk_cam_uapi_regmap_raw_tsfs tsfs_r1;
> +u8 rsv4[50080];
> +/* script generation done */
> +} __packed prot;
> +} __packed;
> +
</pre>
</p></body></html><!--type:text--><!--{--><pre>************* MEDIATEK Confidentiality Notice ********************
The information contained in this e-mail message (including any
attachments) may be confidential, proprietary, privileged, or otherwise
exempt from disclosure under applicable laws. It is intended to be
conveyed only to the designated recipient(s). Any use, dissemination,
distribution, printing, retaining or copying of this e-mail (including its
attachments) by unintended recipient(s) is strictly prohibited and may
be unlawful. If you are not an intended recipient of this e-mail, or believe
that you have received this e-mail in error, please notify the sender
immediately (by replying to this e-mail), delete any and all copies of
this e-mail (including any attachments) from your system, and do not
disclose the content of this e-mail to any other person. Thank you!
</pre><!--}-->