Skip to content

Commit 36af195

Browse files
robherringlag-linaro
authored andcommitted
dt-bindings: mfd: armltd: Move Arm board syscon's to separate schema
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 <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Reviewed-by: Conor Dooley <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Lee Jones <[email protected]>
1 parent b0227e7 commit 36af195

File tree

5 files changed

+76
-109
lines changed

5 files changed

+76
-109
lines changed

Documentation/devicetree/bindings/arm/arm,integrator.yaml

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -40,45 +40,6 @@ properties:
4040
items:
4141
- const: arm,integrator-sp
4242

43-
core-module@10000000:
44-
type: object
45-
description: the root node in the Integrator platforms must contain
46-
a core module child node. They are always at physical address
47-
0x10000000 in all the Integrator variants.
48-
properties:
49-
compatible:
50-
items:
51-
- const: arm,core-module-integrator
52-
- const: syscon
53-
- const: simple-mfd
54-
reg:
55-
maxItems: 1
56-
57-
required:
58-
- compatible
59-
- reg
60-
61-
patternProperties:
62-
"^syscon@[0-9a-f]+$":
63-
description: All Integrator boards must provide a system controller as a
64-
node in the root of the device tree.
65-
type: object
66-
properties:
67-
compatible:
68-
items:
69-
- enum:
70-
- arm,integrator-ap-syscon
71-
- arm,integrator-cp-syscon
72-
- arm,integrator-sp-syscon
73-
- const: syscon
74-
reg:
75-
maxItems: 1
76-
77-
required:
78-
- compatible
79-
- reg
80-
81-
8243
required:
8344
- compatible
8445
- core-module@10000000

Documentation/devicetree/bindings/arm/arm,realview.yaml

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -75,43 +75,6 @@ properties:
7575
type: object
7676
description: All RealView boards must provide a syscon system controller
7777
node inside the soc node.
78-
properties:
79-
compatible:
80-
oneOf:
81-
- items:
82-
- const: arm,realview-eb11mp-revb-syscon
83-
- const: arm,realview-eb-syscon
84-
- const: syscon
85-
- const: simple-mfd
86-
- items:
87-
- const: arm,realview-eb11mp-revc-syscon
88-
- const: arm,realview-eb-syscon
89-
- const: syscon
90-
- const: simple-mfd
91-
- items:
92-
- const: arm,realview-eb-syscon
93-
- const: syscon
94-
- const: simple-mfd
95-
- items:
96-
- const: arm,realview-pb1176-syscon
97-
- const: syscon
98-
- const: simple-mfd
99-
- items:
100-
- const: arm,realview-pb11mp-syscon
101-
- const: syscon
102-
- const: simple-mfd
103-
- items:
104-
- const: arm,realview-pba8-syscon
105-
- const: syscon
106-
- const: simple-mfd
107-
- items:
108-
- const: arm,realview-pbx-syscon
109-
- const: syscon
110-
- const: simple-mfd
111-
112-
required:
113-
- compatible
114-
- reg
11578

11679
required:
11780
- compatible

Documentation/devicetree/bindings/arm/arm,versatile.yaml

Lines changed: 8 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@ description: |+
1414
with various pluggable interface boards, in essence the Versatile PB version
1515
is a superset of the Versatile AB version.
1616
17+
The root node in the Versatile platforms must contain a core module child
18+
node. They are always at physical address 0x10000000 in all the Versatile
19+
variants.
20+
21+
When fitted with the IB2 Interface Board, the Versatile AB will present an
22+
optional system controller node which controls the extra peripherals on the
23+
interface board.
24+
1725
properties:
1826
$nodename:
1927
const: '/'
@@ -32,38 +40,6 @@ properties:
3240
items:
3341
- const: arm,versatile-pb
3442

35-
core-module@10000000:
36-
type: object
37-
description: the root node in the Versatile platforms must contain
38-
a core module child node. They are always at physical address
39-
0x10000000 in all the Versatile variants.
40-
properties:
41-
compatible:
42-
items:
43-
- const: arm,core-module-versatile
44-
- const: syscon
45-
- const: simple-mfd
46-
reg:
47-
maxItems: 1
48-
49-
required:
50-
- compatible
51-
- reg
52-
53-
patternProperties:
54-
"^syscon@[0-9a-f]+$":
55-
type: object
56-
description: When fitted with the IB2 Interface Board, the Versatile
57-
AB will present an optional system controller node which controls the
58-
extra peripherals on the interface board.
59-
properties:
60-
compatible:
61-
contains:
62-
const: arm,versatile-ib2-syscon
63-
required:
64-
- compatible
65-
- reg
66-
6743
required:
6844
- compatible
6945
- core-module@10000000

Documentation/devicetree/bindings/leds/register-bit-led.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ examples:
6060
- |
6161
6262
syscon@10000000 {
63-
compatible = "arm,realview-pb1176-syscon", "syscon";
63+
compatible = "arm,realview-pb1176-syscon", "syscon", "simple-mfd";
6464
reg = <0x10000000 0x1000>;
6565
#address-cells = <1>;
6666
#size-cells = <1>;
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mfd/arm,dev-platforms-syscon.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Arm Ltd Developer Platforms System Controllers
8+
9+
maintainers:
10+
- Linus Walleij <[email protected]>
11+
12+
description:
13+
The Arm Ltd Integrator, Realview, and Versatile families of developer
14+
platforms are contain various system controller blocks. Often these blocks
15+
are part of a daughterboard or motherboard module.
16+
17+
properties:
18+
compatible:
19+
oneOf:
20+
- items:
21+
- enum:
22+
- arm,integrator-ap-syscon
23+
- arm,integrator-cp-syscon
24+
- arm,integrator-sp-syscon
25+
- arm,im-pd1-syscon
26+
- const: syscon
27+
- items:
28+
- enum:
29+
- arm,core-module-integrator
30+
- arm,integrator-ap-syscon
31+
- arm,integrator-cp-syscon
32+
- arm,integrator-sp-syscon
33+
- arm,realview-eb-syscon
34+
- arm,realview-pb1176-syscon
35+
- arm,realview-pb11mp-syscon
36+
- arm,realview-pba8-syscon
37+
- arm,realview-pbx-syscon
38+
- arm,versatile-ib2-syscon
39+
- const: syscon
40+
- const: simple-mfd
41+
- items:
42+
- enum:
43+
- arm,realview-eb11mp-revb-syscon
44+
- arm,realview-eb11mp-revc-syscon
45+
- const: arm,realview-eb-syscon
46+
- const: syscon
47+
- const: simple-mfd
48+
49+
reg:
50+
maxItems: 1
51+
52+
ranges: true
53+
54+
'#address-cells':
55+
const: 1
56+
57+
'#size-cells':
58+
const: 1
59+
60+
required:
61+
- compatible
62+
- reg
63+
64+
additionalProperties:
65+
type: object
66+
67+
...

0 commit comments

Comments
 (0)