fix(isp): initialize Color defaults for RGB DMA output

This commit is contained in:
gaoxu
2026-08-10 15:15:22 +08:00
parent 1c183dc089
commit daad26433d

View File

@@ -188,7 +188,12 @@ esp_err_t esp_isp_new_processor(const esp_isp_processor_cfg_t *proc_config, isp_
if ((out_color_format == ISP_COLOR_RGB888 || out_color_format == ISP_COLOR_RGB565) &&
(proc_config->input_data_source == ISP_INPUT_DATA_SOURCE_DVP ||
proc_config->input_data_source == ISP_INPUT_DATA_SOURCE_DWGDMA)) {
isp_ll_color_enable(proc->hal.hw, true); // workaround for DIG-474
// DIG-474 workaround: Color must be enabled for RGB output, so configure its neutral defaults before enabling
// Disable shadow registers temporarily to apply the defaults directly, without leaving a pending Color update.
isp_ll_shadow_set_mode(proc->hal.hw, ISP_SHADOW_MODE_DISABLE);
isp_hal_color_config(&proc->hal, NULL);
isp_ll_color_set_clk_ctrl_mode(proc->hal.hw, ISP_LL_PIPELINE_CLK_CTRL_AUTO);
isp_ll_color_enable(proc->hal.hw, true);
}
if (proc_config->flags.byte_swap_en) {
isp_ll_set_byte_swap(proc->hal.hw, true);