On Thu, Sep 26, 2019 at 02:56:14PM +0200, Marek Szyprowski wrote:
From: Maciej Falkowski m.falkowski@samsung.com
Convert Samsung Image Scaler to newer dt-schema format.
Signed-off-by: Maciej Falkowski m.falkowski@samsung.com Signed-off-by: Marek Szyprowski m.szyprowski@samsung.com
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@samsung.com
+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