linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: <Eugen.Hristev@microchip.com>
To: <sakari.ailus@iki.fi>, <robh@kernel.org>
Cc: <linux-media@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>, <jacopo@jmondi.org>,
	<laurent.pinchart@ideasonboard.com>,
	<Nicolas.Ferre@microchip.com>
Subject: Re: [PATCH v2 02/25] dt-bindings: media: atmel: csi2dc: add bindings for microchip csi2dc
Date: Mon, 6 Dec 2021 08:57:11 +0000	[thread overview]
Message-ID: <7b4a4062-c6ed-7de1-7275-be20568550e3@microchip.com> (raw)
In-Reply-To: <YaVIDgn1d2BHv6XZ@valkosipuli.retiisi.eu>

On 11/29/21 11:37 PM, Sakari Ailus wrote:
> Hi Rob, Eugen,
> 
> On Mon, Nov 29, 2021 at 03:10:26PM -0600, Rob Herring wrote:
>>> +        properties:
>>> +          endpoint:
>>> +            $ref: video-interfaces.yaml#
>>
>> But what properties from this do you use? It doesn't look like you need
>> this?
> 
> I'd expect to see data-lanes at least --- unless the number of lanes is
> really fixed.

Hello Sakari, Rob,

Actually the input port can be either the Synopsys IDI interface, or 
parallel.
Since there is no such bus type 'synopsys IDI' this input port 
connection cannot have number of lanes, etc. (it is a 32 bit proprietary 
synopsys interface which is a mux/repackage of the CSI2 bus)

Also, this input port could be connected to a parallel sensor. In this 
case the csi2dc acts as a bypass between the input port and the output 
port. However, the csi2dc still needs to be probed and still needs to be 
configured, thus, it cannot be removed from the pipeline (otherwise the 
hardware pipeline won't work)

So my current implementation is like this : if the input port is 
parallel, use parallel mode, but if the bus type is set to CSI2-DPHY ( 
actually this is the bus interface used by the sensor ), use the csi2dc 
demux video pipeline to demux from IDI to parallel interface.

maybe this schematic is more clear than my words above:


 

                        +-----------------+ +-------------+ 

                        |port 0           | |  port 1     | 

                        |                 | |             | 

                        |                 | |             | 

                        |                 | |             | 

                        |                 | |             | 

                        |                 | |             | 

   +----------+         |        +--------|-|-------+     | 

   |          |         |        |+------------+    |     | 

   |  parallel|---------|--------|| bypass| |  |    ------|---- 

   |  sensor  | parallel|        ||       | |  |    |     | 

   |          | intf    |        ||       | |  |    | parallel 

   +----------+         |        |+------------+    | output 

                        |        |        | |       | intf| 

                        |        | csi2dc | |       |     | 

                        |        |        | |       |     | 

   +---------------+    |        |        | |       |     | 

   |               |synopsys     |        | |       |     | 

   |  synopsys host|IDI |        |        | |       |     | 

   |  controller   --------------|        | |       |     | 

   |               |    |        |        | |       |     | 

   |               |    |        +--------|-|-------+     | 

   +---------------+    |                 | |             | 

           ^            |                 | |             | 

  csi2 bus |            |                 | |             | 

    +------------+      |                 | |             | 

    |            |      |                 | |             | 

    | csi2 sensor|      +-----------------+ +-------------+ 

    |            | 

    |            | 

    +------------+ 

 



In this case, what would you advise to use for the bindings of the csi2dc ?

One option is to add the Synopsys IDI interface and document this as a 
possible bus type. I would rather not do this, since it's Synopsys 
proprietary and it would be difficult for me to document it at this 
moment (rather someone from Synopsys who is more familiar with this )

So, I should still refer video interfaces in the node, and then specify 
that this bus can be either parallel or csi2 dphy, but without number of 
lanes since it does not make sense (this would be between csi2 sensor 
and synopsys host controller), and specify only parallel properties like 
bus width , etc ?

Which would be a better way to go ?

Thanks,
Eugen
 




> 
> --
> Sakari Ailus
> 


  reply	other threads:[~2021-12-06  8:57 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-12 14:24 [PATCH v2 00/25] media: atmel: atmel-isc: implement media controller Eugen Hristev
2021-11-12 14:24 ` [PATCH v2 01/25] MAINTAINERS: add microchip csi2dc Eugen Hristev
2021-11-29 23:14   ` Laurent Pinchart
2021-12-13 13:40     ` Nicolas Ferre
2021-11-12 14:24 ` [PATCH v2 02/25] dt-bindings: media: atmel: csi2dc: add bindings for " Eugen Hristev
2021-11-29 21:10   ` Rob Herring
2021-11-29 21:37     ` Sakari Ailus
2021-12-06  8:57       ` Eugen.Hristev [this message]
2021-11-29 23:14   ` Laurent Pinchart
2021-11-12 14:24 ` [PATCH v2 03/25] media: atmel: introduce microchip csi2dc driver Eugen Hristev
2021-12-06 10:51   ` Jacopo Mondi
2021-12-06 11:42     ` Eugen.Hristev
2021-12-06 12:06       ` Jacopo Mondi
2021-12-10 11:07         ` Eugen.Hristev
2021-12-10 12:59           ` Jacopo Mondi
2021-11-12 14:24 ` [PATCH v2 04/25] MAINTAINERS: atmel-isc: add new file atmel-isc-clk.c Eugen Hristev
2021-11-29 23:18   ` Laurent Pinchart
2021-11-12 14:24 ` [PATCH v2 05/25] media: atmel: atmel-isc: split the clock code into separate source file Eugen Hristev
2021-11-12 14:24 ` [PATCH v2 06/25] media: atmel: atmel-isc: replace video device name with module name Eugen Hristev
2021-11-12 14:24 ` [PATCH v2 07/25] media: atmel: atmel-sama7g5-isc: fix ispck leftover Eugen Hristev
2021-11-12 14:24 ` [PATCH v2 08/25] media: atmel: atmel-isc-base: use streaming status when queueing buffers Eugen Hristev
2021-11-12 14:24 ` [PATCH v2 09/25] media: atmel: atmel-isc-base: remove frameintervals VIDIOC Eugen Hristev
2021-11-12 14:24 ` [PATCH v2 10/25] media: atmel: atmel-isc-base: report frame sizes as full supported range Eugen Hristev
2021-11-12 14:24 ` [PATCH v2 11/25] media: atmel: atmel-isc-base: implement mbus_code support in enumfmt Eugen Hristev
2021-11-12 14:24 ` [PATCH v2 12/25] media: atmel: atmel-isc-base: fix bytesperline value for planar formats Eugen Hristev
2021-12-06 16:38   ` Jacopo Mondi
2021-12-07 11:21     ` Eugen.Hristev
2021-11-12 14:24 ` [PATCH v2 13/25] MAINTAINERS: atmel-isc: add new file atmel-isc-mc.c Eugen Hristev
2021-11-12 14:24 ` [PATCH v2 14/25] media: atmel: atmel-isc: implement media controller Eugen Hristev
2021-11-12 14:24 ` [PATCH v2 15/25] ARM: dts: at91: sama7g5: add nodes for video capture Eugen Hristev
2021-11-12 14:25 ` [PATCH v2 16/25] ARM: configs: at91: sama7: add xisc and csi2dc Eugen Hristev
2021-11-12 14:25 ` [PATCH v2 17/25] ARM: multi_v7_defconfig: add atmel video pipeline modules Eugen Hristev
2021-11-12 14:25 ` [PATCH v2 18/25] media: atmel: atmel-sama5d2-isc: fix wrong mask in YUYV format check Eugen Hristev
2021-11-12 14:25 ` [PATCH v2 19/25] media: atmel: atmel-isc-base: use mutex to lock awb workqueue from streaming Eugen Hristev
2021-11-12 14:25 ` [PATCH v2 20/25] media: atmel: atmel-isc-base: add wb debug messages Eugen Hristev
2021-11-12 14:25 ` [PATCH v2 21/25] media: atmel: atmel-isc-base: clamp wb gain coefficients Eugen Hristev
2021-11-12 14:25 ` [PATCH v2 22/25] media: atmel: atmel-sama7g5-isc: fix UYVY input format mbus_code typo Eugen Hristev
2021-11-12 14:25 ` [PATCH v2 23/25] media: atmel: atmel-isc: add raw Bayer 8bit 10bit output formats Eugen Hristev
2021-11-12 14:25 ` [PATCH v2 24/25] media: atmel: atmel-isc: compact the controller formats list Eugen Hristev
2021-11-12 14:25 ` [PATCH v2 25/25] media: atmel: atmel-isc: change format propagation to subdev into only verification Eugen Hristev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7b4a4062-c6ed-7de1-7275-be20568550e3@microchip.com \
    --to=eugen.hristev@microchip.com \
    --cc=Nicolas.Ferre@microchip.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jacopo@jmondi.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=sakari.ailus@iki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).