[libcamera-devel] How to detect camera after power on the raspberryPi.

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Oct 19 14:49:44 CEST 2020


Hi Dave,

On Mon, Oct 19, 2020 at 11:10:55AM +0100, Dave Stevenson wrote:
> On Mon, 19 Oct 2020 at 10:38, <tetsuya.nomura at soho-enterprise.com> wrote:
> >
> > Dear Sirs.
> >
> > May I have your favor about initialization of the RaspberryPi and the camera?
> >
> > I'm now evaluating the camera extension board of FPD LINK III technology to extend the camera cable for 2~3m from the RaspberryPi.
> > https://soho-enterprise.com/2020/10/11/post-866/
> >
> > This board can pass the I2C communication to IMX219 after configuring the transceiver chip,
> > However, after configuration and run the qcam, it seems the qcam program does not detect the IMX219
> > And I cannot start the camera even I designate the image sensor name.
> 
> The Pi kernel driver for imx219 probes the sensor driver as the module
> loads, which is only a few seconds into boot if you've added
> "dtoverlay=imx219" into config.txt. No or incorrect response from the
> sensor and it won't create the /dev/video0 device nodes. If your
> transceivers need some form of configuration then I suspect this has
> not happened by this point.
> 
> The correct approach is probably to have a driver for your transceiver
> in the kernel driver chain, ie imx219 -> transceiver -> Unicam,
> however that opens a big can of worms over configuration as it forces
> the use of the Media Controller API to configure each link
> independently.

A very open question: assuming we can retain control through the video
node as implemented today for the existing use cases, and implement
MC-based pipeline control in parallel in the driver (possibly selecting
one of the options through a module parameter) for use cases that would
be tricky to support otherwise, would you be OK with that ?

> One workaround would be to remove "dtoverlay=imx219" from config.txt
> and use dynamic device tree overlay loading to load the relevant
> modules later in boot. "sudo dtoverlay imx219" should do that for you.
> The niggle is that when done from config.txt the firmware fixes up the
> camera shutdown GPIO to match the platform (it moves GPIOs between
> different variants of the Pi). If loading dynamically then this can't
> happen, and you'll need to fix up the regulator shutdown line manually
> [1] (assuming that it is actually controllable at the other end of the
> FPD Link)
> 
> [1] (https://github.com/raspberrypi/linux/blob/rpi-5.4.y/arch/arm/boot/dts/overlays/imx219-overlay.dts#L77)
> 
> > I can start the IMX219, get the RAW image by our own program and see the image.
> > Then if qcam can send the necessary command to IMX219 when start running the qcam,
> > I think I can see the image through qcam program.
> >
> > It would be great if you could give us an advice to solve it.
> > I appreciate your kind help in advance.
> >
> > Best Regards,
> >
> > NOMURA

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list