Re: [RESEND PATCH v2] dt-bindings: mfd: armltd: Move Arm board syscon's to separate schema

From: Conor Dooley
Date: Fri Oct 20 2023 - 11:55:22 EST


On Fri, Oct 20, 2023 at 09:22:51AM -0500, Rob Herring wrote:
> The Arm Ltd board bindings are a bit unusual in that they define child
> nodes for various syscon's. The schemas are also incomplete as they lack
> constraints on having additional properties and some properties are
> missing. As the bindings for the different platforms only vary by
> compatibles, combine them into a single schema doc.
>
> Add the "arm,im-pd1-syscon" compatible which was not documented. Add
> "ranges", "#address-cells", and "#size-cells properties which were
> missing.
>
> With this, fix the error exposed in the register-bit-led binding.
>
> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
> Signed-off-by: Rob Herring <robh@xxxxxxxxxx>

In case the lack of tag from Krzysztof were impeding things, rather than
your email being borked:

Reviewed-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>

Thanks,
Conor.

> ---
> .../bindings/arm/arm,integrator.yaml | 39 -----------
> .../devicetree/bindings/arm/arm,realview.yaml | 37 ----------
> .../bindings/arm/arm,versatile.yaml | 40 +++--------
> .../bindings/leds/register-bit-led.yaml | 2 +-
> .../mfd/arm,dev-platforms-syscon.yaml | 67 +++++++++++++++++++
> 5 files changed, 76 insertions(+), 109 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/mfd/arm,dev-platforms-syscon.yaml
>
> diff --git a/Documentation/devicetree/bindings/arm/arm,integrator.yaml b/Documentation/devicetree/bindings/arm/arm,integrator.yaml
> index 98ff5698ae1f..1bdbd1b7ee38 100644
> --- a/Documentation/devicetree/bindings/arm/arm,integrator.yaml
> +++ b/Documentation/devicetree/bindings/arm/arm,integrator.yaml
> @@ -40,45 +40,6 @@ properties:
> items:
> - const: arm,integrator-sp
>
> - core-module@10000000:
> - type: object
> - description: the root node in the Integrator platforms must contain
> - a core module child node. They are always at physical address
> - 0x10000000 in all the Integrator variants.
> - properties:
> - compatible:
> - items:
> - - const: arm,core-module-integrator
> - - const: syscon
> - - const: simple-mfd
> - reg:
> - maxItems: 1
> -
> - required:
> - - compatible
> - - reg
> -
> -patternProperties:
> - "^syscon@[0-9a-f]+$":
> - description: All Integrator boards must provide a system controller as a
> - node in the root of the device tree.
> - type: object
> - properties:
> - compatible:
> - items:
> - - enum:
> - - arm,integrator-ap-syscon
> - - arm,integrator-cp-syscon
> - - arm,integrator-sp-syscon
> - - const: syscon
> - reg:
> - maxItems: 1
> -
> - required:
> - - compatible
> - - reg
> -
> -
> required:
> - compatible
> - core-module@10000000
> diff --git a/Documentation/devicetree/bindings/arm/arm,realview.yaml b/Documentation/devicetree/bindings/arm/arm,realview.yaml
> index 8d3ed2e4ed31..d1bdee98f9af 100644
> --- a/Documentation/devicetree/bindings/arm/arm,realview.yaml
> +++ b/Documentation/devicetree/bindings/arm/arm,realview.yaml
> @@ -75,43 +75,6 @@ properties:
> type: object
> description: All RealView boards must provide a syscon system controller
> node inside the soc node.
> - properties:
> - compatible:
> - oneOf:
> - - items:
> - - const: arm,realview-eb11mp-revb-syscon
> - - const: arm,realview-eb-syscon
> - - const: syscon
> - - const: simple-mfd
> - - items:
> - - const: arm,realview-eb11mp-revc-syscon
> - - const: arm,realview-eb-syscon
> - - const: syscon
> - - const: simple-mfd
> - - items:
> - - const: arm,realview-eb-syscon
> - - const: syscon
> - - const: simple-mfd
> - - items:
> - - const: arm,realview-pb1176-syscon
> - - const: syscon
> - - const: simple-mfd
> - - items:
> - - const: arm,realview-pb11mp-syscon
> - - const: syscon
> - - const: simple-mfd
> - - items:
> - - const: arm,realview-pba8-syscon
> - - const: syscon
> - - const: simple-mfd
> - - items:
> - - const: arm,realview-pbx-syscon
> - - const: syscon
> - - const: simple-mfd
> -
> - required:
> - - compatible
> - - reg
>
> required:
> - compatible
> diff --git a/Documentation/devicetree/bindings/arm/arm,versatile.yaml b/Documentation/devicetree/bindings/arm/arm,versatile.yaml
> index 13e52ba92060..7a3caf6af200 100644
> --- a/Documentation/devicetree/bindings/arm/arm,versatile.yaml
> +++ b/Documentation/devicetree/bindings/arm/arm,versatile.yaml
> @@ -14,6 +14,14 @@ description: |+
> with various pluggable interface boards, in essence the Versatile PB version
> is a superset of the Versatile AB version.
>
> + The root node in the Versatile platforms must contain a core module child
> + node. They are always at physical address 0x10000000 in all the Versatile
> + variants.
> +
> + When fitted with the IB2 Interface Board, the Versatile AB will present an
> + optional system controller node which controls the extra peripherals on the
> + interface board.
> +
> properties:
> $nodename:
> const: '/'
> @@ -32,38 +40,6 @@ properties:
> items:
> - const: arm,versatile-pb
>
> - core-module@10000000:
> - type: object
> - description: the root node in the Versatile platforms must contain
> - a core module child node. They are always at physical address
> - 0x10000000 in all the Versatile variants.
> - properties:
> - compatible:
> - items:
> - - const: arm,core-module-versatile
> - - const: syscon
> - - const: simple-mfd
> - reg:
> - maxItems: 1
> -
> - required:
> - - compatible
> - - reg
> -
> -patternProperties:
> - "^syscon@[0-9a-f]+$":
> - type: object
> - description: When fitted with the IB2 Interface Board, the Versatile
> - AB will present an optional system controller node which controls the
> - extra peripherals on the interface board.
> - properties:
> - compatible:
> - contains:
> - const: arm,versatile-ib2-syscon
> - required:
> - - compatible
> - - reg
> -
> required:
> - compatible
> - core-module@10000000
> diff --git a/Documentation/devicetree/bindings/leds/register-bit-led.yaml b/Documentation/devicetree/bindings/leds/register-bit-led.yaml
> index ed26ec19ecbd..20930d327ae9 100644
> --- a/Documentation/devicetree/bindings/leds/register-bit-led.yaml
> +++ b/Documentation/devicetree/bindings/leds/register-bit-led.yaml
> @@ -60,7 +60,7 @@ examples:
> - |
>
> syscon@10000000 {
> - compatible = "arm,realview-pb1176-syscon", "syscon";
> + compatible = "arm,realview-pb1176-syscon", "syscon", "simple-mfd";
> reg = <0x10000000 0x1000>;
> #address-cells = <1>;
> #size-cells = <1>;
> diff --git a/Documentation/devicetree/bindings/mfd/arm,dev-platforms-syscon.yaml b/Documentation/devicetree/bindings/mfd/arm,dev-platforms-syscon.yaml
> new file mode 100644
> index 000000000000..46b164ae0831
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/arm,dev-platforms-syscon.yaml
> @@ -0,0 +1,67 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/arm,dev-platforms-syscon.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Arm Ltd Developer Platforms System Controllers
> +
> +maintainers:
> + - Linus Walleij <linus.walleij@xxxxxxxxxx>
> +
> +description:
> + The Arm Ltd Integrator, Realview, and Versatile families of developer
> + platforms are contain various system controller blocks. Often these blocks
> + are part of a daughterboard or motherboard module.
> +
> +properties:
> + compatible:
> + oneOf:
> + - items:
> + - enum:
> + - arm,integrator-ap-syscon
> + - arm,integrator-cp-syscon
> + - arm,integrator-sp-syscon
> + - arm,im-pd1-syscon
> + - const: syscon
> + - items:
> + - enum:
> + - arm,core-module-integrator
> + - arm,integrator-ap-syscon
> + - arm,integrator-cp-syscon
> + - arm,integrator-sp-syscon
> + - arm,realview-eb-syscon
> + - arm,realview-pb1176-syscon
> + - arm,realview-pb11mp-syscon
> + - arm,realview-pba8-syscon
> + - arm,realview-pbx-syscon
> + - arm,versatile-ib2-syscon
> + - const: syscon
> + - const: simple-mfd
> + - items:
> + - enum:
> + - arm,realview-eb11mp-revb-syscon
> + - arm,realview-eb11mp-revc-syscon
> + - const: arm,realview-eb-syscon
> + - const: syscon
> + - const: simple-mfd
> +
> + reg:
> + maxItems: 1
> +
> + ranges: true
> +
> + '#address-cells':
> + const: 1
> +
> + '#size-cells':
> + const: 1
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties:
> + type: object
> +
> +...
> --
> 2.42.0
>

Attachment: signature.asc
Description: PGP signature