* OV5640 MIPI-CSI2 driver - why the limitations?
@ 2014-09-16 13:25 Jacob Pedersen
2014-09-16 13:43 ` Daiane Angolini
0 siblings, 1 reply; 8+ messages in thread
From: Jacob Pedersen @ 2014-09-16 13:25 UTC (permalink / raw)
To: meta-freescale@yoctoproject.org
[-- Attachment #1: Type: text/plain, Size: 783 bytes --]
Hi folks,
I'm using a OmniVision OV5640 MIPI-CSI2 image sensor with a iMX6 Quad board, and I'm doing some computer vision applications. I'm curious to know why the driver for the OV5640 sensor is limited to 30 fps, even though the sensor can do 60 fps at 720p and 90 fps at VGA? As far as I can see in the driver, the frame rate is clamped to maximum 30 fps.
Is there a technical reason, or is it just because it hasn't been updated for all the supported modes?
The driver also limits the available image formats, which makes one required to do the conversion in software or (as in my case) using the IPU. The IPU is fairly fast to do the simple UYVY to RGB24 conversion, but still slower than just getting an RGB image from the sensor.
Best,
Jacob
[-- Attachment #2: Type: text/html, Size: 5560 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: OV5640 MIPI-CSI2 driver - why the limitations?
2014-09-16 13:25 OV5640 MIPI-CSI2 driver - why the limitations? Jacob Pedersen
@ 2014-09-16 13:43 ` Daiane Angolini
2014-09-16 14:00 ` Eric Nelson
0 siblings, 1 reply; 8+ messages in thread
From: Daiane Angolini @ 2014-09-16 13:43 UTC (permalink / raw)
To: Jacob Pedersen; +Cc: meta-freescale@yoctoproject.org
On Tue, Sep 16, 2014 at 10:25 AM, Jacob Pedersen <jp@circleconsult.dk> wrote:
> Hi folks,
>
>
>
> I'm using a OmniVision OV5640 MIPI-CSI2 image sensor with a iMX6 Quad board,
> and I'm doing some computer vision applications. I'm curious to know why the
> driver for the OV5640 sensor is limited to 30 fps, even though the sensor
> can do 60 fps at 720p and 90 fps at VGA? As far as I can see in the driver,
> the frame rate is clamped to maximum 30 fps.
>
>
>
> Is there a technical reason, or is it just because it hasn't been updated
> for all the supported modes?
>
>
>
> The driver also limits the available image formats, which makes one required
> to do the conversion in software or (as in my case) using the IPU. The IPU
> is fairly fast to do the simple UYVY to RGB24 conversion, but still slower
> than just getting an RGB image from the sensor.
This limitation is due to the camera device driver. Only few
configurations are implemented.
Daiane
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: OV5640 MIPI-CSI2 driver - why the limitations?
2014-09-16 13:43 ` Daiane Angolini
@ 2014-09-16 14:00 ` Eric Nelson
2014-09-16 14:04 ` Jacob Pedersen
2014-09-16 14:04 ` Daiane Angolini
0 siblings, 2 replies; 8+ messages in thread
From: Eric Nelson @ 2014-09-16 14:00 UTC (permalink / raw)
To: Daiane Angolini, Jacob Pedersen; +Cc: meta-freescale@yoctoproject.org
On 09/16/2014 06:43 AM, Daiane Angolini wrote:
> On Tue, Sep 16, 2014 at 10:25 AM, Jacob Pedersen <jp@circleconsult.dk> wrote:
>> Hi folks,
>>
>>
>>
>> I'm using a OmniVision OV5640 MIPI-CSI2 image sensor with a iMX6 Quad board,
>> and I'm doing some computer vision applications. I'm curious to know why the
>> driver for the OV5640 sensor is limited to 30 fps, even though the sensor
>> can do 60 fps at 720p and 90 fps at VGA? As far as I can see in the driver,
>> the frame rate is clamped to maximum 30 fps.
>>
>>
>>
>> Is there a technical reason, or is it just because it hasn't been updated
>> for all the supported modes?
>>
>>
>>
>> The driver also limits the available image formats, which makes one required
>> to do the conversion in software or (as in my case) using the IPU. The IPU
>> is fairly fast to do the simple UYVY to RGB24 conversion, but still slower
>> than just getting an RGB image from the sensor.
>
> This limitation is due to the camera device driver. Only few
> configurations are implemented.
>
Those I2C blobs are pretty difficult to get right!
Regards,
Eric
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: OV5640 MIPI-CSI2 driver - why the limitations?
2014-09-16 14:00 ` Eric Nelson
@ 2014-09-16 14:04 ` Jacob Pedersen
2014-09-16 14:04 ` Daiane Angolini
1 sibling, 0 replies; 8+ messages in thread
From: Jacob Pedersen @ 2014-09-16 14:04 UTC (permalink / raw)
To: Eric Nelson, Daiane Angolini; +Cc: meta-freescale@yoctoproject.org
So it's a matter about getting the datasheet for the image sensor and then adding a new mode (array of reg_value structs) to the driver?
Best,
Jacob
-----Oprindelig meddelelse-----
Fra: Eric Nelson [mailto:eric.nelson@boundarydevices.com]
Sendt: 16. september 2014 16:00
Til: Daiane Angolini; Jacob Pedersen
Cc: meta-freescale@yoctoproject.org
Emne: Re: [meta-freescale] OV5640 MIPI-CSI2 driver - why the limitations?
On 09/16/2014 06:43 AM, Daiane Angolini wrote:
> On Tue, Sep 16, 2014 at 10:25 AM, Jacob Pedersen <jp@circleconsult.dk> wrote:
>> Hi folks,
>>
>>
>>
>> I'm using a OmniVision OV5640 MIPI-CSI2 image sensor with a iMX6 Quad
>> board, and I'm doing some computer vision applications. I'm curious
>> to know why the driver for the OV5640 sensor is limited to 30 fps,
>> even though the sensor can do 60 fps at 720p and 90 fps at VGA? As
>> far as I can see in the driver, the frame rate is clamped to maximum 30 fps.
>>
>>
>>
>> Is there a technical reason, or is it just because it hasn't been
>> updated for all the supported modes?
>>
>>
>>
>> The driver also limits the available image formats, which makes one
>> required to do the conversion in software or (as in my case) using
>> the IPU. The IPU is fairly fast to do the simple UYVY to RGB24
>> conversion, but still slower than just getting an RGB image from the sensor.
>
> This limitation is due to the camera device driver. Only few
> configurations are implemented.
>
Those I2C blobs are pretty difficult to get right!
Regards,
Eric
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: OV5640 MIPI-CSI2 driver - why the limitations?
2014-09-16 14:00 ` Eric Nelson
2014-09-16 14:04 ` Jacob Pedersen
@ 2014-09-16 14:04 ` Daiane Angolini
2014-09-17 12:24 ` Jacob Pedersen
1 sibling, 1 reply; 8+ messages in thread
From: Daiane Angolini @ 2014-09-16 14:04 UTC (permalink / raw)
To: Eric Nelson; +Cc: Jacob Pedersen, meta-freescale@yoctoproject.org
On Tue, Sep 16, 2014 at 11:00 AM, Eric Nelson
<eric.nelson@boundarydevices.com> wrote:
> On 09/16/2014 06:43 AM, Daiane Angolini wrote:
>> On Tue, Sep 16, 2014 at 10:25 AM, Jacob Pedersen <jp@circleconsult.dk> wrote:
>>> Hi folks,
>>>
>>>
>>>
>>> I'm using a OmniVision OV5640 MIPI-CSI2 image sensor with a iMX6 Quad board,
>>> and I'm doing some computer vision applications. I'm curious to know why the
>>> driver for the OV5640 sensor is limited to 30 fps, even though the sensor
>>> can do 60 fps at 720p and 90 fps at VGA? As far as I can see in the driver,
>>> the frame rate is clamped to maximum 30 fps.
>>>
>>>
>>>
>>> Is there a technical reason, or is it just because it hasn't been updated
>>> for all the supported modes?
>>>
>>>
>>>
>>> The driver also limits the available image formats, which makes one required
>>> to do the conversion in software or (as in my case) using the IPU. The IPU
>>> is fairly fast to do the simple UYVY to RGB24 conversion, but still slower
>>> than just getting an RGB image from the sensor.
>>
>> This limitation is due to the camera device driver. Only few
>> configurations are implemented.
>>
>
> Those I2C blobs are pretty difficult to get right!
+1
Daiane
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: OV5640 MIPI-CSI2 driver - why the limitations?
2014-09-16 14:04 ` Daiane Angolini
@ 2014-09-17 12:24 ` Jacob Pedersen
2014-09-17 22:23 ` Alfonso Tamés
0 siblings, 1 reply; 8+ messages in thread
From: Jacob Pedersen @ 2014-09-17 12:24 UTC (permalink / raw)
To: Daiane Angolini, Eric Nelson; +Cc: meta-freescale@yoctoproject.org
I've been looking into the implementation (drivers/media/platform/mxc/capture/ov5640_mipi.c), and found that the only difference between the 15 fps and the 30 fps i2c blobs is the value of the 0x3035 register. The 0x3035 is the system clock divider and MIPI PCLK scale divider.
For the 30 fps VGA mode the value is 0x14, and for the 15 fps VGA mode the value is 0x22.
I tried changing the value to 0x12 (divide MIPI PCLK by two instead of four), which should double the frequency and enable 60 fps. That's unfortunately not the case - it's still running at 30 fps.
What else to I need to change in the driver?
Best,
Jacob
-----Oprindelig meddelelse-----
Fra: angolini@gmail.com [mailto:angolini@gmail.com] På vegne af Daiane Angolini
Sendt: 16. september 2014 16:05
Til: Eric Nelson
Cc: Jacob Pedersen; meta-freescale@yoctoproject.org
Emne: Re: [meta-freescale] OV5640 MIPI-CSI2 driver - why the limitations?
On Tue, Sep 16, 2014 at 11:00 AM, Eric Nelson <eric.nelson@boundarydevices.com> wrote:
> On 09/16/2014 06:43 AM, Daiane Angolini wrote:
>> On Tue, Sep 16, 2014 at 10:25 AM, Jacob Pedersen <jp@circleconsult.dk> wrote:
>>> Hi folks,
>>>
>>>
>>>
>>> I'm using a OmniVision OV5640 MIPI-CSI2 image sensor with a iMX6
>>> Quad board, and I'm doing some computer vision applications. I'm
>>> curious to know why the driver for the OV5640 sensor is limited to
>>> 30 fps, even though the sensor can do 60 fps at 720p and 90 fps at
>>> VGA? As far as I can see in the driver, the frame rate is clamped to maximum 30 fps.
>>>
>>>
>>>
>>> Is there a technical reason, or is it just because it hasn't been
>>> updated for all the supported modes?
>>>
>>>
>>>
>>> The driver also limits the available image formats, which makes one
>>> required to do the conversion in software or (as in my case) using
>>> the IPU. The IPU is fairly fast to do the simple UYVY to RGB24
>>> conversion, but still slower than just getting an RGB image from the sensor.
>>
>> This limitation is due to the camera device driver. Only few
>> configurations are implemented.
>>
>
> Those I2C blobs are pretty difficult to get right!
+1
Daiane
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: OV5640 MIPI-CSI2 driver - why the limitations?
2014-09-17 12:24 ` Jacob Pedersen
@ 2014-09-17 22:23 ` Alfonso Tamés
2014-09-18 8:06 ` Eric Bénard
0 siblings, 1 reply; 8+ messages in thread
From: Alfonso Tamés @ 2014-09-17 22:23 UTC (permalink / raw)
To: Jacob Pedersen; +Cc: meta-freescale@yoctoproject.org
Excuse me for the off topic question but does anyone know where to find complete documentation for the ov5640? I successfully patched a Wandboard Kernel with Eric’s patches from the Boundary Kernel to enable autofocus but would like to explore if it can be set to any other position beside the center of the image.
Thanks,
Alfonso
On Sep 17, 2014, at 7:24 AM, Jacob Pedersen <jp@circleconsult.dk> wrote:
> I've been looking into the implementation (drivers/media/platform/mxc/capture/ov5640_mipi.c), and found that the only difference between the 15 fps and the 30 fps i2c blobs is the value of the 0x3035 register. The 0x3035 is the system clock divider and MIPI PCLK scale divider.
>
> For the 30 fps VGA mode the value is 0x14, and for the 15 fps VGA mode the value is 0x22.
>
> I tried changing the value to 0x12 (divide MIPI PCLK by two instead of four), which should double the frequency and enable 60 fps. That's unfortunately not the case - it's still running at 30 fps.
>
> What else to I need to change in the driver?
>
> Best,
> Jacob
>
> -----Oprindelig meddelelse-----
> Fra: angolini@gmail.com [mailto:angolini@gmail.com] På vegne af Daiane Angolini
> Sendt: 16. september 2014 16:05
> Til: Eric Nelson
> Cc: Jacob Pedersen; meta-freescale@yoctoproject.org
> Emne: Re: [meta-freescale] OV5640 MIPI-CSI2 driver - why the limitations?
>
> On Tue, Sep 16, 2014 at 11:00 AM, Eric Nelson <eric.nelson@boundarydevices.com> wrote:
>> On 09/16/2014 06:43 AM, Daiane Angolini wrote:
>>> On Tue, Sep 16, 2014 at 10:25 AM, Jacob Pedersen <jp@circleconsult.dk> wrote:
>>>> Hi folks,
>>>>
>>>>
>>>>
>>>> I'm using a OmniVision OV5640 MIPI-CSI2 image sensor with a iMX6
>>>> Quad board, and I'm doing some computer vision applications. I'm
>>>> curious to know why the driver for the OV5640 sensor is limited to
>>>> 30 fps, even though the sensor can do 60 fps at 720p and 90 fps at
>>>> VGA? As far as I can see in the driver, the frame rate is clamped to maximum 30 fps.
>>>>
>>>>
>>>>
>>>> Is there a technical reason, or is it just because it hasn't been
>>>> updated for all the supported modes?
>>>>
>>>>
>>>>
>>>> The driver also limits the available image formats, which makes one
>>>> required to do the conversion in software or (as in my case) using
>>>> the IPU. The IPU is fairly fast to do the simple UYVY to RGB24
>>>> conversion, but still slower than just getting an RGB image from the sensor.
>>>
>>> This limitation is due to the camera device driver. Only few
>>> configurations are implemented.
>>>
>>
>> Those I2C blobs are pretty difficult to get right!
>
>
> +1
>
> Daiane
> --
> _______________________________________________
> meta-freescale mailing list
> meta-freescale@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-freescale
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: OV5640 MIPI-CSI2 driver - why the limitations?
2014-09-17 22:23 ` Alfonso Tamés
@ 2014-09-18 8:06 ` Eric Bénard
0 siblings, 0 replies; 8+ messages in thread
From: Eric Bénard @ 2014-09-18 8:06 UTC (permalink / raw)
To: Alfonso Tamés; +Cc: Jacob Pedersen, meta-freescale@yoctoproject.org
Hi Alfonso,
Le Wed, 17 Sep 2014 17:23:24 -0500,
Alfonso Tamés <alfonso@tames.com> a écrit :
>
>
> Excuse me for the off topic question but does anyone know where to find complete documentation for the ov5640? I successfully patched a Wandboard Kernel with Eric’s patches from the Boundary Kernel to enable autofocus but would like to explore if it can be set to any other position beside the center of the image.
>
you need an NDA with Omnivision ... maybe asking google for "ov5640
manual pdf" could help who knows ;-)
Eric
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-09-18 9:26 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-16 13:25 OV5640 MIPI-CSI2 driver - why the limitations? Jacob Pedersen
2014-09-16 13:43 ` Daiane Angolini
2014-09-16 14:00 ` Eric Nelson
2014-09-16 14:04 ` Jacob Pedersen
2014-09-16 14:04 ` Daiane Angolini
2014-09-17 12:24 ` Jacob Pedersen
2014-09-17 22:23 ` Alfonso Tamés
2014-09-18 8:06 ` Eric Bénard
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.