Message ID | 20190924134614.13371-1-m.szyprowski@samsung.com |
---|---|
State | New |
Headers | show |
Series | [v2] dt-bindings: gpu: Convert Samsung 2D Graphics Accelerator to dt-schema | expand |
On Tue, Sep 24, 2019 at 03:46:14PM +0200, Marek Szyprowski wrote: > From: Maciej Falkowski <m.falkowski@samsung.com> > > Convert Samsung 2D Graphics Accelerator to newer dt-schema format > > Signed-off-by: Maciej Falkowski <m.falkowski@samsung.com> > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> > --- > v2: > - Added if-then statements for 'clocks' and 'clock-names' > properties. > > Best regards, > Maciej Falkowski > --- > .../devicetree/bindings/gpu/samsung-g2d.txt | 27 ------- > .../devicetree/bindings/gpu/samsung-g2d.yaml | 76 +++++++++++++++++++ > 2 files changed, 76 insertions(+), 27 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/gpu/samsung-g2d.txt > create mode 100644 Documentation/devicetree/bindings/gpu/samsung-g2d.yaml > > diff --git a/Documentation/devicetree/bindings/gpu/samsung-g2d.txt b/Documentation/devicetree/bindings/gpu/samsung-g2d.txt > deleted file mode 100644 > index 1e7959332dbc..000000000000 > --- a/Documentation/devicetree/bindings/gpu/samsung-g2d.txt > +++ /dev/null > @@ -1,27 +0,0 @@ > -* Samsung 2D Graphics Accelerator > - > -Required properties: > - - compatible : value should be one among the following: > - (a) "samsung,s5pv210-g2d" for G2D IP present in S5PV210 & Exynos4210 SoC > - (b) "samsung,exynos4212-g2d" for G2D IP present in Exynos4x12 SoCs > - (c) "samsung,exynos5250-g2d" for G2D IP present in Exynos5250 SoC > - > - - reg : Physical base address of the IP registers and length of memory > - mapped region. > - > - - interrupts : G2D interrupt number to the CPU. > - - clocks : from common clock binding: handle to G2D clocks. > - - clock-names : names of clocks listed in clocks property, in the same > - order, depending on SoC type: > - - for S5PV210 and Exynos4 based SoCs: "fimg2d" and > - "sclk_fimg2d" > - - for Exynos5250 SoC: "fimg2d". > - > -Example: > - g2d@12800000 { > - compatible = "samsung,s5pv210-g2d"; > - reg = <0x12800000 0x1000>; > - interrupts = <0 89 0>; > - clocks = <&clock 177>, <&clock 277>; > - clock-names = "sclk_fimg2d", "fimg2d"; > - }; > diff --git a/Documentation/devicetree/bindings/gpu/samsung-g2d.yaml b/Documentation/devicetree/bindings/gpu/samsung-g2d.yaml > new file mode 100644 > index 000000000000..5e05e8ccc83f > --- /dev/null > +++ b/Documentation/devicetree/bindings/gpu/samsung-g2d.yaml > @@ -0,0 +1,76 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/gpu/samsung-g2d.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Samsung SoC 2D Graphics Accelerator > + > +maintainers: > + - Inki Dae <inki.dae@samsung.com> > + > +properties: > + compatible: > + enum: > + - samsung,s5pv210-g2d # in S5PV210 & Exynos4210 SoC > + - samsung,exynos4212-g2d # in Exynos4x12 SoCs > + - samsung,exynos5250-g2d > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + I think it is worth to leave the clocks and clock-names here (could be empty or with min/max values for number of items). This makes it easy to find the properties by humans. Midgard bindings could be used as example. > +allOf: > + - if: > + properties: > + compatible: > + contains: > + const: samsung,exynos5250-g2d > + > + then: > + properties: > + clocks: > + items: > + - description: fimg2d clock > + clock-names: > + items: > + - const: fimg2d > + > + - if: else: Best regards, Krzysztof > + properties: > + compatible: > + contains: > + enum: > + - samsung,s5pv210-g2d > + - samsung,exynos4212-g2d > + > + then: > + properties: > + clocks: > + items: > + - description: sclk_fimg2d clock > + - description: fimg2d clock > + clock-names: > + items: > + - const: sclk_fimg2d > + - const: fimg2d > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + > +examples: > + - | > + g2d@12800000 { > + compatible = "samsung,s5pv210-g2d"; > + reg = <0x12800000 0x1000>; > + interrupts = <0 89 0>; > + clocks = <&clock 177>, <&clock 277>; > + clock-names = "sclk_fimg2d", "fimg2d"; > + }; > + > -- > 2.17.1 > > >
diff --git a/Documentation/devicetree/bindings/gpu/samsung-g2d.txt b/Documentation/devicetree/bindings/gpu/samsung-g2d.txt deleted file mode 100644 index 1e7959332dbc..000000000000 --- a/Documentation/devicetree/bindings/gpu/samsung-g2d.txt +++ /dev/null @@ -1,27 +0,0 @@ -* Samsung 2D Graphics Accelerator - -Required properties: - - compatible : value should be one among the following: - (a) "samsung,s5pv210-g2d" for G2D IP present in S5PV210 & Exynos4210 SoC - (b) "samsung,exynos4212-g2d" for G2D IP present in Exynos4x12 SoCs - (c) "samsung,exynos5250-g2d" for G2D IP present in Exynos5250 SoC - - - reg : Physical base address of the IP registers and length of memory - mapped region. - - - interrupts : G2D interrupt number to the CPU. - - clocks : from common clock binding: handle to G2D clocks. - - clock-names : names of clocks listed in clocks property, in the same - order, depending on SoC type: - - for S5PV210 and Exynos4 based SoCs: "fimg2d" and - "sclk_fimg2d" - - for Exynos5250 SoC: "fimg2d". - -Example: - g2d@12800000 { - compatible = "samsung,s5pv210-g2d"; - reg = <0x12800000 0x1000>; - interrupts = <0 89 0>; - clocks = <&clock 177>, <&clock 277>; - clock-names = "sclk_fimg2d", "fimg2d"; - }; diff --git a/Documentation/devicetree/bindings/gpu/samsung-g2d.yaml b/Documentation/devicetree/bindings/gpu/samsung-g2d.yaml new file mode 100644 index 000000000000..5e05e8ccc83f --- /dev/null +++ b/Documentation/devicetree/bindings/gpu/samsung-g2d.yaml @@ -0,0 +1,76 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/gpu/samsung-g2d.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Samsung SoC 2D Graphics Accelerator + +maintainers: + - Inki Dae <inki.dae@samsung.com> + +properties: + compatible: + enum: + - samsung,s5pv210-g2d # in S5PV210 & Exynos4210 SoC + - samsung,exynos4212-g2d # in Exynos4x12 SoCs + - samsung,exynos5250-g2d + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + +allOf: + - if: + properties: + compatible: + contains: + const: samsung,exynos5250-g2d + + then: + properties: + clocks: + items: + - description: fimg2d clock + clock-names: + items: + - const: fimg2d + + - if: + properties: + compatible: + contains: + enum: + - samsung,s5pv210-g2d + - samsung,exynos4212-g2d + + then: + properties: + clocks: + items: + - description: sclk_fimg2d clock + - description: fimg2d clock + clock-names: + items: + - const: sclk_fimg2d + - const: fimg2d + +required: + - compatible + - reg + - interrupts + - clocks + - clock-names + +examples: + - | + g2d@12800000 { + compatible = "samsung,s5pv210-g2d"; + reg = <0x12800000 0x1000>; + interrupts = <0 89 0>; + clocks = <&clock 177>, <&clock 277>; + clock-names = "sclk_fimg2d", "fimg2d"; + }; +