On Thu, Sep 26, 2019 at 02:56:14PM +0200, Marek Szyprowski wrote: > From: Maciej Falkowski <m.falkowski@xxxxxxxxxxx> > > Convert Samsung Image Scaler to newer dt-schema format. > > Signed-off-by: Maciej Falkowski <m.falkowski@xxxxxxxxxxx> > Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> > --- > v2: > - Removed quotation marks from string in 'compatible' property > - Added if-then statement for 'clocks' and 'clock-names' property > - Added include directive to example > - Added GIC_SPI macro to example > > Best regards, > Maciej Falkowski > --- > .../bindings/gpu/samsung-scaler.txt | 27 ------- > .../bindings/gpu/samsung-scaler.yaml | 71 +++++++++++++++++++ > 2 files changed, 71 insertions(+), 27 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/gpu/samsung-scaler.txt > create mode 100644 Documentation/devicetree/bindings/gpu/samsung-scaler.yaml > > diff --git a/Documentation/devicetree/bindings/gpu/samsung-scaler.txt b/Documentation/devicetree/bindings/gpu/samsung-scaler.txt > deleted file mode 100644 > index 9c3d98105dfd..000000000000 > --- a/Documentation/devicetree/bindings/gpu/samsung-scaler.txt > +++ /dev/null > @@ -1,27 +0,0 @@ > -* Samsung Exynos Image Scaler > - > -Required properties: > - - compatible : value should be one of the following: > - (a) "samsung,exynos5420-scaler" for Scaler IP in Exynos5420 > - (b) "samsung,exynos5433-scaler" for Scaler IP in Exynos5433 > - > - - reg : Physical base address of the IP registers and length of memory > - mapped region. > - > - - interrupts : Interrupt specifier for scaler interrupt, according to format > - specific to interrupt parent. > - > - - clocks : Clock specifier for scaler clock, according to generic clock > - bindings. (See Documentation/devicetree/bindings/clock/exynos*.txt) > - > - - clock-names : Names of clocks. For exynos scaler, it should be "mscl" > - on 5420 and "pclk", "aclk" and "aclk_xiu" on 5433. > - > -Example: > - scaler@12800000 { > - compatible = "samsung,exynos5420-scaler"; > - reg = <0x12800000 0x1294>; > - interrupts = <0 220 IRQ_TYPE_LEVEL_HIGH>; > - clocks = <&clock CLK_MSCL0>; > - clock-names = "mscl"; > - }; > diff --git a/Documentation/devicetree/bindings/gpu/samsung-scaler.yaml b/Documentation/devicetree/bindings/gpu/samsung-scaler.yaml > new file mode 100644 > index 000000000000..af19930d052e > --- /dev/null > +++ b/Documentation/devicetree/bindings/gpu/samsung-scaler.yaml > @@ -0,0 +1,71 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/gpu/samsung-scaler.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Samsung Exynos SoC Image Scaler > + > +maintainers: > + - Inki Dae <inki.dae@xxxxxxxxxxx> > + > +properties: > + compatible: > + enum: > + - samsung,exynos5420-scaler > + - samsung,exynos5433-scaler > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + I am repeating myself... leave the clocks and clock-names. "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." > +if: > + properties: > + compatible: > + contains: > + const: samsung,exynos5420-scaler > +then: > + properties: > + clocks: > + items: > + - description: mscl clock > + > + clock-names: > + items: > + - const: mscl > +else: > + properties: > + clocks: > + items: > + - description: mscl clock > + - description: aclk clock > + - description: aclk_xiu clock > + > + clock-names: > + items: > + - const: pclk > + - const: aclk > + - const: aclk_xiu > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + > +examples: > + - | > + #include <dt-bindings/clock/exynos5420.h> > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + > + scaler@12800000 { > + compatible = "samsung,exynos5420-scaler"; > + reg = <0x12800000 0x1294>; > + interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&clock CLK_MSCL0>; > + clock-names = "mscl"; > + }; > + Unneeded trailing line. Best regards, Krzysztof