Re: [RFC PATCH 13/14] Documentation: add Intel IPU6 ISYS driver admin-guide doc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Laurent,

On Thu, Apr 20, 2023 at 05:49:17PM +0300, Laurent Pinchart wrote:

...

> > +common driver which does PCI configuration, firmware loading and parsing,
> > +firmware authentication, DMA mapping and IPU-MMU (internal Memory mapping Unit)
> > +configuration. intel_ipu6_isys implements V4L2, Media Controller and V4L2
> > +sub-device interfaces. The IPU6 ISYS driver supports camera sensors connected
> > +to the IPU6 ISYS through V4L2 sub-device sensor drivers.
> 
> Will the intel_ipu6 driver also serve a future intel_ipu6_psys driver,
> or is it specific to the ISYS ?

intel-ipu6 contains common parts required by both ISYS and PSYS drivers.

> 
> > +
> > +Input system driver
> > +===================
> > +
> > +Input System driver mainly configure CSI2 DPHY, construct the firmware stream
> 
> s/^Input/The Input/
> s/configure/configures the/
> s/construct/constructs/
> 
> > +configuration and send commands to firmware and get response from hardware and
> 
> s/send/sends/
> s/get response/gets responses/
> 
> > +firmware and then return buffers to user.
> 
> s/return/returns/
> 
> So control of the ISYS goes through the firmware, the driver doesn't
> access the hardware directly ?

Must of the low-level hardware control takes place through firmware, the
ISYS driver uses direct register access mainly for the communication with
the ISYS firmware and PHY configuration.

> 
> > +The ISYS is represented as several V4L2 sub-devices - 'Intel IPU6 CSI2 $port',
> > +which provide V4L2 subdev interfaces to the user space, there are also several
> > +video nodes for each CSI-2 stream capture - 'Intel IPU6 ISYS capture $num' which
> > +provide interface to user to set formats, queue buffers and streaming.
> > +
> > +.. kernel-figure::  ipu6_isys_graph.svg
> > +   :alt: ipu6 isys media graph
> 
> I see in the figure 6 CSI-2 receivers and 4 video nodes. Are those CSI-2
> receivers independent of each other, or do they share SoCs pins ? For
> instance, I'm thinking about a use case where you would have 4 data
> lanes and 2 clock lanes, and support capturing from 2x 2-lanes sensors
> with 2 CSI-2 RX, or 1x 4-lanes sensor with 1 CSI-2 RX. More generally,
> can you document the input options of the ISYS ? For DT-based systems
> I'd expect this information to be in the DT bindings, here it needs to
> be documented separately.

This is a to-do item (as noted on the cover page).

The number of video nodes is also going to change with streams support.

> 
> On the video device node side, are there 4 independent hardware DMA
> engines that can be dynamically connected to the different CSI-2
> receivers, or is that what the current firmware version provide, with
> the hardware able to capture more than 4 streams with firmware
> modifications ?
> 
> > +
> > +Capturing frames by IPU6 ISYS
> > +------------------------------------
> > +
> > +IPU6 ISYS is used to capture frames from the camera sensors connected to the
> > +CSI2 port. The supported input formats of ISYS are listed in table below:
> 
> s/port/ports/
> 
> > +
> > +.. tabularcolumns:: |p{0.8cm}|p{4.0cm}|p{4.0cm}|
> > +
> > +.. flat-table::
> > +    :header-rows: 1
> > +
> > +    * - IPU6 ISYS supported input formats
> > +
> > +    * - RGB565, RGB888
> > +
> > +    * - UYVY8, YUYV8
> 
> Unless I'm mistaken, CSI-2 doesn't have separate UYVY and YUYV formats.
> Am I missing something ?
> 
> > +
> > +    * - RAW8, RAW10, RAW12
> 
> Is embedded data capture supported ? More generically, can we capture
> different data types and/or virtual channels from the same CSI-2 input ?

Yes but not quite yet (streams support is pending).

> 
> What's the maximum resolution supported by the ISYS ? Are the DMA
> engines independent, or would the maximum resolution be different if you
> capture from a single camera sensor or multiple camera sensors at the
> same time ?

My understanding is they're independent, i.e. the maximum resolution isn't
affected by what else is happening in the device.

-- 
Regards,

Sakari Ailus



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux