linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: jeanmichel.hautbois@ideasonboard.com,
	linux-arm-kernel@lists.infradead.org,
	dave.stevenson@raspberrypi.com, devicetree@vger.kernel.org,
	kernel-list@raspberrypi.com, linux-kernel@vger.kernel.org,
	linux-media@vger.kernel.org,
	linux-rpi-kernel@lists.infradead.org, lukasz@jany.st,
	mchehab@kernel.org, naush@raspberrypi.com, robh@kernel.org,
	tomi.valkeinen@ideasonboard.com, nsaenz@kernel.org,
	bcm-kernel-feedback-list@broadcom.com
Subject: Re: (EXT) Re: (EXT) [RFC PATCH v4 03/12] dt-bindings: media: Add bindings for bcm2835-unicam
Date: Tue, 8 Feb 2022 03:36:34 +0200	[thread overview]
Message-ID: <YgHJIsZSrDFp9xvF@pendragon.ideasonboard.com> (raw)
In-Reply-To: <5541132.DvuYhMxLoT@steina-w>

Hi Alexander,

On Mon, Feb 07, 2022 at 07:30:25AM +0100, Alexander Stein wrote:
> Am Samstag, 5. Februar 2022, 03:22:51 CET schrieb Laurent Pinchart:
> > On Fri, Feb 04, 2022 at 09:50:06AM +0100, Alexander Stein wrote:
> > > Am Donnerstag, 3. Februar 2022, 18:50:00 CET schrieb Jean-Michel Hautbois:
> > > > Introduce the dt-bindings documentation for bcm2835 CCP2/CSI2 Unicam
> > > > camera interface. Also add a MAINTAINERS entry for it.
> > > > 
> > > > Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
> > > > Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
> > > > Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
> > > > 
> > > > ---
> > > > v4:
> > > > - make MAINTAINERS its own patch
> > > > - describe the reg and clocks correctly
> > > > - use a vendor entry for the number of data lanes
> > > > ---
> > > > 
> > > >  .../bindings/media/brcm,bcm2835-unicam.yaml   | 110 ++++++++++++++++++
> > > >  1 file changed, 110 insertions(+)
> > > >  create mode 100644
> > > > 
> > > > Documentation/devicetree/bindings/media/brcm,bcm2835-unicam.yaml
> > > > 
> > > > diff --git
> > > > a/Documentation/devicetree/bindings/media/brcm,bcm2835-unicam.yaml
> > > > b/Documentation/devicetree/bindings/media/brcm,bcm2835-unicam.yaml
> > > > new file mode 100644
> > > > index 000000000000..0725a0267c60
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/media/brcm,bcm2835-unicam.yaml
> > > > @@ -0,0 +1,110 @@
> > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > > +%YAML 1.2
> > > > +---
> > > > +$id: http://devicetree.org/schemas/media/brcm,bcm2835-unicam.yaml#
> > > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > > +
> > > > +title: Broadcom BCM283x Camera Interface (Unicam)
> > > > +
> > > > +maintainers:
> > > > +  - Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com>
> > > > +
> > > > +description: |-
> > > > +  The Unicam block on BCM283x SoCs is the receiver for either
> > > > +  CSI-2 or CCP2 data from image sensors or similar devices.
> > > > +
> > > > +  The main platform using this SoC is the Raspberry Pi family of boards.
> > > > +  On the Pi the VideoCore firmware can also control this hardware block,
> > > > +  and driving it from two different processors will cause issues.
> > > > +  To avoid this, the firmware checks the device tree configuration
> > > > +  during boot. If it finds device tree nodes starting by csi then
> > > > +  it will stop the firmware accessing the block, and it can then
> > > > +  safely be used via the device tree binding.
> > > > +
> > > > +properties:
> > > > +  compatible:
> > > > +    const: brcm,bcm2835-unicam
> > > > +
> > > > +  reg:
> > > > +    items:
> > > > +      - description: Unicam block.
> > > > +      - description: Clock Manager Image (CMI) block.
> > > > +
> > > > +  interrupts:
> > > > +    maxItems: 1
> > > > +
> > > > +  clocks:
> > > > +    items:
> > > > +      - description: Clock to drive the LP state machine of Unicam.
> > > > +      - description: Clock for the vpu (core clock).
> > > > +
> > > > +  clock-names:
> > > > +    items:
> > > > +      - const: lp
> > > > +      - const: vpu
> > > > +
> > > > +  power-domains:
> > > > +    items:
> > > > +      - description: Unicam power domain
> > > > +
> > > > +  brcm,num-data-lanes:
> > > > +    $ref: /schemas/types.yaml#/definitions/uint32
> > > > +    enum: [ 2, 4 ]
> > > > +    description: Number of data lanes on the csi bus
> > > 
> > > There is already data-lanes in
> > > Documentation/devicetree/bindings/media/video- interfaces.yaml. AFAICS
> > > these two are identical. Can't the video-
> > > interface.yaml be used for this? I'm no expert TBH.
> > 
> > This is the number of data lanes that the Unicam instance supports.
> > There are two Unicam instances, and they can have 2 or 4 data lanes
> > depending on the SoC. The data-lanes endpoint property indicates the
> > number of lanes used on a particular board.
> 
> Thanks for the explanation. Isn't this something which could be derived from 
> the compatible, e.g. having 2 different ones for 2 and 4 lanes respectively?
> See [1] for a similar situation in the SPI subsystem.
> I don't have a strong opinion, just want to share my feedback.

Yes, it could also be done through compatible strings, but in this case
I think a vendor-specific property is better. The number of lanes routed
from the Unicam IP core to the external of the SoC depends on the exact
SoC model, so we would need to create different compatible strings for
essentially the same IP core.

> [1] https://patchwork.kernel.org/project/spi-devel-general/patch/20211207104114.2720764-1-alexander.stein@ew.tq-group.com/#24641405

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2022-02-08  1:48 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-03 17:49 [RFC PATCH v4 00/12] Add support for BCM2835 camera interface (unicam) Jean-Michel Hautbois
2022-02-03 17:49 ` [RFC PATCH v4 01/12] media: v4l: Add V4L2-PIX-FMT-Y12P format Jean-Michel Hautbois
2022-02-03 17:49 ` [RFC PATCH v4 02/12] media: v4l: Add V4L2-PIX-FMT-Y14P format Jean-Michel Hautbois
2022-02-03 17:50 ` [RFC PATCH v4 03/12] dt-bindings: media: Add bindings for bcm2835-unicam Jean-Michel Hautbois
2022-02-03 20:01   ` Stefan Wahren
2022-02-04  2:42   ` Laurent Pinchart
2022-02-04  8:50   ` (EXT) " Alexander Stein
2022-02-05  2:22     ` Laurent Pinchart
2022-02-07  6:30       ` (EXT) " Alexander Stein
2022-02-08  1:36         ` Laurent Pinchart [this message]
2022-02-08 11:35           ` Dave Stevenson
2022-02-03 17:50 ` [RFC PATCH v4 04/12] media: MAINTAINERS: add bcm2835 unicam driver Jean-Michel Hautbois
2022-02-04  2:40   ` Laurent Pinchart
2022-02-03 17:50 ` [RFC PATCH v4 05/12] media: bcm2835-unicam: Add support for CCP2/CSI2 camera interface Jean-Michel Hautbois
2022-02-03 20:42   ` Stefan Wahren
2022-02-05  2:20   ` Laurent Pinchart
2022-02-03 17:50 ` [RFC PATCH v4 06/12] ARM: dts: bcm2711: Add unicam CSI nodes Jean-Michel Hautbois
2022-02-03 20:06   ` Stefan Wahren
2022-02-04  2:45   ` Laurent Pinchart
2022-02-03 17:50 ` [RFC PATCH v4 07/12] media: imx219: Rename mbus codes array Jean-Michel Hautbois
2022-02-04  2:51   ` Laurent Pinchart
2022-02-03 17:50 ` [RFC PATCH v4 08/12] media: imx219: Switch from open to init_cfg Jean-Michel Hautbois
2022-02-04  2:54   ` Laurent Pinchart
2022-02-03 17:50 ` [RFC PATCH v4 09/12] media: imx219: Introduce the set_routing operation Jean-Michel Hautbois
2022-02-03 17:50 ` [RFC PATCH v4 10/12] media: imx219: use a local v4l2_subdev to simplify reading Jean-Michel Hautbois
2022-02-04  2:56   ` Laurent Pinchart
2022-02-03 17:50 ` [RFC PATCH v4 11/12] media: imx219: Add support for the V4L2 subdev active state Jean-Michel Hautbois
2022-02-03 17:50 ` [RFC PATCH v4 12/12] media: bcm283x: Include the imx219 node Jean-Michel Hautbois
2022-02-04  2:49   ` Laurent Pinchart
2022-02-03 19:55 ` [RFC PATCH v4 00/12] Add support for BCM2835 camera interface (unicam) Stefan Wahren
2022-02-04  0:38   ` Laurent Pinchart

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=YgHJIsZSrDFp9xvF@pendragon.ideasonboard.com \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=alexander.stein@ew.tq-group.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jeanmichel.hautbois@ideasonboard.com \
    --cc=kernel-list@raspberrypi.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-rpi-kernel@lists.infradead.org \
    --cc=lukasz@jany.st \
    --cc=mchehab@kernel.org \
    --cc=naush@raspberrypi.com \
    --cc=nsaenz@kernel.org \
    --cc=robh@kernel.org \
    --cc=tomi.valkeinen@ideasonboard.com \
    /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).