Re: [PATCH v3 1/9] media: dt-bindings: Add bindings for JH7110 Camera Subsystem

Laurent Pinchart
2023-04-04T04:39:59Z

Hi Jack,

Thank you for the patch.

On Fri, Mar 31, 2023 at 08:18:18PM +0800, Jack Zhu wrote:
> Add the bindings documentation for Starfive JH7110 Camera Subsystem
> which is used for handing image sensor data.
>
> Signed-off-by: Jack Zhu <jack.zhu@starfivetech.com>
> ---
> .../bindings/media/starfive,jh7110-camss.yaml | 159 ++++++++++++++++++
> MAINTAINERS | 7 +
> 2 files changed, 166 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml
>
> diff --git a/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml
> new file mode 100644
> index 000000000000..0235c70e7793
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml
> @@ -0,0 +1,159 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/starfive,jh7110-camss.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Starfive SoC CAMSS ISP
> +
> +maintainers:
> + - Jack Zhu <jack.zhu@starfivetech.com>
> + - Changhuang Liang <changhuang.liang@starfivetech.com>
> +
> +description:
> + The Starfive CAMSS ISP is a Camera interface for Starfive JH7110 SoC. It
> + consists of a VIN controller (Video In Controller, a top-level control until)
> + and an ISP.
> +
> +properties:
> + compatible:
> + const: starfive,jh7110-camss
> +
> + reg:
> + maxItems: 2
> +
> + reg-names:
> + items:
> + - const: syscon
> + - const: isp
> +
> + clocks:
> + maxItems: 7
> +
> + clock-names:
> + items:
> + - const: apb_func
> + - const: wrapper_clk_c
> + - const: dvp_inv
> + - const: axiwr
> + - const: mipi_rx0_pxl
> + - const: ispcore_2x
> + - const: isp_axi
> +
> + resets:
> + maxItems: 6
> +
> + reset-names:
> + items:
> + - const: wrapper_p
> + - const: wrapper_c
> + - const: axird
> + - const: axiwr
> + - const: isp_top_n
> + - const: isp_top_axi
> +
> + power-domains:
> + items:
> + - description: JH7110 ISP Power Domain Switch Controller.
> +
> + interrupts:
> + maxItems: 4
> +
> + ports:
> + $ref: /schemas/graph.yaml#/properties/ports
> +
> + properties:
> + port@0:
> + $ref: /schemas/graph.yaml#/properties/port
> + unevaluatedProperties: false
> + description:
> + Input port for receiving DVP data.
> +
> + properties:
> + endpoint:
> + $ref: video-interfaces.yaml#
> + unevaluatedProperties: false
> +
> + port@1:
> + $ref: /schemas/graph.yaml#/properties/port
> + unevaluatedProperties: false
> + description:
> + Input port for receiving CSI data.
> +
> + properties:
> + endpoint:
> + $ref: video-interfaces.yaml#
> + unevaluatedProperties: false
> +
> + required:
> + - port@1

Both ports should be required. It's fine to have unconnected ports (that
is, without any endpoint child node), but the ports should always be
present if they exist in the hardware.

> +
> +required:
> + - compatible
> + - reg
> + - reg-names
> + - clocks
> + - clock-names
> + - resets
> + - reset-names
> + - power-domains
> + - interrupts
> + - ports
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + isp@19840000 {
> + compatible = "starfive,jh7110-camss";
> + reg = <0x19840000 0x10000>,
> + <0x19870000 0x30000>;
> + reg-names = "syscon", "isp";
> + clocks = <&ispcrg 0>,
> + <&ispcrg 13>,
> + <&ispcrg 2>,
> + <&ispcrg 12>,
> + <&ispcrg 1>,
> + <&syscrg 51>,
> + <&syscrg 52>;
> + clock-names = "apb_func",
> + "wrapper_clk_c",
> + "dvp_inv",
> + "axiwr",
> + "mipi_rx0_pxl",
> + "ispcore_2x",
> + "isp_axi";
> + resets = <&ispcrg 0>,
> + <&ispcrg 1>,
> + <&ispcrg 10>,
> + <&ispcrg 11>,
> + <&syscrg 41>,
> + <&syscrg 42>;
> + reset-names = "wrapper_p",
> + "wrapper_c",
> + "axird",
> + "axiwr",
> + "isp_top_n",
> + "isp_top_axi";
> + power-domains = <&pwrc 5>;
> + interrupts = <92>, <87>, <88>, <90>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + port@0 {
> + reg = <0>;
> + vin_from_sc2235: endpoint {
> + remote-endpoint = <&sc2235_to_vin>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> + vin_from_csi2rx: endpoint {
> + remote-endpoint = <&csi2rx_to_vin>;
> + };
> + };
> + };
> + };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index b6c811326355..f7165371c56d 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -19908,6 +19908,13 @@ M: Ion Badulescu <ionut@badula.org>
> S: Odd Fixes
> F: drivers/net/ethernet/adaptec/starfire*
>
> +STARFIVE CAMERA SUBSYSTEM DRIVER
> +M: Jack Zhu <jack.zhu@starfivetech.com>
> +M: Changhuang Liang <changhuang.liang@starfivetech.com>
> +L: linux-media@vger.kernel.org
> +S: Maintained
> +F: Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml
> +
> STARFIVE DEVICETREES
> M: Emil Renner Berthing <kernel@esmil.dk>
> S: Maintained

--
Regards,

Laurent Pinchart