sensors/ov5640: Fix PCLK calculation for setting correct exposure time.

This commit is contained in:
rayanc 2024-10-24 13:35:29 +02:00
parent e896a59f4b
commit 31d27cc686

View File

@ -1128,14 +1128,14 @@ static int calc_pclk_freq(uint8_t sc_pll_ctrl_0,
uint8_t sys_root_div) {
uint32_t pclk_freq = omv_csi_get_xclk_frequency();
pclk_freq /= ((sc_pll_ctrl_3 & 0x10) != 0x00) ? 2 : 1;
pclk_freq /= ((sc_pll_ctrl_0 & 0x0F) == 0x0A) ? 10 : 8;
pclk_freq /= ((sc_pll_ctrl_0 & 0x0F) == 0x0A) ? 5 : 4; //camera has two MIPI lanes
switch (sc_pll_ctrl_3 & 0x0F) {
case 0: pclk_freq /= 1; break;
case 1: pclk_freq /= 2; break;
case 2: pclk_freq /= 3; break;
case 3: pclk_freq /= 4; break;
case 4: pclk_freq /= 6; break;
case 5: pclk_freq /= 8; break;
case 1: pclk_freq /= 1; break;
case 2: pclk_freq /= 2; break;
case 3: pclk_freq /= 3; break;
case 4: pclk_freq /= 4; break;
case 6: pclk_freq /= 6; break;
case 8: pclk_freq /= 8; break;
default: pclk_freq /= 3; break;
}
pclk_freq *= sc_pll_ctrl_2;