[RFC 0/2] BCM283x Camera Receiver driver

Hans Verkuil hverkuil at xs4all.nl
Thu Jun 15 00:17:03 PDT 2017


On 06/14/2017 11:03 PM, Dave Stevenson wrote:
> On 14 June 2017 at 18:38, Hans Verkuil <hverkuil at xs4all.nl> wrote:
>> On 06/14/2017 06:29 PM, Dave Stevenson wrote:
>>>
>>> Hi Hans.
>>>
>>> On 14 June 2017 at 16:42, Hans Verkuil <hverkuil at xs4all.nl> wrote:
>>>>
>>>> Hi Dave,
>>>>
>>>> How does this driver relate to this staging driver:
>>>>
>>>> drivers/staging/vc04_services/bcm2835-camera/
>>>>
>>>> It's not obvious to me.
>>>
>>>
>>> drivers/staging/vc04_services/bcm2835-camera/ is using the VideoCore
>>> firmware to control Unicam, ISP, and all the tuner algorithms. The ARM
>>> gets delivered fully processed buffers from the VideoCore side. The
>>> firmware only has drivers for the Omnivision OV5647 and Sony IMX219
>>> (and an unsupported one for the Toshiba TC358743).
>>>
>>> This driver is solely the Unicam block, reading the data in over
>>> CSI2/CCP2 from the sensor and writing it to memory. No ISP or control
>>> loops.
>>> Other than power management, this driver is running solely on the ARM
>>> with no involvement from the VideoCore firmware.
>>> The sensor driver is whatever suitable V4L2 subdevice driver you fancy
>>> attaching (as long as it supports CSI2, or eventually CCP2).
>>
>>
>> What is the interaction between these two drivers? Can they co-exist?
>> I would expect them to be mutually exclusive.
> 
> Mutually exclusive for the same Unicam instance, yes.
> 
> There are two Unicam instances on all BCM283x chips and both are
> brought out on the Compute Modules. You could run bcm2835-unicam on
> one and bcm2835-camera on the other if you so wished.
> The firmware checks whether the csi nodes in the device tree are
> active, and won't touch them if they are.

It would be good if this explanation is mentioned both in the driver code
and (I think) in the bindings document of *both* drivers. This setup is
unusual, so some extra documentation isn't amiss.

Regards,

	Hans



More information about the linux-rpi-kernel mailing list