On Tue, Mar 17, 2020 at 10:39:18AM +0100, Lubomir Rintel wrote: > Convert the marvell,mmp2-ccic binding to DT schema format using > json-schema. > > Signed-off-by: Lubomir Rintel <lkundrak@xxxxx> > --- > .../bindings/media/marvell,mmp2-ccic.txt | 50 --------- > .../bindings/media/marvell,mmp2-ccic.yaml | 102 ++++++++++++++++++ > 2 files changed, 102 insertions(+), 50 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/media/marvell,mmp2-ccic.txt > create mode 100644 Documentation/devicetree/bindings/media/marvell,mmp2-ccic.yaml > > diff --git a/Documentation/devicetree/bindings/media/marvell,mmp2-ccic.txt b/Documentation/devicetree/bindings/media/marvell,mmp2-ccic.txt > deleted file mode 100644 > index 7ec2c8c8a3b98..0000000000000 > --- a/Documentation/devicetree/bindings/media/marvell,mmp2-ccic.txt > +++ /dev/null > @@ -1,50 +0,0 @@ > -Marvell MMP2 camera host interface > - > -Required properties: > - - compatible: Should be "marvell,mmp2-ccic". > - - reg: Register base and size. > - - interrupts: The interrupt number. > - - #clock-cells: Must be 0. > - > -Optional properties: > - - clocks: Reference to the input clock as specified by > - Documentation/devicetree/bindings/clock/clock-bindings.txt. > - - clock-names: Names of the clocks used; "axi" for the AXI bus interface, > - "func" for the peripheral clock and "phy" for the parallel > - video bus interface. > - - clock-output-names: Optional clock source for sensors. Shall be "mclk". > - > -Required subnodes: > - - port: The parallel bus interface port with a single endpoint linked to > - the sensor's endpoint as described in > - Documentation/devicetree/bindings/media/video-interfaces.txt. > - > -Required endpoint properties: > - - bus-type: data bus type, <5> or <6> for Parallel or Bt.656 respectively > - - pclk-sample: pixel clock polarity > - - hsync-active: horizontal synchronization polarity (only required for > - parallel bus) > - - vsync-active: vertical synchronization polarity (only required for > - parallel bus) > - > -Example: > - > - camera0: camera@d420a000 { > - compatible = "marvell,mmp2-ccic"; > - reg = <0xd420a000 0x800>; > - interrupts = <42>; > - clocks = <&soc_clocks MMP2_CLK_CCIC0>; > - clock-names = "axi"; > - #clock-cells = <0>; > - clock-output-names = "mclk"; > - > - port { > - camera0_0: endpoint { > - remote-endpoint = <&ov7670_0>; > - bus-type = <5>; /* Parallel */ > - hsync-active = <1>; /* Active high */ > - vsync-active = <1>; /* Active high */ > - pclk-sample = <0>; /* Falling */ > - }; > - }; > - }; > diff --git a/Documentation/devicetree/bindings/media/marvell,mmp2-ccic.yaml b/Documentation/devicetree/bindings/media/marvell,mmp2-ccic.yaml > new file mode 100644 > index 0000000000000..890a3f9d0302f > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/marvell,mmp2-ccic.yaml > @@ -0,0 +1,102 @@ > +# SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) GPL-2.0-only please. Dual license only if you have rights on the old file to do so. > +# Copyright 2019,2020 Lubomir Rintel <lkundrak@xxxxx> > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/marvell,mmp2-ccic.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Marvell MMP2 camera host interface bindings > + > +maintainers: > + - Lubomir Rintel <lkundrak@xxxxx> > + > +properties: > + $nodename: > + pattern: '^camera@[a-f0-9]+$' > + > + compatible: > + const: marvell,mmp2-ccic > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + port: > + type: object > + additionalProperties: false > + > + properties: > + endpoint: Wrong indentaion. > + type: object > + additionalProperties: false > + > + # Properties described in > + # Documentation/devicetree/bindings/media/video-interfaces.txt > + properties: > + remote-endpoint: true > + hsync-active: true > + vsync-active: true > + pclk-sample: true > + bus-type: true > + > + required: > + - remote-endpoint > + > + required: > + - endpoint > + > + clocks: > + minItems: 1 > + maxItems: 3 Shouldn't really be variable for a single compatible. > + items: > + - description: AXI bus interface clock > + - description: Peripheral clock > + - description: Parallel video bus interface clock > + > + clock-names: > + minItems: 1 > + maxItems: 3 > + items: > + - const: axi > + - const: func > + - const: phy > + > + '#clock-cells': > + const: 0 > + > + clock-output-names: > + const: mclk > + > +required: > + - compatible > + - reg > + - interrupts > + - port > + > +examples: > + - | > + #include <dt-bindings/clock/marvell,mmp2.h> > + > + camera@d420a000 { > + compatible = "marvell,mmp2-ccic"; > + reg = <0xd420a000 0x800>; > + interrupts = <42>; > + clocks = <&soc_clocks MMP2_CLK_CCIC0>; > + clock-names = "axi"; > + #clock-cells = <0>; > + clock-output-names = "mclk"; > + > + port { > + camera0_0: endpoint { > + remote-endpoint = <&ov7670_0>; > + bus-type = <5>; /* Parallel */ > + hsync-active = <1>; /* Active high */ > + vsync-active = <1>; /* Active high */ > + pclk-sample = <0>; /* Falling */ > + }; > + }; > + }; > + > +... > -- > 2.25.1 >