[libcamera-devel] Compatibility with cameras

Guido Körber koerber at codemercs.com
Thu Feb 24 16:30:06 CET 2022


This is great news! Thanks a lot!

> Am 24.02.2022 um 16:28 schrieb Laurent Pinchart <laurent.pinchart at ideasonboard.com>:
> 
> On Thu, Feb 24, 2022 at 04:22:15PM +0100, Guido Körber wrote:
>> Hi Laurent,
>> 
>> can’t check that at the moment but will do.
>> 
>> The camera supposedly contains an Omnivision OV2740 sensor.
> 
> You're lucky,
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/media/i2c/ov2740.c
> 
>> I was hoping that we would only need to tell some existing driver to
>> use this camera.
> 
> After a quick look at the driver, it seems you will only have to
> implement support for the V4L2_CID_ANALOG_GAIN control, and for the crop
> selection targets mentioned in the libcamera documentation.
> 
>>> Am 24.02.2022 um 16:12 schrieb Laurent Pinchart:
>>> On Thu, Feb 24, 2022 at 04:02:58PM +0100, Guido Körber wrote:
>>>> We can see a device on the I2C. (Took a bit more testing to get the
>>>> hardware to really respond…)
>>>> 
>>>> So will we need a specific kernel driver for that camera, or is there
>>>> some way to handle it via a generic driver?
>>> 
>>> It needs a kernel driver. Have you checked in drivers/media/i2c/ (in the
>>> kernel) if the sensor you're using is already supported ? If so, some
>>> work may still be needed to support all the features required by
>>> libcamera (see Documentation/sensor_driver_requirements.rst), but it
>>> would be much easier than writing a new driver from scratch.
>>> 
>>>>> Am 17.02.2022 um 17:43 schrieb Laurent Pinchart:
>>>>> On Thu, Feb 17, 2022 at 05:00:23PM +0100, Guido Körber wrote:
>>>>>> Is there a simple way to check if the hardware is present even if
>>>>>> the camera is not detected by software?
>>>>>> 
>>>>>> I have set up a prototype with a hand soldered connector and would
>>>>>> like to know if I did all the wiring correct.
>>>>> 
>>>>> You can use i2cdetect and i2cget ([1]) to talk to the sensor. You may
>>>>> need to first enable power by toggling the corresponding GPIO, which can
>>>>> also be done from userspace ([2]). Checking video transmission is more
>>>>> difficult, you will need to get at least the kernel driver for the
>>>>> sensor and Unicam up and running.
>>>>> 
>>>>> [1] https://manpages.debian.org/unstable/i2c-tools/i2cdetect.8.en.html
>>>>> [2] https://manpages.debian.org/experimental/gpiod/gpioset.1.en.html
>>>>> 
>>>>>>> Am 17.02.2022 um 14:09 schrieb Kieran Bingham:
>>>>>>> Quoting Guido Körber (2022-02-17 13:04:18)
>>>>>>>> 
>>>>>>>> I want to use libcamera on Raspberry with a camera that is not
>>>>>>>> explicitly supported by libcamera but does generic CSI-2. Will this
>>>>>>>> work, or do I need a camera specific plugin or something else?
>>>>>>> 
>>>>>>> You will likely need to make sure you have a relevant kernel driver, and
>>>>>>> may likely need to do some updates to libcamera, to manage the
>>>>>>> CameraSensorHelper classes.
>>>>>>> 
>>>>>>> You might also then want to follow the Raspberry Pi ISP tuning
>>>>>>> procedures.
>>>>>>> 
>>>>>>> https://datasheets.raspberrypi.com/camera/raspberry-pi-camera-guide.pdf
>>>>>>> 
>>>>>>> But yes, you should be able to get it to work.
> 
> -- 
> Regards,
> 
> Laurent Pinchart




More information about the libcamera-devel mailing list