diff --git a/src/omv/ov2640.h b/src/omv/ov2640.h index 472fe1a14..1c89c569e 100644 --- a/src/omv/ov2640.h +++ b/src/omv/ov2640.h @@ -11,5 +11,6 @@ #ifndef __OV2640_H__ #define __OV2640_H__ #include "sensor.h" +#define OV2640_XCLK_FREQ 24000000 int ov2640_init(sensor_t *sensor); #endif // __OV2640_H__ diff --git a/src/omv/ov2640_regs.h b/src/omv/ov2640_regs.h index 44b973515..8469b2b1f 100644 --- a/src/omv/ov2640_regs.h +++ b/src/omv/ov2640_regs.h @@ -113,7 +113,7 @@ #define AEC 0x10 #define CLKRC 0x11 -#define CLKRC_DOUBLE 0x80 +#define CLKRC_DOUBLE 0x82 #define CLKRC_DIVIDER_MASK 0x3F #define COM10 0x15 diff --git a/src/omv/sensor.c b/src/omv/sensor.c index fee929cca..356661cb6 100644 --- a/src/omv/sensor.c +++ b/src/omv/sensor.c @@ -389,6 +389,9 @@ int sensor_init() switch (sensor.chip_id) { #if (OMV_ENABLE_OV2640 == 1) case OV2640_ID: + if (extclk_config(OV2640_XCLK_FREQ) != 0) { + return -3; + } init_ret = ov2640_init(&sensor); break; #endif // (OMV_ENABLE_OV2640 == 1)