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

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

 



Sakari,

On 10/25/23 8:15 PM, Sakari Ailus wrote:
> Hi Bingbu,
> 
> On Tue, Oct 24, 2023 at 07:29:23PM +0800, bingbu.cao@xxxxxxxxx wrote:
>> From: Bingbu Cao <bingbu.cao@xxxxxxxxx>
>>
>> This document mainly describe the functionality of IPU6 and
>> IPU6 isys driver, and gives an example that how user can do
>> imaging capture with tools.
>>
>> Signed-off-by: Bingbu Cao <bingbu.cao@xxxxxxxxx>
>> ---
>>  Documentation/admin-guide/media/ipu6-isys.rst |  159 +++
>>  .../admin-guide/media/ipu6_isys_graph.svg     |  338 +++++
>>  .../admin-guide/media/ipu6_isys_multi.svg     | 1124 +++++++++++++++++
>>  .../admin-guide/media/v4l-drivers.rst         |    1 +
>>  4 files changed, 1622 insertions(+)
>>  create mode 100644 Documentation/admin-guide/media/ipu6-isys.rst
>>  create mode 100644 Documentation/admin-guide/media/ipu6_isys_graph.svg
>>  create mode 100644 Documentation/admin-guide/media/ipu6_isys_multi.svg
>>
>> diff --git a/Documentation/admin-guide/media/ipu6-isys.rst b/Documentation/admin-guide/media/ipu6-isys.rst
>> new file mode 100644
>> index 000000000000..fb4d355e1522
>> --- /dev/null
>> +++ b/Documentation/admin-guide/media/ipu6-isys.rst
>> @@ -0,0 +1,159 @@
>> +.. SPDX-License-Identifier: GPL-2.0
>> +
>> +.. include:: <isonum.txt>
>> +
>> +===============================================================
>> +Intel Image Processing Unit 6 (IPU6) Input System driver
>> +===============================================================
> 
> Too many '='s.
> 
>> +
>> +Copyright |copy| 2023 Intel Corporation
>> +
>> +Introduction
>> +============
>> +
>> +This file documents the Intel IPU6 (6th generation Image Processing Unit)
>> +Input System (MIPI CSI2 receiver) drivers located under
>> +drivers/media/pci/intel/ipu6.
>> +
>> +The Intel IPU6 can be found in certain Intel Chipsets but not in all SKUs:
>> +
>> +* TigerLake
>> +* JasperLake
>> +* AlderLake
>> +* RaptorLake
>> +* MeteorLake
>> +
>> +Intel IPU6 is made up of two components - Input System (ISYS) and Processing
>> +System (PSYS).
>> +
>> +The Input System mainly works as MIPI CSI2 receiver which receives and
>> +processes the imaging data from the sensors and outputs the frames to memory.
>> +
>> +There are 2 driver modules - intel_ipu6 and intel_ipu6_isys. intel_ipu6 is an
>> +IPU6 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.
>> +
>> +.. Note:: See Documentation/driver-api/media/drivers/ipu6.rst for more
>> +	  information about the IPU6 hardware.
> 
> A direct reference would be nice.
> 
>> +
>> +
>> +Input system driver
>> +===================
>> +
>> +The input System driver mainly configures CSI2 DPHY, constructs the firmware
>> +stream configuration, sends commands to firmware, gets response from hardware
>> +and firmware and then returns buffers to user.
>> +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 without multiple streams support
>> +
>> +   ipu6 isys media graph without multiple streams support
>> +
>> +.. kernel-figure::  ipu6_isys_multi.svg
>> +   :alt: ipu6 isys media graph with multiple streams support
>> +
>> +   ipu6 isys media graph with multiple streams support
> 
> Is there a reason for having links from the CSI-2 receivers' source pads to
> multiple video nodes? Isn't a single one enough?
>

Sorry, I forgot to reply before. Firmware sees each MIPI VC as a single
stream, for multiple VCs case, SW need create multiple firmware streams.

<snip>

-- 
Best regards,
Bingbu Cao




[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