2022-04-27 09:25:26

by Michael Walle

[permalink] [raw]
Subject: [PATCH v3 4/4] dt-bindings: fsl: convert fsl,layerscape-scfg to YAML

Convert the fsl,layerscape-scfg binding to the new YAML format.

In the device trees, the device node always have a "syscon"
compatible, which wasn't mentioned in the previous binding.

Also added, compared to the original binding, is the
interrupt-controller subnode as used in arch/arm/boot/dts/ls1021a.dtsi
as well as the litte-endian and big-endian properties.

Signed-off-by: Michael Walle <[email protected]>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
---
changes since v2:
- none

changes since v1:
- moved to soc/fsl/fsl,layerscape-scfg.yaml
- generic name for node in example
- mention added "syscon" compatible in commit message
- reference specific interrupt controller

.../arm/freescale/fsl,layerscape-scfg.txt | 19 ------
.../bindings/soc/fsl/fsl,layerscape-scfg.yaml | 58 +++++++++++++++++++
2 files changed, 58 insertions(+), 19 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/arm/freescale/fsl,layerscape-scfg.txt
create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,layerscape-scfg.yaml

diff --git a/Documentation/devicetree/bindings/arm/freescale/fsl,layerscape-scfg.txt b/Documentation/devicetree/bindings/arm/freescale/fsl,layerscape-scfg.txt
deleted file mode 100644
index 0ab67b0b216d..000000000000
--- a/Documentation/devicetree/bindings/arm/freescale/fsl,layerscape-scfg.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-Freescale SCFG
-
-SCFG is the supplemental configuration unit, that provides SoC specific
-configuration and status registers for the chip. Such as getting PEX port
-status.
-
-Required properties:
- - compatible: Should contain a chip-specific compatible string,
- Chip-specific strings are of the form "fsl,<chip>-scfg",
- The following <chip>s are known to be supported:
- ls1012a, ls1021a, ls1043a, ls1046a, ls2080a.
-
- - reg: should contain base address and length of SCFG memory-mapped registers
-
-Example:
- scfg: scfg@1570000 {
- compatible = "fsl,ls1021a-scfg";
- reg = <0x0 0x1570000 0x0 0x10000>;
- };
diff --git a/Documentation/devicetree/bindings/soc/fsl/fsl,layerscape-scfg.yaml b/Documentation/devicetree/bindings/soc/fsl/fsl,layerscape-scfg.yaml
new file mode 100644
index 000000000000..8d088b5fe823
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/fsl/fsl,layerscape-scfg.yaml
@@ -0,0 +1,58 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/fsl/fsl,layerscape-scfg.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale Layerscape Supplemental Configuration Unit
+
+maintainers:
+ - Shawn Guo <[email protected]>
+ - Li Yang <[email protected]>
+
+description: |
+ SCFG is the supplemental configuration unit, that provides SoC specific
+ configuration and status registers for the chip. Such as getting PEX port
+ status.
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - fsl,ls1012a-scfg
+ - fsl,ls1021a-scfg
+ - fsl,ls1028a-scfg
+ - fsl,ls1043a-scfg
+ - fsl,ls1046a-scfg
+ - const: syscon
+
+ reg:
+ maxItems: 1
+
+ little-endian: true
+ big-endian: true
+
+ '#address-cells':
+ const: 1
+
+ '#size-cells':
+ const: 1
+
+ ranges: true
+
+patternProperties:
+ "^interrupt-controller@[a-z0-9]+$":
+ $ref: /schemas/interrupt-controller/fsl,ls-extirq.yaml#
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ syscon@1570000 {
+ compatible = "fsl,ls1021a-scfg", "syscon";
+ reg = <0x1570000 0x10000>;
+ };
--
2.30.2


2022-04-27 14:46:30

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v3 4/4] dt-bindings: fsl: convert fsl,layerscape-scfg to YAML

On Wed, 27 Apr 2022 09:53:38 +0200, Michael Walle wrote:
> Convert the fsl,layerscape-scfg binding to the new YAML format.
>
> In the device trees, the device node always have a "syscon"
> compatible, which wasn't mentioned in the previous binding.
>
> Also added, compared to the original binding, is the
> interrupt-controller subnode as used in arch/arm/boot/dts/ls1021a.dtsi
> as well as the litte-endian and big-endian properties.
>
> Signed-off-by: Michael Walle <[email protected]>
> Reviewed-by: Krzysztof Kozlowski <[email protected]>
> ---
> changes since v2:
> - none
>
> changes since v1:
> - moved to soc/fsl/fsl,layerscape-scfg.yaml
> - generic name for node in example
> - mention added "syscon" compatible in commit message
> - reference specific interrupt controller
>
> .../arm/freescale/fsl,layerscape-scfg.txt | 19 ------
> .../bindings/soc/fsl/fsl,layerscape-scfg.yaml | 58 +++++++++++++++++++
> 2 files changed, 58 insertions(+), 19 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/arm/freescale/fsl,layerscape-scfg.txt
> create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,layerscape-scfg.yaml
>

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/


scfg@1570000: interrupt-controller@1ac:interrupt-map-mask:0:0: 15 was expected
arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dtb
arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dtb
arch/arm64/boot/dts/freescale/fsl-ls1046a-frwy.dtb
arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dtb
arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dtb

scfg@1570000: interrupt-controller@1ac:interrupt-map-mask:0:0: 7 was expected
arch/arm/boot/dts/ls1021a-moxa-uc-8410a.dtb
arch/arm/boot/dts/ls1021a-qds.dtb
arch/arm/boot/dts/ls1021a-tsn.dtb
arch/arm/boot/dts/ls1021a-twr.dtb

2022-04-29 08:40:01

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v3 4/4] dt-bindings: fsl: convert fsl,layerscape-scfg to YAML

On Wed, Apr 27, 2022 at 09:53:38AM +0200, Michael Walle wrote:
> Convert the fsl,layerscape-scfg binding to the new YAML format.
>
> In the device trees, the device node always have a "syscon"
> compatible, which wasn't mentioned in the previous binding.
>
> Also added, compared to the original binding, is the
> interrupt-controller subnode as used in arch/arm/boot/dts/ls1021a.dtsi
> as well as the litte-endian and big-endian properties.
>
> Signed-off-by: Michael Walle <[email protected]>
> Reviewed-by: Krzysztof Kozlowski <[email protected]>
> ---
> changes since v2:
> - none
>
> changes since v1:
> - moved to soc/fsl/fsl,layerscape-scfg.yaml
> - generic name for node in example
> - mention added "syscon" compatible in commit message
> - reference specific interrupt controller
>
> .../arm/freescale/fsl,layerscape-scfg.txt | 19 ------
> .../bindings/soc/fsl/fsl,layerscape-scfg.yaml | 58 +++++++++++++++++++
> 2 files changed, 58 insertions(+), 19 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/arm/freescale/fsl,layerscape-scfg.txt
> create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,layerscape-scfg.yaml

Applied, thanks!