Hi Dan, Thank you for the patch. On Wed, Nov 06, 2024 at 10:05:22AM +0000, Daniel Scally wrote: > Add the yaml binding for ARM's Mali-C55 Image Signal Processor. > > Acked-by: Nayden Kanchev <nayden.kanchev@xxxxxxx> > Co-developed-by: Jacopo Mondi <jacopo.mondi@xxxxxxxxxxxxxxxx> > Signed-off-by: Jacopo Mondi <jacopo.mondi@xxxxxxxxxxxxxxxx> > Signed-off-by: Daniel Scally <dan.scally@xxxxxxxxxxxxxxxx> > --- > Changes in v8: > > - Added the video clock back in. Now that we have actual hardware it's > clear that it's necessary. > - Added reset lines > - Dropped R-bs > > Changes in v7: > > - None > > Changes in v6: > > - None > > Changes in v5: > > - None > > Changes in v4: > > - Switched to port instead of ports > > Changes in v3: > > - Dropped the video clock as suggested by Laurent. I didn't retain it > for the purposes of the refcount since this driver will call .s_stream() > for the sensor driver which will refcount the clock anyway. > - Clarified that the port is a parallel input port rather (Sakari) > > Changes in v2: > > - Added clocks information > - Fixed the warnings raised by Rob > > .../bindings/media/arm,mali-c55.yaml | 82 +++++++++++++++++++ > 1 file changed, 82 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/arm,mali-c55.yaml > > diff --git a/Documentation/devicetree/bindings/media/arm,mali-c55.yaml b/Documentation/devicetree/bindings/media/arm,mali-c55.yaml > new file mode 100644 > index 000000000000..efc88fd2c447 > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/arm,mali-c55.yaml > @@ -0,0 +1,82 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/arm,mali-c55.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: ARM Mali-C55 Image Signal Processor > + > +maintainers: > + - Daniel Scally <dan.scally@xxxxxxxxxxxxxxxx> > + - Jacopo Mondi <jacopo.mondi@xxxxxxxxxxxxxxxx> > + > +properties: > + compatible: > + const: arm,mali-c55 I have a feeling we may need to add an SoC-specific compatible string to support platform-specific integration quirks. Let's see if we will have a use for that in the RZ/V2H. It can also be addressed later if needed. > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + items: > + - description: ISP Video Clock > + - description: ISP AXI clock > + - description: ISP AHB-lite clock > + > + clock-names: > + items: > + - const: vclk > + - const: aclk > + - const: hclk > + > + resets: > + items: > + - description: vclk domain reset > + - description: aclk domain reset > + - description: hclk domain reset > + > + reset-names: > + items: > + - const: vresetn > + - const: aresetn > + - const: hresetn > + > + port: > + $ref: /schemas/graph.yaml#/properties/port > + description: Input parallel video bus Doesn't the ISP have two input ports, for two exposures ? Depending on the SoC integration, could they be connected to two different devices, with the two connections having to be modelled in DT ? Looking at the changelog you've switched from 'ports' to 'port' in v4, but I think we should either have two ports right away, or be ready for a second port later if SoC integrations requires that. That could be a good enough reason to use 'ports' right away, even with a single port. > + > + properties: > + endpoint: > + $ref: /schemas/graph.yaml#/properties/endpoint > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + - port > + > +additionalProperties: false > + > +examples: > + - | > + mali_c55: isp@400000 { > + compatible = "arm,mali-c55"; > + reg = <0x400000 0x200000>; > + clocks = <&clk 0>, <&clk 1>, <&clk 2>; > + clock-names = "vclk", "aclk", "hclk"; > + resets = <&resets 0>, <&resets 1>, <&resets 2>; > + reset-names = "vresetn", "aresetn", "hresetn"; > + interrupts = <0>; > + > + port { > + isp_in: endpoint { > + remote-endpoint = <&csi2_rx_out>; > + }; > + }; > + }; > +... -- Regards, Laurent Pinchart