From: Rui Miguel Silva <rmfrfs@gmail.com>
To: Jacopo Mondi <jacopo@jmondi.org>
Cc: Rob Herring <robh+dt@kernel.org>,
sakari.ailus@linux.intel.com, Hans Verkuil <hverkuil@xs4all.nl>,
linux-media@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v2 3/3] dt-bindings: imx7-mipi-csi2: convert bindings to yaml
Date: Fri, 16 Oct 2020 15:51:09 +0100 [thread overview]
Message-ID: <20201016145109.lscb56fwfs3k4jct@arch-thunder.localdomain> (raw)
In-Reply-To: <20201015155251.3npqi2t4oghuguab@uno.localdomain>
Hi again Jacopo,
On Thu, Oct 15, 2020 at 05:52:51PM +0200, Jacopo Mondi wrote:
> Hi Rui,
>
> On Wed, Oct 14, 2020 at 03:27:59PM +0100, Rui Miguel Silva wrote:
> > Convert imx7 mipi csi2 bindings documentation to yaml schema, remove
> > the textual document and update MAINTAINERS entry.
> >
> > Signed-off-by: Rui Miguel Silva <rmfrfs@gmail.com>
> > ---
> > .../bindings/media/imx7-mipi-csi2.txt | 90 ---------
> > .../bindings/media/nxp,imx7-mipi-csi2.yaml | 181 ++++++++++++++++++
> > MAINTAINERS | 2 +-
> > 3 files changed, 182 insertions(+), 91 deletions(-)
> > delete mode 100644 Documentation/devicetree/bindings/media/imx7-mipi-csi2.txt
> > create mode 100644 Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/media/imx7-mipi-csi2.txt b/Documentation/devicetree/bindings/media/imx7-mipi-csi2.txt
> > deleted file mode 100644
> > index 71fd74ed3ec8..000000000000
> > --- a/Documentation/devicetree/bindings/media/imx7-mipi-csi2.txt
> > +++ /dev/null
> > @@ -1,90 +0,0 @@
> > -Freescale i.MX7 Mipi CSI2
> > -=========================
> > -
> > -mipi_csi2 node
> > ---------------
> > -
> > -This is the device node for the MIPI CSI-2 receiver core in i.MX7 SoC. It is
> > -compatible with previous version of Samsung D-phy.
> > -
> > -Required properties:
> > -
> > -- compatible : "fsl,imx7-mipi-csi2";
> > -- reg : base address and length of the register set for the device;
> > -- interrupts : should contain MIPI CSIS interrupt;
> > -- clocks : list of clock specifiers, see
> > - Documentation/devicetree/bindings/clock/clock-bindings.txt for details;
> > -- clock-names : must contain "pclk", "wrap" and "phy" entries, matching
> > - entries in the clock property;
> > -- power-domains : a phandle to the power domain, see
> > - Documentation/devicetree/bindings/power/power_domain.txt for details.
> > -- reset-names : should include following entry "mrst";
> > -- resets : a list of phandle, should contain reset entry of
> > - reset-names;
> > -- phy-supply : from the generic phy bindings, a phandle to a regulator that
> > - provides power to MIPI CSIS core;
> > -
> > -Optional properties:
> > -
> > -- clock-frequency : The IP's main (system bus) clock frequency in Hz, default
> > - value when this property is not specified is 166 MHz;
> > -- fsl,csis-hs-settle : differential receiver (HS-RX) settle time;
> > -
> > -The device node should contain two 'port' child nodes with one child 'endpoint'
> > -node, according to the bindings defined in:
> > - Documentation/devicetree/bindings/ media/video-interfaces.txt.
> > - The following are properties specific to those nodes.
> > -
> > -port node
> > ----------
> > -
> > -- reg : (required) can take the values 0 or 1, where 0 shall be
> > - related to the sink port and port 1 shall be the source
> > - one;
> > -
> > -endpoint node
> > --------------
> > -
> > -- data-lanes : (required) an array specifying active physical MIPI-CSI2
> > - data input lanes and their mapping to logical lanes; this
> > - shall only be applied to port 0 (sink port), the array's
> > - content is unused only its length is meaningful,
> > - in this case the maximum length supported is 2;
> > -
> > -example:
> > -
> > - mipi_csi: mipi-csi@30750000 {
> > - #address-cells = <1>;
> > - #size-cells = <0>;
> > -
> > - compatible = "fsl,imx7-mipi-csi2";
> > - reg = <0x30750000 0x10000>;
> > - interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
> > - clocks = <&clks IMX7D_IPG_ROOT_CLK>,
> > - <&clks IMX7D_MIPI_CSI_ROOT_CLK>,
> > - <&clks IMX7D_MIPI_DPHY_ROOT_CLK>;
> > - clock-names = "pclk", "wrap", "phy";
> > - clock-frequency = <166000000>;
> > - power-domains = <&pgc_mipi_phy>;
> > - phy-supply = <®_1p0d>;
> > - resets = <&src IMX7_RESET_MIPI_PHY_MRST>;
> > - reset-names = "mrst";
> > - fsl,csis-hs-settle = <3>;
> > -
> > - port@0 {
> > - reg = <0>;
> > -
> > - mipi_from_sensor: endpoint {
> > - remote-endpoint = <&ov2680_to_mipi>;
> > - data-lanes = <1>;
> > - };
> > - };
> > -
> > - port@1 {
> > - reg = <1>;
> > -
> > - mipi_vc0_to_csi_mux: endpoint {
> > - remote-endpoint = <&csi_mux_from_mipi_vc0>;
> > - };
> > - };
> > - };
> > diff --git a/Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml b/Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml
> > new file mode 100644
> > index 000000000000..0438b28232ed
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml
> > @@ -0,0 +1,181 @@
> > +# SPDX-License-Identifier: GPL-2.0-only
>
> Same question about dual licensing
>
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/media/nxp,imx7-mipi-csi2.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: NXP i.MX7 Mipi CSI2
> > +
> > +maintainers:
> > + - Rui Miguel Silva <rmfrfs@gmail.com>
> > +
> > +description: |
> > + this is the device node for the mipi csi-2 receiver core in i.mx7 soc. it is
> > + compatible with previous version of samsung d-phy.
>
> nit: missing a few captial letters (beginning and after a full stop).
will fix along all document.
> > +
> > +properties:
> > + compatible:
> > + items:
> > + - enum:
> > + - fsl,imx7-mipi-csi2
>
> Should enum with a single item be expressed as a const ?
agree.
>
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + interrupts:
> > + maxItems: 1
> > +
> > + clocks:
> > + minItems: 3
> > +
> > + clock-names:
> > + items:
> > + - const: pclk
> > + - const: wrap
> > + - const: phy
> > +
> > + power-domains:
> > + maxItems: 1
> > +
> > + phy-supply:
> > + description:
> > + Phandle to a regulator that provides power to the PHY. This
> > + regulator will be managed during the PHY power on/off sequence.
> > +
> > + resets:
> > + maxItems: 1
> > +
> > + reset-names:
> > + const: mrst
> > +
> > + clock-frequency:
>
> This was here already, but shouldn't this property be assigned in the
> clock provider and you should have here a reference to it ? Otherwise,
> is this really a custom property hijacking a standard property name ?
>
> I see it is mentioned in the example-schema.yaml, so it's probably
> correct.
I think limits and default can be assigned here.
>
> > + description:
> > + The IP main (system bus) clock frequency in Hertz
> > + default: 166000000
> > +
> > + fsl,csis-hs-settle:
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > + description:
> > + differential receiver (HS-RX) settle time
>
> You have used capital letters at the beginning of documentation blocks
> before.
>
> > +
> > + ports:
> > + type: object
> > + description:
> > + A node containing input and output port nodes with endpoint definitions
> > + as documented in
> > + Documentation/devicetree/bindings/media/video-interfaces.txt
> > +
> > + properties:
> > + '#address-cells':
> > + const: 1
> > +
> > + '#size-cells':
> > + const: 0
> > +
> > + port@0:
> > + type: object
> > + description:
> > + Input port node, single endpoint describing the CSI-2 transmitter.
> > +
> > + properties:
> > + reg:
> > + const: 0
> > +
> > + endpoint:
> > + type: object
> > +
> > + properties:
> > + data-lanes:
> > + maxItems: 1
>
> How many data lanes does this receiver supports ? I see in the txt
> bindingsd:
> data-lanes : (required) an array specifying active physical MIPI-CSI2
> data input lanes and their mapping to logical lanes; this
> shall only be applied to port 0 (sink port), the array's
> content is unused only its length is meaningful,
> in this case the maximum length supported is 2;
>
> I'm not sure I fully get this. Does this mean up to 2 data lanes are
> supported ?
yeah, it supports up to 2 data lanes. Will fix
>
> > +
> > + remote-endpoint: true
> > +
> > + required:
> > + - data-lanes
> > + - remote-endpoint
> > +
> > + additionalProperties: false
> > +
> > + additionalProperties: false
> > +
> > + port@1:
> > + type: object
> > + description:
> > + Output port node,
>
> Rougue ',' at the end. You probably want a full stop or
> > +
> > + properties:
> > + reg:
> > + const: 1
> > +
> > + endpoint:
> > + type: object
> > +
> > + properties:
> > + remote-endpoint: true
> > +
> > + required:
> > + - remote-endpoint
> > +
> > + additionalProperties: false
>
> As no other endpoint property is specified, the whole 'endpoint' block
> can probably be omitted ?
>
> > +
> > + additionalProperties: false
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - interrupts
> > + - clocks
> > + - clock-names
> > + - power-domains
> > + - resets
> > + - reset-names
> > + - ports
>
> phy-supply was listed as required in the txt bindings
good catch.
>
> > +
> > +unevaluatedProperties: false
>
> additionalProperties: false
>
Thanks again for your review.
Cheers,
Rui
> Thanks
> j
>
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/clock/imx7d-clock.h>
> > + #include <dt-bindings/interrupt-controller/arm-gic.h>
> > + #include <dt-bindings/interrupt-controller/irq.h>
> > + #include <dt-bindings/reset/imx7-reset.h>
> > +
> > + mipi_csi: mipi-csi@30750000 {
> > + compatible = "fsl,imx7-mipi-csi2";
> > + reg = <0x30750000 0x10000>;
> > + interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
> > +
> > + clocks = <&clks IMX7D_IPG_ROOT_CLK>,
> > + <&clks IMX7D_MIPI_CSI_ROOT_CLK>,
> > + <&clks IMX7D_MIPI_DPHY_ROOT_CLK>;
> > + clock-names = "pclk", "wrap", "phy";
> > + clock-frequency = <166000000>;
> > +
> > + power-domains = <&pgc_mipi_phy>;
> > + phy-supply = <®_1p0d>;
> > + resets = <&src IMX7_RESET_MIPI_PHY_MRST>;
> > + reset-names = "mrst";
> > + fsl,csis-hs-settle = <3>;
> > +
> > + ports {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + port@0 {
> > + reg = <0>;
> > +
> > + mipi_from_sensor: endpoint {
> > + remote-endpoint = <&ov2680_to_mipi>;
> > + data-lanes = <1>;
> > + };
> > + };
> > +
> > + port@1 {
> > + reg = <1>;
> > +
> > + mipi_vc0_to_csi_mux: endpoint {
> > + remote-endpoint = <&csi_mux_from_mipi_vc0>;
> > + };
> > + };
> > + };
> > + };
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index b7f7f14cd85b..9da67222b0c7 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -10773,8 +10773,8 @@ L: linux-media@vger.kernel.org
> > S: Maintained
> > T: git git://linuxtv.org/media_tree.git
> > F: Documentation/admin-guide/media/imx7.rst
> > -F: Documentation/devicetree/bindings/media/imx7-mipi-csi2.txt
> > F: Documentation/devicetree/bindings/media/nxp,imx7-csi.yaml
> > +F: Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml
> > F: drivers/staging/media/imx/imx7-media-csi.c
> > F: drivers/staging/media/imx/imx7-mipi-csis.c
> >
> > --
> > 2.28.0
> >
next prev parent reply other threads:[~2020-10-16 14:51 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-14 14:27 [PATCH v2 0/3] dt-bindings: media: imx7 and ov2680 updates to yaml Rui Miguel Silva
2020-10-14 14:27 ` [PATCH v2 1/3] dt-bindings: ov2680: convert bindings " Rui Miguel Silva
2020-10-15 14:49 ` Jacopo Mondi
2020-10-16 14:42 ` Rui Miguel Silva
2020-10-19 20:33 ` Rob Herring
2020-10-21 15:52 ` Jacopo Mondi
2020-12-01 22:44 ` Rob Herring
2020-10-19 20:39 ` Rob Herring
2020-10-20 9:09 ` Rui Miguel Silva
2020-10-14 14:27 ` [PATCH v2 2/3] dt-bindings: imx7-csi: " Rui Miguel Silva
2020-10-15 15:25 ` Jacopo Mondi
2020-10-16 14:44 ` Rui Miguel Silva
2020-10-14 14:27 ` [PATCH v2 3/3] dt-bindings: imx7-mipi-csi2: " Rui Miguel Silva
2020-10-15 15:52 ` Jacopo Mondi
2020-10-16 14:51 ` Rui Miguel Silva [this message]
2020-10-16 18:02 ` Jacopo Mondi
2020-10-19 14:29 ` Rui Miguel Silva
2020-10-16 15:45 ` Rob Herring
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=20201016145109.lscb56fwfs3k4jct@arch-thunder.localdomain \
--to=rmfrfs@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=hverkuil@xs4all.nl \
--cc=jacopo@jmondi.org \
--cc=linux-media@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=sakari.ailus@linux.intel.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).