From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
Cc: 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, nsaenz@kernel.org,
bcm-kernel-feedback-list@broadcom.com
Subject: Re: [RFC PATCH v4 03/12] dt-bindings: media: Add bindings for bcm2835-unicam
Date: Fri, 4 Feb 2022 04:42:35 +0200 [thread overview]
Message-ID: <YfySmx/unIvHolh3@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20220203175009.558868-4-jeanmichel.hautbois@ideasonboard.com>
Hi Jean-Michel,
Thank you for the patch.
On Thu, Feb 03, 2022 at 06:50:00PM +0100, Jean-Michel Hautbois wrote:
> Introduce the dt-bindings documentation for bcm2835 CCP2/CSI2 Unicam
> camera interface. Also add a MAINTAINERS entry for it.
You can drop the last sentence now that the MAINTAINERS entry has been
moved out.
> 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
"[...] device tree nodes whose name starts with '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.
As Stefan pointed out, you need
reg-names:
items:
- const: main
- const: cmi
Alternatives for main could be core or unicam. Dave, do you have a
preference ?
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + items:
> + - description: Clock to drive the LP state machine of Unicam.
> + - description: Clock for the vpu (core clock).
s/vpu/VPU/
> +
> + 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
I'd write
description: |
Number of CSI-2 data lanes supported by this Unicam instance. The number
of data lanes actively used is specified with the data-lanes endpoint
property.
> +
> + port:
> + additionalProperties: false
Shouldn't this be unevaluatedProperties ?
I would also put it after the $ref line.
> + $ref: /schemas/graph.yaml#/$defs/port-base
> +
> + properties:
> + endpoint:
> + $ref: /schemas/media/video-interfaces.yaml#
> + unevaluatedProperties: false
> +
> + properties:
> + data-lanes: true
> + link-frequencies: true
link-frequencies is specified on the sensor side, not here. You can drop
it.
> +
> + required:
> + - data-lanes
> + - link-frequencies
> +
> + required:
> + - endpoint
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> + - clock-names
> + - power-domains
> + - brcm,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>;
> + brcm,num-data-lanes = <2>;
> + port {
> + csi1_ep: endpoint {
Wrong indentation.
> + remote-endpoint = <&imx219_0>;
> + data-lanes = <1 2>;
> + link-frequencies = /bits/ 64 <456000000>;
Drop link-frequencies here too.
With these small issues fixed,
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> + };
> + };
> + };
> +...
--
Regards,
Laurent Pinchart
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
Cc: 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, nsaenz@kernel.org,
bcm-kernel-feedback-list@broadcom.com
Subject: Re: [RFC PATCH v4 03/12] dt-bindings: media: Add bindings for bcm2835-unicam
Date: Fri, 4 Feb 2022 04:42:35 +0200 [thread overview]
Message-ID: <YfySmx/unIvHolh3@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20220203175009.558868-4-jeanmichel.hautbois@ideasonboard.com>
Hi Jean-Michel,
Thank you for the patch.
On Thu, Feb 03, 2022 at 06:50:00PM +0100, Jean-Michel Hautbois wrote:
> Introduce the dt-bindings documentation for bcm2835 CCP2/CSI2 Unicam
> camera interface. Also add a MAINTAINERS entry for it.
You can drop the last sentence now that the MAINTAINERS entry has been
moved out.
> 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
"[...] device tree nodes whose name starts with '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.
As Stefan pointed out, you need
reg-names:
items:
- const: main
- const: cmi
Alternatives for main could be core or unicam. Dave, do you have a
preference ?
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + items:
> + - description: Clock to drive the LP state machine of Unicam.
> + - description: Clock for the vpu (core clock).
s/vpu/VPU/
> +
> + 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
I'd write
description: |
Number of CSI-2 data lanes supported by this Unicam instance. The number
of data lanes actively used is specified with the data-lanes endpoint
property.
> +
> + port:
> + additionalProperties: false
Shouldn't this be unevaluatedProperties ?
I would also put it after the $ref line.
> + $ref: /schemas/graph.yaml#/$defs/port-base
> +
> + properties:
> + endpoint:
> + $ref: /schemas/media/video-interfaces.yaml#
> + unevaluatedProperties: false
> +
> + properties:
> + data-lanes: true
> + link-frequencies: true
link-frequencies is specified on the sensor side, not here. You can drop
it.
> +
> + required:
> + - data-lanes
> + - link-frequencies
> +
> + required:
> + - endpoint
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> + - clock-names
> + - power-domains
> + - brcm,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>;
> + brcm,num-data-lanes = <2>;
> + port {
> + csi1_ep: endpoint {
Wrong indentation.
> + remote-endpoint = <&imx219_0>;
> + data-lanes = <1 2>;
> + link-frequencies = /bits/ 64 <456000000>;
Drop link-frequencies here too.
With these small issues fixed,
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> + };
> + };
> + };
> +...
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2022-02-04 2:44 UTC|newest]
Thread overview: 62+ 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 ` 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 ` 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:49 ` 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 17:50 ` Jean-Michel Hautbois
2022-02-03 20:01 ` Stefan Wahren
2022-02-03 20:01 ` Stefan Wahren
2022-02-04 2:42 ` Laurent Pinchart [this message]
2022-02-04 2:42 ` Laurent Pinchart
2022-02-04 8:50 ` (EXT) " Alexander Stein
2022-02-04 8:50 ` Alexander Stein
2022-02-05 2:22 ` Laurent Pinchart
2022-02-05 2:22 ` Laurent Pinchart
2022-02-07 6:30 ` (EXT) " Alexander Stein
2022-02-07 6:30 ` Alexander Stein
2022-02-08 1:36 ` Laurent Pinchart
2022-02-08 1:36 ` Laurent Pinchart
2022-02-08 11:35 ` Dave Stevenson
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-03 17:50 ` Jean-Michel Hautbois
2022-02-04 2:40 ` Laurent Pinchart
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 17:50 ` Jean-Michel Hautbois
2022-02-03 20:42 ` Stefan Wahren
2022-02-03 20:42 ` Stefan Wahren
2022-02-05 2:20 ` Laurent Pinchart
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 17:50 ` Jean-Michel Hautbois
2022-02-03 20:06 ` Stefan Wahren
2022-02-03 20:06 ` Stefan Wahren
2022-02-04 2:45 ` Laurent Pinchart
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-03 17:50 ` Jean-Michel Hautbois
2022-02-04 2:51 ` Laurent Pinchart
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-03 17:50 ` Jean-Michel Hautbois
2022-02-04 2:54 ` Laurent Pinchart
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 ` 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-03 17:50 ` Jean-Michel Hautbois
2022-02-04 2:56 ` Laurent Pinchart
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 ` Jean-Michel Hautbois
2022-02-03 17:50 ` [RFC PATCH v4 12/12] media: bcm283x: Include the imx219 node Jean-Michel Hautbois
2022-02-03 17:50 ` Jean-Michel Hautbois
2022-02-04 2:49 ` Laurent Pinchart
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-03 19:55 ` Stefan Wahren
2022-02-04 0:38 ` Laurent Pinchart
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=YfySmx/unIvHolh3@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.