linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
Cc: Stefan Wahren <stefan.wahren@i2se.com>,
	dave.stevenson@raspberrypi.com, devicetree@vger.kernel.org,
	kernel-list@raspberrypi.com,
	linux-arm-kernel@lists.infradead.org,
	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
Subject: Re: [RFC PATCH v3 03/11] media: dt-bindings: media: Add bindings for bcm2835-unicam
Date: Thu, 3 Feb 2022 00:35:57 +0200	[thread overview]
Message-ID: <YfsHTXxx/VDHR9Jn@pendragon.ideasonboard.com> (raw)
In-Reply-To: <9bce4322-881e-06a7-d6a4-431b1417ced5@ideasonboard.com>

Hi Jean-Michel,

On Wed, Feb 02, 2022 at 11:09:20PM +0100, Jean-Michel Hautbois wrote:
> On 02/02/2022 19:33, Stefan Wahren wrote:
> > Hi Jean-Michel,
> > 
> > please drop the first "media:" before dt-bindings.
> > 
> > Am 02.02.22 um 18:56 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>
> >> ---
> >> Dave: I assumed you were the maintainer for this file, as I based it on the
> >> bcm2835-unicam.txt file. Are  you happy to be added directly as the
> >> maintainer, or should this be specified as "Raspberry Pi Kernel
> >> Maintenance <kernel-list@raspberrypi.com>"
> >> ---
> >>   .../bindings/media/brcm,bcm2835-unicam.yaml   | 107 ++++++++++++++++++
> >>   MAINTAINERS                                   |   7 ++
> >>   2 files changed, 114 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..5bf41a8834fa
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/media/brcm,bcm2835-unicam.yaml
> >> @@ -0,0 +1,107 @@
> >> +# 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:
> >> +  - Dave Stevenson <dave.stevenson@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:
> >> +    maxItems: 2
> >
> > I would be nice to have reg-names here similar to the clocks.
> 
> Sure, I just don't know what the names are ;-).

Please discuss this with the Rasperry Pi developers to figure out then.

> >> +
> >> +  interrupts:
> >> +    maxItems: 1
> >> +
> >> +  clocks:
> >> +    items:
> >> +      - description: Clock for the camera.

This also seems weird, as far as I know the SoC doesn't output a clock
for the camera sensor (and it should be specified in the camera sensor
DT node if it did anyway).

> >> +      - description: Clock for the vpu.
> >> +
> >> +  clock-names:
> >> +    items:
> >> +      - const: lp
> >> +      - const: vpu
> >> +
> >> +  power-domains:
> >> +    items:
> >> +      - description: Unicam power domain
> >> +
> >> +  num-data-lanes:

This is a vendor-specific property and thus requires a vendor prefix.

> >> +    items:
> >> +      - enum: [ 2, 4 ]
> >> +
> >> +  port:
> >> +    additionalProperties: false
> >> +    $ref: /schemas/graph.yaml#/$defs/port-base
> >> +
> >> +    properties:
> >> +      endpoint:
> >> +        $ref: /schemas/media/video-interfaces.yaml#
> >> +        unevaluatedProperties: false
> >> +
> >> +        properties:
> >> +          data-lanes: true
> >> +          link-frequencies: true
> >> +
> >> +        required:
> >> +          - data-lanes
> >> +          - link-frequencies
> >> +
> >> +    required:
> >> +      - endpoint
> >> +
> >> +required:
> >> +  - compatible
> >> +  - reg
> >> +  - interrupts
> >> +  - clocks
> >> +  - clock-names
> >> +  - power-domains
> >> +  - num-data-lanes
> >> +  - port
> >> +
> >> +additionalProperties: False
> >> +
> >> +examples:
> >> +  - |
> >> +    #include <dt-bindings/clock/bcm2835.h>
> >> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> >> +    #include <dt-bindings/power/raspberrypi-power.h>
> >> +    csi1: csi@7e801000 {
> >> +        compatible = "brcm,bcm2835-unicam";
> >> +        reg = <0x7e801000 0x800>,
> >> +              <0x7e802004 0x4>;
> >> +        interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
> >> +        clocks = <&clocks BCM2835_CLOCK_CAM1>,
> >> +                 <&firmware_clocks 4>;
> >> +        clock-names = "lp", "vpu";
> >> +        power-domains = <&power RPI_POWER_DOMAIN_UNICAM1>;
> >> +        num-data-lanes = <2>;
> >> +        port {
> >> +                csi1_ep: endpoint {
> >> +                        remote-endpoint = <&imx219_0>;
> >> +                        data-lanes = <1 2>;
> >> +                        link-frequencies = /bits/ 64 <456000000>;
> >> +                };
> >> +        };
> >> +    };
> >> +...
> >> diff --git a/MAINTAINERS b/MAINTAINERS
> >> index a0770a861ca4..29344ea86847 100644
> >> --- a/MAINTAINERS
> >> +++ b/MAINTAINERS
> >> @@ -3670,6 +3670,13 @@ N:	bcm113*
> >>   N:	bcm216*
> >>   N:	kona
> >>   
> >> +BROADCOM BCM2835 CAMERA DRIVER
> >> +M:	Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com>
> >> +L:	linux-media@vger.kernel.org
> >> +S:	Maintained
> >> +F:	Documentation/devicetree/bindings/media/brcm,bcm2835-unicam.yaml
> >> +F:	arch/arm/boot/dts/bcm283x*
> >> +
> > 
> > I suggest to make the MAINTAINERS changes a single separate patch
> > instead of small incremental changes.
> 
> I can make it a separate patch, indeed.
> 
> >>   BROADCOM BCM47XX MIPS ARCHITECTURE
> >>   M:	Hauke Mehrtens <hauke@hauke-m.de>
> >>   M:	Rafał Miłecki <zajec5@gmail.com>

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2022-02-02 22:36 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-02 17:56 [RFC PATCH v3 00/11] Add support for BCM2835 camera interface (unicam) Jean-Michel Hautbois
2022-02-02 17:56 ` [RFC PATCH v3 01/11] media: v4l: Add V4L2-PIX-FMT-Y12P format Jean-Michel Hautbois
2022-02-02 21:06   ` Laurent Pinchart
2022-02-02 17:56 ` [RFC PATCH v3 02/11] media: v4l: Add V4L2-PIX-FMT-Y14P format Jean-Michel Hautbois
2022-02-02 17:56 ` [RFC PATCH v3 03/11] media: dt-bindings: media: Add bindings for bcm2835-unicam Jean-Michel Hautbois
2022-02-02 18:33   ` Stefan Wahren
2022-02-02 22:09     ` Jean-Michel Hautbois
2022-02-02 22:35       ` Laurent Pinchart [this message]
2022-02-03 11:36         ` Dave Stevenson
2022-02-02 17:56 ` [RFC PATCH v3 04/11] media: bcm2835-unicam: Add support for CCP2/CSI2 camera interface Jean-Michel Hautbois
2022-02-02 17:56 ` [RFC PATCH v3 05/11] ARM: dts: bcm2711: Add unicam CSI nodes Jean-Michel Hautbois
2022-02-02 18:24   ` Stefan Wahren
2022-02-02 17:56 ` [RFC PATCH v3 06/11] media: imx219: Rename mbus codes array Jean-Michel Hautbois
2022-02-02 17:56 ` [RFC PATCH v3 07/11] media: imx219: Switch from open to init_cfg Jean-Michel Hautbois
2022-02-02 17:56 ` [RFC PATCH v3 08/11] media: imx219: Introduce the set_routing operation Jean-Michel Hautbois
2022-02-02 17:56 ` [RFC PATCH v3 09/11] media: imx219: use a local v4l2_subdev to simplify reading Jean-Michel Hautbois
2022-02-02 17:56 ` [RFC PATCH v3 10/11] media: imx219: Add support for the V4L2 subdev active state Jean-Michel Hautbois
2022-02-02 17:56 ` [RFC PATCH v3 11/11] media: bcm283x: Include the imx219 node Jean-Michel Hautbois

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=YfsHTXxx/VDHR9Jn@pendragon.ideasonboard.com \
    --to=laurent.pinchart@ideasonboard.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=robh@kernel.org \
    --cc=stefan.wahren@i2se.com \
    --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).