Re: [PATCH v6 1/5] dt-bindings: media: add mediatek ISP3.0 sensor interface

From: Laurent Pinchart
Date: Tue Jul 30 2024 - 08:39:19 EST


Hi Angelo,

On Mon, Jul 29, 2024 at 05:08:35PM +0200, AngeloGioacchino Del Regno wrote:
> Il 29/07/24 16:57, AngeloGioacchino Del Regno ha scritto:
> > Il 29/07/24 16:48, Julien Stephan ha scritto:
> >> From: Louis Kuo <louis.kuo@xxxxxxxxxxxx>
> >>
> >> This adds the bindings, for the mediatek ISP3.0 SENINF module embedded in
> >> some Mediatek SoC, such as the mt8365
> >>
> >> Signed-off-by: Louis Kuo <louis.kuo@xxxxxxxxxxxx>
> >> Signed-off-by: Phi-Bang Nguyen <pnguyen@xxxxxxxxxxxx>
> >> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> >> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> >> Signed-off-by: Julien Stephan <jstephan@xxxxxxxxxxxx>
> >> ---
> >>   .../bindings/media/mediatek,mt8365-seninf.yaml     | 259 +++++++++++++++++++++
> >>   MAINTAINERS                                        |   7 +
> >>   2 files changed, 266 insertions(+)
> >>
> >> diff --git a/Documentation/devicetree/bindings/media/mediatek,mt8365-seninf.yaml
> >> b/Documentation/devicetree/bindings/media/mediatek,mt8365-seninf.yaml
> >> new file mode 100644
> >> index 000000000000..8bd78ef424ac
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/media/mediatek,mt8365-seninf.yaml
> >> @@ -0,0 +1,259 @@
> >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >> +# Copyright (c) 2023 MediaTek, BayLibre
> >> +%YAML 1.2
> >> +---
> >> +$id: http://devicetree.org/schemas/media/mediatek,mt8365-seninf.yaml#
> >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >> +
> >> +title: MediaTek Sensor Interface 3.0
> >> +
> >
> > ..snip..
> >
> >> +additionalProperties: false
> >> +
> >> +examples:
> >> +  - |
> >> +    #include <dt-bindings/clock/mediatek,mt8365-clk.h>
> >> +    #include <dt-bindings/interrupt-controller/irq.h>
> >> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> >> +    #include <dt-bindings/phy/phy.h>
> >> +    #include <dt-bindings/power/mediatek,mt8365-power.h>
> >> +
> >> +    soc {
> >> +        #address-cells = <2>;
> >> +        #size-cells = <2>;
> >> +
> >> +        csi@15040000 {
> >> +            compatible = "mediatek,mt8365-seninf";
> >> +            reg = <0 0x15040000 0 0x6000>;
> >> +            interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_LOW>;
> >> +            clocks = <&camsys CLK_CAM_SENIF>,
> >> +                     <&topckgen CLK_TOP_SENIF_SEL>;
> >> +            clock-names = "camsys", "top_mux";
> >> +
> >> +            power-domains = <&spm MT8365_POWER_DOMAIN_CAM>;
> >> +
> >> +            phys = <&mipi_csi0 PHY_TYPE_DPHY>, <&mipi_csi1>;
> >> +            phy-names = "csi0", "csi1";
> >> +
> >> +            ports {
> >> +                #address-cells = <1>;
> >> +                #size-cells = <0>;
> >> +
> >> +                port@0 {
> >> +                    reg = <0>;
> >> +                    seninf_in1: endpoint {
> >> +                        clock-lanes = <2>;
> >> +                        data-lanes = <1 3 0 4>;
> >> +                        remote-endpoint = <&isp1_out>;
> >> +                    };
> >> +                };
> >> +
> >> +                port@1 {
> >> +                    reg = <1>;
> >> +                };
> >> +
> >> +                port@2 {
> >> +                    reg = <2>;
> >> +                };
> >> +
> >> +                port@3 {
> >> +                    reg = <3>;
> >> +                };
> >
> > I don't really get why you got all those empty ports here, as you could simply
> > avoid adding all of the empty nodes instead.
> >
> > I don't have strong opinions about that anyway so, regardless of that....
> >
> > Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>
>
> Wait a minute. No. The ports are all required?! Why?!

Because they exist at the hardware level, even if not all of them are
supported in drivers in this series. Ports 6 to 9, for instance, are
connected to ISPs that have no current mainline support, but they exist
in the hardware.

> >> +
> >> +                port@4 {
> >> +                    reg = <4>;
> >> +                    seninf_camsv1_endpoint: endpoint {
> >> +                        remote-endpoint = <&camsv1_endpoint>;
> >> +                    };
> >> +                };
> >> +
> >> +                port@5 {
> >> +                    reg = <5>;
> >> +                    seninf_camsv2_endpoint: endpoint {
> >> +                        remote-endpoint = <&camsv2_endpoint>;
> >> +                    };
> >> +                };
> >> +
> >> +                port@6 {
> >> +                    reg = <6>;
> >> +                };
> >> +
> >> +                port@7 {
> >> +                    reg = <7>;
> >> +                };
> >> +
> >> +                port@8 {
> >> +                    reg = <8>;
> >> +                };
> >> +
> >> +                port@9 {
> >> +                    reg = <9>;
> >> +                };
> >> +            };
> >> +        };
> >> +    };
> >> diff --git a/MAINTAINERS b/MAINTAINERS
> >> index d6c90161c7bf..6bd7df1c3e08 100644
> >> --- a/MAINTAINERS
> >> +++ b/MAINTAINERS
> >> @@ -14158,6 +14158,13 @@ M:    Sean Wang <sean.wang@xxxxxxxxxxxx>
> >>   S:    Maintained
> >>   F:    drivers/char/hw_random/mtk-rng.c
> >> +MEDIATEK ISP3.0 DRIVER
> >> +M:    Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> >> +M:    Julien Stephan <jstephan@xxxxxxxxxxxx>
> >> +M:    Andy Hsieh <andy.hsieh@xxxxxxxxxxxx>
> >> +S:    Supported
> >> +F:    Documentation/devicetree/bindings/media/mediatek,mt8365-seninf.yaml
> >> +
> >>   MEDIATEK SMI DRIVER
> >>   M:    Yong Wu <yong.wu@xxxxxxxxxxxx>
> >>   L:    linux-mediatek@xxxxxxxxxxxxxxxxxxx (moderated for non-subscribers)
> >>

--
Regards,

Laurent Pinchart