Skip to content

Commit

Permalink
dt-bindings: mfd: armltd: Move Arm board syscon's to separate schema
Browse files Browse the repository at this point in the history
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.

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20231020142252.3113716-2-robh@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>
  • Loading branch information
robherring authored and lag-linaro committed Nov 1, 2023
1 parent b0227e7 commit 36af195
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 109 deletions.
39 changes: 0 additions & 39 deletions Documentation/devicetree/bindings/arm/arm,integrator.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
37 changes: 0 additions & 37 deletions Documentation/devicetree/bindings/arm/arm,realview.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
40 changes: 8 additions & 32 deletions Documentation/devicetree/bindings/arm/arm,versatile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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: '/'
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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>;
Expand Down
Original file line number Diff line number Diff line change
@@ -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

...

0 comments on commit 36af195

Please sign in to comment.