dt-bindings: mfd: armltd: Move Arm board syscon's to separate schema
Commit Message
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.
Signed-off-by: Rob Herring <robh@kernel.org>
---
.../bindings/arm/arm,integrator.yaml | 39 -----------
.../devicetree/bindings/arm/arm,realview.yaml | 37 ----------
.../bindings/arm/arm,versatile.yaml | 40 +++--------
.../mfd/arm,dev-platforms-syscon.yaml | 67 +++++++++++++++++++
4 files changed, 75 insertions(+), 108 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mfd/arm,dev-platforms-syscon.yaml
Comments
On Fri, 15 Sep 2023 15:15:05 -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.
>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> .../bindings/arm/arm,integrator.yaml | 39 -----------
> .../devicetree/bindings/arm/arm,realview.yaml | 37 ----------
> .../bindings/arm/arm,versatile.yaml | 40 +++--------
> .../mfd/arm,dev-platforms-syscon.yaml | 67 +++++++++++++++++++
> 4 files changed, 75 insertions(+), 108 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/mfd/arm,dev-platforms-syscon.yaml
>
My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):
yamllint warnings/errors:
dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/register-bit-led.example.dtb: syscon@10000000: compatible: 'oneOf' conditional failed, one must be fixed:
['arm,realview-pb1176-syscon', 'syscon'] is too short
'arm,realview-pb1176-syscon' is not one of ['arm,integrator-ap-syscon', 'arm,integrator-cp-syscon', 'arm,integrator-sp-syscon', 'arm,im-pd1-syscon']
'arm,realview-pb1176-syscon' is not one of ['arm,realview-eb11mp-revb-syscon', 'arm,realview-eb11mp-revc-syscon']
'arm,realview-eb-syscon' was expected
from schema $id: http://devicetree.org/schemas/mfd/arm,dev-platforms-syscon.yaml#
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230915201520.4179115-1-robh@kernel.org
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
On Fri, Sep 15, 2023 at 10:15 PM Rob Herring <robh@kernel.org> 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.
>
> Signed-off-by: Rob Herring <robh@kernel.org>
Thanks for cleaning this up. My excuse is that it happened in the
early days of schemas.
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
On Fri, 15 Sep 2023, Rob Herring wrote:
>
> On Fri, 15 Sep 2023 15:15:05 -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.
> >
> > Signed-off-by: Rob Herring <robh@kernel.org>
> > ---
> > .../bindings/arm/arm,integrator.yaml | 39 -----------
> > .../devicetree/bindings/arm/arm,realview.yaml | 37 ----------
> > .../bindings/arm/arm,versatile.yaml | 40 +++--------
> > .../mfd/arm,dev-platforms-syscon.yaml | 67 +++++++++++++++++++
> > 4 files changed, 75 insertions(+), 108 deletions(-)
> > create mode 100644 Documentation/devicetree/bindings/mfd/arm,dev-platforms-syscon.yaml
> >
>
> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> on your patch (DT_CHECKER_FLAGS is new in v5.13):
Errr ... I'm a little torn.
Do I trust the maintainer or his bot? :)
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/leds/register-bit-led.example.dtb: syscon@10000000: compatible: 'oneOf' conditional failed, one must be fixed:
> ['arm,realview-pb1176-syscon', 'syscon'] is too short
> 'arm,realview-pb1176-syscon' is not one of ['arm,integrator-ap-syscon', 'arm,integrator-cp-syscon', 'arm,integrator-sp-syscon', 'arm,im-pd1-syscon']
> 'arm,realview-pb1176-syscon' is not one of ['arm,realview-eb11mp-revb-syscon', 'arm,realview-eb11mp-revc-syscon']
> 'arm,realview-eb-syscon' was expected
> from schema $id: http://devicetree.org/schemas/mfd/arm,dev-platforms-syscon.yaml#
>
> doc reference errors (make refcheckdocs):
>
> See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230915201520.4179115-1-robh@kernel.org
>
> The base for the series is generally the latest rc1. A different dependency
> should be noted in *this* patch.
>
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure 'yamllint' is installed and dt-schema is up to
> date:
>
> pip3 install dtschema --upgrade
>
> Please check and re-submit after running the above command yourself. Note
> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
> your schema. However, it must be unset to test all examples with your schema.
>
On Mon, Sep 18, 2023 at 03:36:39PM +0100, Lee Jones wrote:
> On Fri, 15 Sep 2023, Rob Herring wrote:
>
> >
> > On Fri, 15 Sep 2023 15:15:05 -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.
> > >
> > > Signed-off-by: Rob Herring <robh@kernel.org>
> > > ---
> > > .../bindings/arm/arm,integrator.yaml | 39 -----------
> > > .../devicetree/bindings/arm/arm,realview.yaml | 37 ----------
> > > .../bindings/arm/arm,versatile.yaml | 40 +++--------
> > > .../mfd/arm,dev-platforms-syscon.yaml | 67 +++++++++++++++++++
> > > 4 files changed, 75 insertions(+), 108 deletions(-)
> > > create mode 100644 Documentation/devicetree/bindings/mfd/arm,dev-platforms-syscon.yaml
> > >
> >
> > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> > on your patch (DT_CHECKER_FLAGS is new in v5.13):
>
> Errr ... I'm a little torn.
>
> Do I trust the maintainer or his bot? :)
New version fixing the example coming...
Rob
@@ -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
@@ -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
@@ -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
new file mode 100644
@@ -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@linaro.org>
+
+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
+
+...