All of lore.kernel.org
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Luca Weiss <luca@z3ntu.xyz>, linux-arm-msm@vger.kernel.org
Cc: ~postmarketos/upstreaming@lists.sr.ht,
	phone-devel@vger.kernel.org,
	Loic Poulain <loic.poulain@linaro.org>,
	Robert Foss <robert.foss@linaro.org>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Todor Tomov <todor.too@gmail.com>, Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	linux-i2c@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
	matti.lehtimaki@gmail.com
Subject: Re: [RFC PATCH 01/14] media: dt-bindings: media: camss: Add qcom,msm8974-camss binding
Date: Mon, 23 May 2022 12:07:10 +0200	[thread overview]
Message-ID: <170dd20b-ab0b-0f61-bfe9-cb9167a2e133@linaro.org> (raw)
In-Reply-To: <20220522162802.208275-2-luca@z3ntu.xyz>

On 22/05/2022 18:27, Luca Weiss wrote:
> From: Matti Lehtimäki <matti.lehtimaki@gmail.com>

Thank you for your patch. There is something to discuss/improve.

> 
> Add bindings for qcom,msm8974-camss in order to support the camera
> subsystem on MSM8974.
> 
> Signed-off-by: Matti Lehtimäki <matti.lehtimaki@gmail.com>
> Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> ---
>  .../bindings/media/qcom,msm8974-camss.yaml    | 321 ++++++++++++++++++
>  1 file changed, 321 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/media/qcom,msm8974-camss.yaml
> 
> diff --git a/Documentation/devicetree/bindings/media/qcom,msm8974-camss.yaml b/Documentation/devicetree/bindings/media/qcom,msm8974-camss.yaml
> new file mode 100644
> index 000000000000..f8f71e477535
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/qcom,msm8974-camss.yaml
> @@ -0,0 +1,321 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/media/qcom,msm8974-camss.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: Qualcomm CAMSS ISP
> +
> +maintainers:
> +  - Robert Foss <robert.foss@linaro.org>
> +
> +description: |
> +  The CAMSS IP is a CSI decoder and ISP present on Qualcomm platforms
> +
> +properties:
> +  compatible:
> +    const: qcom,msm8974-camss
> +
> +  clocks:
> +    minItems: 31

No need for minItems, they are equal to max by default.

> +    maxItems: 31
> +
> +  clock-names:
> +    items:
> +      - const: top_ahb
> +      - const: ispif_ahb
> +      - const: csiphy0_timer
> +      - const: csiphy1_timer
> +      - const: csiphy2_timer
> +      - const: csi0_ahb
> +      - const: csi0
> +      - const: csi0_phy
> +      - const: csi0_pix
> +      - const: csi0_rdi
> +      - const: csi1_ahb
> +      - const: csi1
> +      - const: csi1_phy
> +      - const: csi1_pix
> +      - const: csi1_rdi
> +      - const: csi2_ahb
> +      - const: csi2
> +      - const: csi2_phy
> +      - const: csi2_pix
> +      - const: csi2_rdi
> +      - const: csi3_ahb
> +      - const: csi3
> +      - const: csi3_phy
> +      - const: csi3_pix
> +      - const: csi3_rdi
> +      - const: vfe0
> +      - const: vfe1
> +      - const: csi_vfe0
> +      - const: csi_vfe1
> +      - const: iface
> +      - const: bus
> +
> +  interrupts:
> +    minItems: 10

Same.

> +    maxItems: 10
> +
> +  interrupt-names:
> +    items:
> +      - const: csiphy0
> +      - const: csiphy1
> +      - const: csiphy2
> +      - const: csid0
> +      - const: csid1
> +      - const: csid2
> +      - const: csid3
> +      - const: ispif
> +      - const: vfe0
> +      - const: vfe1
> +
> +  power-domains:
> +    items:
> +      - description: VFE GDSC - Video Front End, Global Distributed Switch Controller.
> +
> +  ports:
> +    $ref: /schemas/graph.yaml#/properties/ports
> +
> +    description:
> +      CSI input ports.
> +
> +    properties:
> +      port@0:
> +        $ref: /schemas/graph.yaml#/$defs/port-base
> +        unevaluatedProperties: false
> +        description:
> +          Input port for receiving CSI data.
> +
> +        properties:
> +          endpoint:
> +            $ref: video-interfaces.yaml#
> +            unevaluatedProperties: false
> +
> +            properties:
> +              clock-lanes:
> +                items:
> +                  - const: 1
> +
> +              data-lanes:
> +                minItems: 1
> +                maxItems: 4
> +
> +            required:
> +              - clock-lanes
> +              - data-lanes
> +
> +      port@1:

These look all the same, so just use patternPropreties (in "ports") with
proper pattern.

> +        $ref: /schemas/graph.yaml#/$defs/port-base
> +        unevaluatedProperties: false
> +        description:
> +          Input port for receiving CSI data.
> +
> +        properties:
> +          endpoint:
> +            $ref: video-interfaces.yaml#
> +            unevaluatedProperties: false
> +
> +            properties:
> +              clock-lanes:
> +                items:
> +                  - const: 1
> +
> +              data-lanes:
> +                minItems: 1
> +                maxItems: 4
> +
> +            required:
> +              - clock-lanes
> +              - data-lanes
> +
> +      port@2:
> +        $ref: /schemas/graph.yaml#/$defs/port-base
> +        unevaluatedProperties: false
> +        description:
> +          Input port for receiving CSI data.
> +
> +        properties:
> +          endpoint:
> +            $ref: video-interfaces.yaml#
> +            unevaluatedProperties: false
> +
> +            properties:
> +              clock-lanes:
> +                items:
> +                  - const: 1
> +
> +              data-lanes:
> +                minItems: 1
> +                maxItems: 4
> +
> +            required:
> +              - clock-lanes
> +              - data-lanes
> +
> +  reg:
> +    minItems: 14
> +    maxItems: 14
> +
> +  reg-names:
> +    items:
> +      - const: csiphy0
> +      - const: csiphy0_clk_mux
> +      - const: csiphy1
> +      - const: csiphy1_clk_mux
> +      - const: csiphy2
> +      - const: csiphy2_clk_mux
> +      - const: csid0
> +      - const: csid1
> +      - const: csid2
> +      - const: csid3
> +      - const: ispif
> +      - const: csi_clk_mux
> +      - const: vfe0
> +      - const: vfe1
> +
> +  vdda-supply:
> +    description:
> +      Definition of the regulator used as analog power supply.
> +
> +required:
> +  - clock-names
> +  - clocks
> +  - compatible
> +  - interrupt-names
> +  - interrupts
> +  - power-domains
> +  - reg
> +  - reg-names
> +  - vdda-supply
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    #include <dt-bindings/clock/qcom,gcc-msm8974.h>
> +    #include <dt-bindings/clock/qcom,mmcc-msm8974.h>
> +    camss@fda00000 {

Generic node name, so "isp" I guess?

> +        compatible = "qcom,msm8974-camss";
> +        reg = <0xfda0ac00 0x200>,
> +              <0xfda00030 0x4>,
> +              <0xfda0b000 0x200>,
> +              <0xfda00038 0x4>,
> +              <0xfda0b400 0x200>,
> +              <0xfda00040 0x4>,
> +              <0xfda08000 0x100>,
> +              <0xfda08400 0x100>,
> +              <0xfda08800 0x100>,
> +              <0xfda08c00 0x100>,
> +              <0xfda0a000 0x800>,
> +              <0xfda00020 0x10>,
> +              <0xfda10000 0x1000>,
> +              <0xfda14000 0x1000>;
> +        reg-names = "csiphy0",
> +                    "csiphy0_clk_mux",
> +                    "csiphy1",
> +                    "csiphy1_clk_mux",
> +                    "csiphy2",
> +                    "csiphy2_clk_mux",
> +                    "csid0",
> +                    "csid1",
> +                    "csid2",
> +                    "csid3",
> +                    "ispif",
> +                    "csi_clk_mux",
> +                    "vfe0",
> +                    "vfe1";
> +        interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>,
> +                     <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>,
> +                     <GIC_SPI 80 IRQ_TYPE_EDGE_RISING>,
> +                     <GIC_SPI 51 IRQ_TYPE_EDGE_RISING>,
> +                     <GIC_SPI 52 IRQ_TYPE_EDGE_RISING>,
> +                     <GIC_SPI 53 IRQ_TYPE_EDGE_RISING>,
> +                     <GIC_SPI 54 IRQ_TYPE_EDGE_RISING>,
> +                     <GIC_SPI 55 IRQ_TYPE_EDGE_RISING>,
> +                     <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>,
> +                     <GIC_SPI 58 IRQ_TYPE_EDGE_RISING>;
> +        interrupt-names = "csiphy0",
> +                          "csiphy1",
> +                          "csiphy2",
> +                          "csid0",
> +                          "csid1",
> +                          "csid2",
> +                          "csid3",
> +                          "ispif",
> +                          "vfe0",
> +                          "vfe1";
> +        power-domains = <&mmcc CAMSS_VFE_GDSC>;
> +        clocks = <&mmcc CAMSS_TOP_AHB_CLK>,
> +                 <&mmcc CAMSS_ISPIF_AHB_CLK>,
> +                 <&mmcc CAMSS_PHY0_CSI0PHYTIMER_CLK>,
> +                 <&mmcc CAMSS_PHY1_CSI1PHYTIMER_CLK>,
> +                 <&mmcc CAMSS_PHY2_CSI2PHYTIMER_CLK>,
> +                 <&mmcc CAMSS_CSI0_AHB_CLK>,
> +                 <&mmcc CAMSS_CSI0_CLK>,
> +                 <&mmcc CAMSS_CSI0PHY_CLK>,
> +                 <&mmcc CAMSS_CSI0PIX_CLK>,
> +                 <&mmcc CAMSS_CSI0RDI_CLK>,
> +                 <&mmcc CAMSS_CSI1_AHB_CLK>,
> +                 <&mmcc CAMSS_CSI1_CLK>,
> +                 <&mmcc CAMSS_CSI1PHY_CLK>,
> +                 <&mmcc CAMSS_CSI1PIX_CLK>,
> +                 <&mmcc CAMSS_CSI1RDI_CLK>,
> +                 <&mmcc CAMSS_CSI2_AHB_CLK>,
> +                 <&mmcc CAMSS_CSI2_CLK>,
> +                 <&mmcc CAMSS_CSI2PHY_CLK>,
> +                 <&mmcc CAMSS_CSI2PIX_CLK>,
> +                 <&mmcc CAMSS_CSI2RDI_CLK>,
> +                 <&mmcc CAMSS_CSI3_AHB_CLK>,
> +                 <&mmcc CAMSS_CSI3_CLK>,
> +                 <&mmcc CAMSS_CSI3PHY_CLK>,
> +                 <&mmcc CAMSS_CSI3PIX_CLK>,
> +                 <&mmcc CAMSS_CSI3RDI_CLK>,
> +                 <&mmcc CAMSS_VFE_VFE0_CLK>,
> +                 <&mmcc CAMSS_VFE_VFE1_CLK>,
> +                 <&mmcc CAMSS_CSI_VFE0_CLK>,
> +                 <&mmcc CAMSS_CSI_VFE1_CLK>,
> +                 <&mmcc CAMSS_VFE_VFE_AHB_CLK>,
> +                 <&mmcc CAMSS_VFE_VFE_AXI_CLK>;
> +        clock-names = "top_ahb",
> +                      "ispif_ahb",
> +                      "csiphy0_timer",
> +                      "csiphy1_timer",
> +                      "csiphy2_timer",
> +                      "csi0_ahb",
> +                      "csi0",
> +                      "csi0_phy",
> +                      "csi0_pix",
> +                      "csi0_rdi",
> +                      "csi1_ahb",
> +                      "csi1",
> +                      "csi1_phy",
> +                      "csi1_pix",
> +                      "csi1_rdi",
> +                      "csi2_ahb",
> +                      "csi2",
> +                      "csi2_phy",
> +                      "csi2_pix",
> +                      "csi2_rdi",
> +                      "csi3_ahb",
> +                      "csi3",
> +                      "csi3_phy",
> +                      "csi3_pix",
> +                      "csi3_rdi",
> +                      "vfe0",
> +                      "vfe1",
> +                      "csi_vfe0",
> +                      "csi_vfe1",
> +                      "iface",
> +                      "bus";
> +
> +        vdda-supply = <&pm8941_l12>;
> +
> +        ports {
> +                #address-cells = <1>;
> +                #size-cells = <0>;

This is not a complete example... empty ports node is useless, isn't it?

> +        };
> +    };


Best regards,
Krzysztof

  reply	other threads:[~2022-05-23 10:07 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-22 16:27 [RFC PATCH 00/14] CAMSS support for MSM8974 Luca Weiss
2022-05-22 16:27 ` [RFC PATCH 01/14] media: dt-bindings: media: camss: Add qcom,msm8974-camss binding Luca Weiss
2022-05-23 10:07   ` Krzysztof Kozlowski [this message]
2022-06-02 13:01     ` Rob Herring
2022-05-22 16:27 ` [RFC PATCH 02/14] media: camss: Add CAMSS_8x74 camss version Luca Weiss
2022-05-26 12:32   ` Robert Foss
2022-05-22 16:27 ` [RFC PATCH 03/14] media: camss: vfe: Add support for 8x74 Luca Weiss
2022-05-26 12:36   ` Robert Foss
2022-05-22 16:27 ` [RFC PATCH 04/14] media: camss: video: " Luca Weiss
2022-05-26 12:37   ` Robert Foss
2022-05-22 16:27 ` [RFC PATCH 05/14] media: camss: csid: " Luca Weiss
2022-05-26 12:38   ` Robert Foss
2022-05-22 16:27 ` [RFC PATCH 06/14] media: camss: ispif: " Luca Weiss
2022-05-26 12:39   ` Robert Foss
2022-05-22 16:27 ` [RFC PATCH 07/14] media: camss: csiphy: " Luca Weiss
2022-05-26 12:40   ` Robert Foss
2022-05-22 16:27 ` [RFC PATCH 08/14] media: camss: Add 8x74 resources Luca Weiss
2022-05-26 12:42   ` Robert Foss
2022-05-22 16:27 ` [RFC PATCH 09/14] dt-bindings: i2c: qcom-cci: add QCOM MSM8974 compatible Luca Weiss
2022-05-23 10:07   ` Krzysztof Kozlowski
2022-05-22 16:27 ` [RFC PATCH 10/14] i2c: qcom-cci: add msm8974 compatible Luca Weiss
2022-06-14 20:20   ` Wolfram Sang
2022-06-15 17:13     ` Loic Poulain
2022-06-15 17:11   ` Loic Poulain
2022-05-22 16:27 ` [RFC PATCH 11/14] ARM: dts: qcom: msm8974: add CCI bus Luca Weiss
2022-05-26 12:16   ` Robert Foss
2022-05-22 16:28 ` [RFC PATCH 12/14] ARM: dts: qcom: msm8974: add CAMSS node Luca Weiss
2022-05-22 16:28 ` [RFC PATCH 13/14] ARM: dts: qcom: msm8974-FP2: Add OV8865 rear camera Luca Weiss
2022-05-22 16:28 ` [RFC PATCH 14/14] [DNM] media: camss: hacks for MSM8974 Luca Weiss
2022-05-23 12:39 ` [RFC PATCH 00/14] CAMSS support " Dmitry Baryshkov
2022-05-23 18:30   ` Brian Masney

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=170dd20b-ab0b-0f61-bfe9-cb9167a2e133@linaro.org \
    --to=krzysztof.kozlowski@linaro.org \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=loic.poulain@linaro.org \
    --cc=luca@z3ntu.xyz \
    --cc=matti.lehtimaki@gmail.com \
    --cc=mchehab@kernel.org \
    --cc=phone-devel@vger.kernel.org \
    --cc=robert.foss@linaro.org \
    --cc=robh+dt@kernel.org \
    --cc=todor.too@gmail.com \
    --cc=~postmarketos/upstreaming@lists.sr.ht \
    /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.