Thanks Maxime for this great series !
I've tested this series successfully on STM32 platform, I had a
regression on JPEG capture linked to revisit of clocking, but easy to fix.
I had another problem claimed by v4l2-compliance on format tests:
v4l2-test-formats.cpp(961): Video Capture: S_FMT(G_FMT) != G_FMT
this was more tricky to fix, it is linked to changes around framerate
handling.
See my further comments in corresponding patchsets.
Best regards,
Hugues.
On 03/02/2018 03:34 PM, Maxime Ripard wrote:
> Hi,
>
> Here is a "small" series that mostly cleans up the ov5640 driver code,
> slowly getting rid of the big data array for more understandable code
> (hopefully).
>
> The biggest addition would be the clock rate computation at runtime,
> instead of relying on those arrays to setup the clock tree
> properly. As a side effect, it fixes the framerate that was off by
> around 10% on the smaller resolutions, and we now support 60fps.
>
> This also introduces a bunch of new features.
>
> Let me know what you think,
> Maxime
>
> Maxime Ripard (10):
>media: ov5640: Don't force the auto exposure state at start time
>media: ov5640: Init properly the SCLK dividers
>media: ov5640: Change horizontal and vertical resolutions name
>media: ov5640: Add horizontal and vertical totals
>media: ov5640: Program the visible resolution
>media: ov5640: Adjust the clock based on the expected rate
>media: ov5640: Compute the clock rate at runtime
>media: ov5640: Enhance FPS handling
>media: ov5640: Add 60 fps support
>media: ov5640: Remove duplicate auto-exposure setup
>
> Mylène Josserand (2):
>media: ov5640: Add auto-focus feature
>media: ov5640: Add light frequency control
>
> drivers/media/i2c/ov5640.c | 777
> ++---
> 1 file changed, 452 insertions(+), 325 deletions(-)
>