[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