* [PATCH 0/7] dt-bindings: Convert the ARM Boards to YAML
@ 2020-02-10 9:27 Linus Walleij
2020-02-10 9:27 ` [PATCH 1/7] ARM: dts: Versatile: Use syscon as node name for IB2 Linus Walleij
` (6 more replies)
0 siblings, 7 replies; 12+ messages in thread
From: Linus Walleij @ 2020-02-10 9:27 UTC (permalink / raw)
To: devicetree, Rob Herring, Sudeep Holla, Mark Rutland
Cc: linux-arm-kernel, Linus Walleij
This converts the ARM reference designs to use YAML schema
to verify the top-level and in some cases some basic nodes
in the device tree as well.
Rob requested me to get this done: let's get it done.
Rob: when you're happy I can merge this through ARM SoC so the
minor cleanups go in first, unless you prefer another
merge path.
Linus Walleij (7):
ARM: dts: Versatile: Use syscon as node name for IB2
ARM: dts: RealView: Fix the name of the SoC node
dt-bindings: arm: Add Integrator YAML schema
dt-bindings: arm: Add Versatile YAML schema
dt-bindings: arm: Add RealView YAML schema
dt-bindings: arm: Add Versatile Express and Juno YAML schema
dt-bindings: arm: Drop the non-YAML bindings
.../bindings/arm/arm,integrator.yaml | 85 +++++++
.../devicetree/bindings/arm/arm,realview.yaml | 123 +++++++++
.../bindings/arm/arm,versatile.yaml | 69 +++++
.../bindings/arm/arm,vexpress-juno.yaml | 118 +++++++++
.../devicetree/bindings/arm/arm-boards | 237 ------------------
.../devicetree/bindings/arm/vexpress.txt | 229 -----------------
arch/arm/boot/dts/arm-realview-pbx.dtsi | 2 +-
arch/arm/boot/dts/versatile-ab-ib2.dts | 2 +-
8 files changed, 397 insertions(+), 468 deletions(-)
create mode 100644 Documentation/devicetree/bindings/arm/arm,integrator.yaml
create mode 100644 Documentation/devicetree/bindings/arm/arm,realview.yaml
create mode 100644 Documentation/devicetree/bindings/arm/arm,versatile.yaml
create mode 100644 Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml
delete mode 100644 Documentation/devicetree/bindings/arm/arm-boards
delete mode 100644 Documentation/devicetree/bindings/arm/vexpress.txt
--
2.23.0
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH 1/7] ARM: dts: Versatile: Use syscon as node name for IB2 2020-02-10 9:27 [PATCH 0/7] dt-bindings: Convert the ARM Boards to YAML Linus Walleij @ 2020-02-10 9:27 ` Linus Walleij 2020-02-10 9:27 ` [PATCH 2/7] ARM: dts: RealView: Fix the name of the SoC node Linus Walleij ` (5 subsequent siblings) 6 siblings, 0 replies; 12+ messages in thread From: Linus Walleij @ 2020-02-10 9:27 UTC (permalink / raw) To: devicetree, Rob Herring, Sudeep Holla, Mark Rutland Cc: linux-arm-kernel, Linus Walleij The IB2 syscon should not have any funny names, just call it syscon@ as per the convention so the schema will apply properly. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- arch/arm/boot/dts/versatile-ab-ib2.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/versatile-ab-ib2.dts b/arch/arm/boot/dts/versatile-ab-ib2.dts index 5890cb974f78..c577ff4bb4be 100644 --- a/arch/arm/boot/dts/versatile-ab-ib2.dts +++ b/arch/arm/boot/dts/versatile-ab-ib2.dts @@ -10,7 +10,7 @@ model = "ARM Versatile AB + IB2 board"; /* Special IB2 control register */ - ib2_syscon@27000000 { + syscon@27000000 { compatible = "arm,versatile-ib2-syscon", "syscon", "simple-mfd"; reg = <0x27000000 0x4>; -- 2.23.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/7] ARM: dts: RealView: Fix the name of the SoC node 2020-02-10 9:27 [PATCH 0/7] dt-bindings: Convert the ARM Boards to YAML Linus Walleij 2020-02-10 9:27 ` [PATCH 1/7] ARM: dts: Versatile: Use syscon as node name for IB2 Linus Walleij @ 2020-02-10 9:27 ` Linus Walleij 2020-02-10 9:27 ` [PATCH 3/7] dt-bindings: arm: Add Integrator YAML schema Linus Walleij ` (4 subsequent siblings) 6 siblings, 0 replies; 12+ messages in thread From: Linus Walleij @ 2020-02-10 9:27 UTC (permalink / raw) To: devicetree, Rob Herring, Sudeep Holla, Mark Rutland Cc: linux-arm-kernel, Linus Walleij Drop the surplus @0 on the soc node making the devicetree conform strictly to the schema. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- arch/arm/boot/dts/arm-realview-pbx.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/arm-realview-pbx.dtsi b/arch/arm/boot/dts/arm-realview-pbx.dtsi index 09f3f544f3a7..f61bd59ae5ba 100644 --- a/arch/arm/boot/dts/arm-realview-pbx.dtsi +++ b/arch/arm/boot/dts/arm-realview-pbx.dtsi @@ -210,7 +210,7 @@ }; }; - soc: soc@0 { + soc: soc { compatible = "arm,realview-pbx-soc", "simple-bus"; #address-cells = <1>; #size-cells = <1>; -- 2.23.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 3/7] dt-bindings: arm: Add Integrator YAML schema 2020-02-10 9:27 [PATCH 0/7] dt-bindings: Convert the ARM Boards to YAML Linus Walleij 2020-02-10 9:27 ` [PATCH 1/7] ARM: dts: Versatile: Use syscon as node name for IB2 Linus Walleij 2020-02-10 9:27 ` [PATCH 2/7] ARM: dts: RealView: Fix the name of the SoC node Linus Walleij @ 2020-02-10 9:27 ` Linus Walleij 2020-02-13 20:23 ` Rob Herring 2020-02-10 9:27 ` [PATCH 4/7] dt-bindings: arm: Add Versatile " Linus Walleij ` (3 subsequent siblings) 6 siblings, 1 reply; 12+ messages in thread From: Linus Walleij @ 2020-02-10 9:27 UTC (permalink / raw) To: devicetree, Rob Herring, Sudeep Holla, Mark Rutland Cc: linux-arm-kernel, Linus Walleij This implements the top-level schema for the ARM Integrator platforms. Cc: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- .../bindings/arm/arm,integrator.yaml | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/arm,integrator.yaml diff --git a/Documentation/devicetree/bindings/arm/arm,integrator.yaml b/Documentation/devicetree/bindings/arm/arm,integrator.yaml new file mode 100644 index 000000000000..39aa3e31f934 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/arm,integrator.yaml @@ -0,0 +1,85 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/arm/arm,integrator.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ARM Integrator Boards Device Tree Bindings + +maintainers: + - Linus Walleij <linus.walleij@linaro.org> + +description: |+ + These were the first ARM platforms officially supported by ARM Ltd. + They are ARMv4, ARMv5 and ARMv6-capable using different core tiles, + so the system is modular and can host a variety of CPU tiles called + "core tiles" and referred to in the device tree as "core modules". + +properties: + $nodename: + const: '/' + compatible: + oneOf: + - description: ARM Integrator Application Platform, this board has a PCI + host and several PCI slots, as well as a number of slots for logical + expansion modules, it is referred to as an "ASIC Development + Motherboard" and is extended with custom FPGA and is intended for + rapid prototyping. See ARM DUI 0098B. This board can physically come + pre-packaged in a PC Tower form factor called Integrator/PP1 or a + special metal fixture called Integrator/PP2, see ARM DUI 0169A. + items: + - const: arm,integrator-ap + - description: ARM Integrator Compact Platform (HBI-0086), this board has + a compact form factor and mainly consists of the bare minimum + peripherals to make use of the core module. See ARM DUI 0159B. + items: + - const: arm,integrator-cp + - description: ARM Integrator Standard Development Board (SDB) Platform, + this board is a PCI-based board conforming to the Microsoft SDB + (HARP) specification. See ARM DUI 0099A. + items: + - const: arm,integrator-sp + + syscon: + description: All Integrator boards must provide a system controller as a + node in the root of the device tree. + type: object + properties: + compatible: + oneOf: + - items: + - const: arm,integrator-ap-syscon + - const: syscon + - items: + - const: arm,integrator-cp-syscon + - const: syscon + - items: + - const: arm,integrator-sp-syscon + - const: syscon + required: + - compatible + - reg + +patternProperties: + "^core-module@[0-9a-f]+$": + 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: + contains: + const: arm,core-module-integrator + description: this node is the core module node, it can be compatible + with syscon and simple-bus as well + + required: + - compatible + - reg + +required: + - compatible + - syscon + - core-module@10000000 + +... -- 2.23.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 3/7] dt-bindings: arm: Add Integrator YAML schema 2020-02-10 9:27 ` [PATCH 3/7] dt-bindings: arm: Add Integrator YAML schema Linus Walleij @ 2020-02-13 20:23 ` Rob Herring 0 siblings, 0 replies; 12+ messages in thread From: Rob Herring @ 2020-02-13 20:23 UTC (permalink / raw) To: Linus Walleij Cc: devicetree, Sudeep Holla, Mark Rutland, moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE On Mon, Feb 10, 2020 at 3:27 AM Linus Walleij <linus.walleij@linaro.org> wrote: > > This implements the top-level schema for the ARM Integrator > platforms. > > Cc: Sudeep Holla <sudeep.holla@arm.com> > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > --- > .../bindings/arm/arm,integrator.yaml | 85 +++++++++++++++++++ > 1 file changed, 85 insertions(+) > create mode 100644 Documentation/devicetree/bindings/arm/arm,integrator.yaml > > diff --git a/Documentation/devicetree/bindings/arm/arm,integrator.yaml b/Documentation/devicetree/bindings/arm/arm,integrator.yaml > new file mode 100644 > index 000000000000..39aa3e31f934 > --- /dev/null > +++ b/Documentation/devicetree/bindings/arm/arm,integrator.yaml > @@ -0,0 +1,85 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/arm/arm,integrator.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: ARM Integrator Boards Device Tree Bindings > + > +maintainers: > + - Linus Walleij <linus.walleij@linaro.org> > + > +description: |+ > + These were the first ARM platforms officially supported by ARM Ltd. > + They are ARMv4, ARMv5 and ARMv6-capable using different core tiles, > + so the system is modular and can host a variety of CPU tiles called > + "core tiles" and referred to in the device tree as "core modules". > + > +properties: > + $nodename: > + const: '/' > + compatible: > + oneOf: > + - description: ARM Integrator Application Platform, this board has a PCI > + host and several PCI slots, as well as a number of slots for logical > + expansion modules, it is referred to as an "ASIC Development > + Motherboard" and is extended with custom FPGA and is intended for > + rapid prototyping. See ARM DUI 0098B. This board can physically come > + pre-packaged in a PC Tower form factor called Integrator/PP1 or a > + special metal fixture called Integrator/PP2, see ARM DUI 0169A. > + items: > + - const: arm,integrator-ap > + - description: ARM Integrator Compact Platform (HBI-0086), this board has > + a compact form factor and mainly consists of the bare minimum > + peripherals to make use of the core module. See ARM DUI 0159B. > + items: > + - const: arm,integrator-cp > + - description: ARM Integrator Standard Development Board (SDB) Platform, > + this board is a PCI-based board conforming to the Microsoft SDB > + (HARP) specification. See ARM DUI 0099A. > + items: > + - const: arm,integrator-sp > + > + syscon: Given there's a 'reg' property here, this should have a unit-address. > + description: All Integrator boards must provide a system controller as a > + node in the root of the device tree. > + type: object > + properties: > + compatible: > + oneOf: > + - items: > + - const: arm,integrator-ap-syscon > + - const: syscon > + - items: > + - const: arm,integrator-cp-syscon > + - const: syscon > + - items: > + - const: arm,integrator-sp-syscon > + - const: syscon No need for oneOf: items: - enum: - arm,integrator-ap-syscon - arm,integrator-cp-syscon - arm,integrator-sp-syscon - const: syscon > + required: > + - compatible > + - reg 'reg' should be listed as property too. How many entries? > + > +patternProperties: > + "^core-module@[0-9a-f]+$": > + 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. Then do 'core-module@10000000' for the property name. > + properties: > + compatible: > + contains: > + const: arm,core-module-integrator > + description: this node is the core module node, it can be compatible > + with syscon and simple-bus as well Those compatibles should be listed, too. > + > + required: > + - compatible > + - reg > + > +required: > + - compatible > + - syscon > + - core-module@10000000 > + > +... > -- > 2.23.0 > ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 4/7] dt-bindings: arm: Add Versatile YAML schema 2020-02-10 9:27 [PATCH 0/7] dt-bindings: Convert the ARM Boards to YAML Linus Walleij ` (2 preceding siblings ...) 2020-02-10 9:27 ` [PATCH 3/7] dt-bindings: arm: Add Integrator YAML schema Linus Walleij @ 2020-02-10 9:27 ` Linus Walleij 2020-02-10 9:27 ` [PATCH 5/7] dt-bindings: arm: Add RealView " Linus Walleij ` (2 subsequent siblings) 6 siblings, 0 replies; 12+ messages in thread From: Linus Walleij @ 2020-02-10 9:27 UTC (permalink / raw) To: devicetree, Rob Herring, Sudeep Holla, Mark Rutland Cc: linux-arm-kernel, Linus Walleij This implements the top-level schema for the ARM Versatile platforms. Cc: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- .../bindings/arm/arm,versatile.yaml | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/arm,versatile.yaml diff --git a/Documentation/devicetree/bindings/arm/arm,versatile.yaml b/Documentation/devicetree/bindings/arm/arm,versatile.yaml new file mode 100644 index 000000000000..81fd010643f4 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/arm,versatile.yaml @@ -0,0 +1,69 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/arm/arm,versatile.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ARM Versatile Boards Device Tree Bindings + +maintainers: + - Linus Walleij <linus.walleij@linaro.org> + +description: |+ + The ARM Versatile boards are two variants of ARM926EJ-S evaluation boards + with various pluggable interface boards, in essence the Versatile PB version + is a superset of the Versatile AB version. + +properties: + $nodename: + const: '/' + compatible: + oneOf: + - description: The ARM Versatile Application Baseboard (HBI-0118) is an + evaluation board specifically for the ARM926EJ-S. It can be connected + to an IB1 interface board for a touchscreen-type use case or an IB2 + for a candybar phone-type use case. See ARM DUI 0225D. + items: + - const: arm,versatile-ab + - description: The ARM Versatile Platform Baseboard (HBI-0117) is an + extension of the Versatile Application Baseboard that includes a + PCI host controller. Like the sibling board, it is done specifically + for ARM926EJ-S. See ARM DUI 0224B. + items: + - const: arm,versatile-pb + +patternProperties: + "^core-module@[0-9a-f]+$": + 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: + contains: + const: arm,core-module-versatile + description: this node is the core module node, it can be compatible + with syscon and simple-bus as well + + required: + - compatible + - reg + + "^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 + +... -- 2.23.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 5/7] dt-bindings: arm: Add RealView YAML schema 2020-02-10 9:27 [PATCH 0/7] dt-bindings: Convert the ARM Boards to YAML Linus Walleij ` (3 preceding siblings ...) 2020-02-10 9:27 ` [PATCH 4/7] dt-bindings: arm: Add Versatile " Linus Walleij @ 2020-02-10 9:27 ` Linus Walleij 2020-02-13 20:35 ` Rob Herring 2020-02-10 9:27 ` [PATCH 6/7] dt-bindings: arm: Add Versatile Express and Juno " Linus Walleij 2020-02-10 9:27 ` [PATCH 7/7] dt-bindings: arm: Drop the non-YAML bindings Linus Walleij 6 siblings, 1 reply; 12+ messages in thread From: Linus Walleij @ 2020-02-10 9:27 UTC (permalink / raw) To: devicetree, Rob Herring, Sudeep Holla, Mark Rutland Cc: linux-arm-kernel, Linus Walleij This implements the top-level schema for the ARM RealView platforms. Cc: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- .../devicetree/bindings/arm/arm,realview.yaml | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/arm,realview.yaml diff --git a/Documentation/devicetree/bindings/arm/arm,realview.yaml b/Documentation/devicetree/bindings/arm/arm,realview.yaml new file mode 100644 index 000000000000..d6e85d198afe --- /dev/null +++ b/Documentation/devicetree/bindings/arm/arm,realview.yaml @@ -0,0 +1,123 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/arm/arm,realview.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ARM RealView Boards Device Tree Bindings + +maintainers: + - Linus Walleij <linus.walleij@linaro.org> + +description: |+ + The ARM RealView series of reference designs were built to explore the ARM + 11, Cortex A-8 and Cortex A-9 CPUs. This included new features compared to + the earlier CPUs such as TrustZone and multicore (MPCore). + +properties: + $nodename: + const: '/' + compatible: + oneOf: + - description: ARM RealView Emulation Baseboard (HBI-0140) was created + as a generic platform to test different FPGA designs, and has + pluggable CPU modules, see ARM DUI 0303E. + items: + - const: arm,realview-eb + - description: ARM RealView Platform Baseboard for ARM1176JZF-S + (HBI-0147) was created as a development board to test ARM TrustZone, + CoreSight and Intelligent Energy Management (IEM) see ARM DUI 0425F. + items: + - const: arm,realview-pb1176 + - description: ARM RealView Platform Baseboard for ARM 11 MPCore + (HBI-0159, HBI-0175 and HBI-0176) was created to showcase + multiprocessing with ARM11 using MPCore using symmetric + multiprocessing (SMP). See ARM DUI 0351E. + items: + - const: arm,realview-pb11mp + - description: ARM RealView Platform Baseboard for Cortex-A8 (HBI-0178, + HBI-0176 and HBI-0175) was the first reference platform for the + Cortex CPU family, including a Cortex-A8 test chip. + items: + - const: arm,realview-pba8 + - description: ARM RealView Platform Baseboard Explore for Cortex-A9 + (HBI-0182 and HBI-0183) was the reference platform for the Cortex-A9 + CPU. + items: + - const: arm,realview-pbx + + soc: + description: All RealView boards must provide a soc node in the root of the + device tree, representing the System-on-Chip since these test chips are + rather complex. + type: object + properties: + compatible: + oneOf: + - items: + - const: arm,realview-eb-soc + - const: simple-bus + - items: + - const: arm,realview-pb1176-soc + - const: simple-bus + - items: + - const: arm,realview-pb11mp-soc + - const: simple-bus + - items: + - const: arm,realview-pba8-soc + - const: simple-bus + - items: + - const: arm,realview-pbx-soc + - const: simple-bus + + patternProperties: + "^.*syscon@[0-9a-f]+$": + 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 + +required: + - compatible + - soc + +... -- 2.23.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 5/7] dt-bindings: arm: Add RealView YAML schema 2020-02-10 9:27 ` [PATCH 5/7] dt-bindings: arm: Add RealView " Linus Walleij @ 2020-02-13 20:35 ` Rob Herring 0 siblings, 0 replies; 12+ messages in thread From: Rob Herring @ 2020-02-13 20:35 UTC (permalink / raw) To: Linus Walleij Cc: devicetree, Sudeep Holla, Mark Rutland, moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE On Mon, Feb 10, 2020 at 3:27 AM Linus Walleij <linus.walleij@linaro.org> wrote: > > This implements the top-level schema for the ARM RealView > platforms. > > Cc: Sudeep Holla <sudeep.holla@arm.com> > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > --- > .../devicetree/bindings/arm/arm,realview.yaml | 123 ++++++++++++++++++ > 1 file changed, 123 insertions(+) > create mode 100644 Documentation/devicetree/bindings/arm/arm,realview.yaml Same comments as patch 3 apply here... > > diff --git a/Documentation/devicetree/bindings/arm/arm,realview.yaml b/Documentation/devicetree/bindings/arm/arm,realview.yaml > new file mode 100644 > index 000000000000..d6e85d198afe > --- /dev/null > +++ b/Documentation/devicetree/bindings/arm/arm,realview.yaml > @@ -0,0 +1,123 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/arm/arm,realview.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: ARM RealView Boards Device Tree Bindings > + > +maintainers: > + - Linus Walleij <linus.walleij@linaro.org> > + > +description: |+ > + The ARM RealView series of reference designs were built to explore the ARM > + 11, Cortex A-8 and Cortex A-9 CPUs. This included new features compared to > + the earlier CPUs such as TrustZone and multicore (MPCore). > + > +properties: > + $nodename: > + const: '/' > + compatible: > + oneOf: > + - description: ARM RealView Emulation Baseboard (HBI-0140) was created > + as a generic platform to test different FPGA designs, and has > + pluggable CPU modules, see ARM DUI 0303E. > + items: > + - const: arm,realview-eb > + - description: ARM RealView Platform Baseboard for ARM1176JZF-S > + (HBI-0147) was created as a development board to test ARM TrustZone, > + CoreSight and Intelligent Energy Management (IEM) see ARM DUI 0425F. > + items: > + - const: arm,realview-pb1176 > + - description: ARM RealView Platform Baseboard for ARM 11 MPCore > + (HBI-0159, HBI-0175 and HBI-0176) was created to showcase > + multiprocessing with ARM11 using MPCore using symmetric > + multiprocessing (SMP). See ARM DUI 0351E. > + items: > + - const: arm,realview-pb11mp > + - description: ARM RealView Platform Baseboard for Cortex-A8 (HBI-0178, > + HBI-0176 and HBI-0175) was the first reference platform for the > + Cortex CPU family, including a Cortex-A8 test chip. > + items: > + - const: arm,realview-pba8 > + - description: ARM RealView Platform Baseboard Explore for Cortex-A9 > + (HBI-0182 and HBI-0183) was the reference platform for the Cortex-A9 > + CPU. > + items: > + - const: arm,realview-pbx > + > + soc: > + description: All RealView boards must provide a soc node in the root of the > + device tree, representing the System-on-Chip since these test chips are > + rather complex. > + type: object > + properties: > + compatible: > + oneOf: > + - items: > + - const: arm,realview-eb-soc > + - const: simple-bus > + - items: > + - const: arm,realview-pb1176-soc > + - const: simple-bus > + - items: > + - const: arm,realview-pb11mp-soc > + - const: simple-bus > + - items: > + - const: arm,realview-pba8-soc > + - const: simple-bus > + - items: > + - const: arm,realview-pbx-soc > + - const: simple-bus Can be simplified. > + > + patternProperties: > + "^.*syscon@[0-9a-f]+$": > + 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 These 2 can be 1 items list. > + - 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 And these 5 1 items list. > + > + required: > + - compatible > + - reg > + > + required: > + - compatible > + > +required: > + - compatible > + - soc > + > +... > -- > 2.23.0 > ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 6/7] dt-bindings: arm: Add Versatile Express and Juno YAML schema 2020-02-10 9:27 [PATCH 0/7] dt-bindings: Convert the ARM Boards to YAML Linus Walleij ` (4 preceding siblings ...) 2020-02-10 9:27 ` [PATCH 5/7] dt-bindings: arm: Add RealView " Linus Walleij @ 2020-02-10 9:27 ` Linus Walleij 2020-02-11 12:05 ` Sudeep Holla 2020-02-13 20:37 ` Rob Herring 2020-02-10 9:27 ` [PATCH 7/7] dt-bindings: arm: Drop the non-YAML bindings Linus Walleij 6 siblings, 2 replies; 12+ messages in thread From: Linus Walleij @ 2020-02-10 9:27 UTC (permalink / raw) To: devicetree, Rob Herring, Sudeep Holla, Mark Rutland Cc: linux-arm-kernel, Linus Walleij This implements the top-level schema for the ARM Versatile Express and Juno platforms. Cc: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- .../bindings/arm/arm,vexpress-juno.yaml | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml diff --git a/Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml b/Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml new file mode 100644 index 000000000000..f22edf66b622 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml @@ -0,0 +1,118 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/arm/arm,vexpress-juno.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ARM Versatile Express and Juno Boards Device Tree Bindings + +maintainers: + - Sudeep Holla <sudeep.holla@arm.com> + - Linus Walleij <linus.walleij@linaro.org> + +description: |+ + ARM's Versatile Express platform were built as reference designs for exploring + multicore Cortex-A class systems. The Versatile Express family contains both + 32 bit (Aarch32) and 64 bit (Aarch64) systems. + + The board consist of a motherboard and one or more daughterboards (tiles). The + motherboard provides a set of peripherals. Processor and RAM "live" on the + tiles. + + The motherboard and each core tile should be described by a separate Device + Tree source file, with the tile's description including the motherboard file + using an include directive. As the motherboard can be initialized in one of + two different configurations ("memory maps"), care must be taken to include + the correct one. + + When a new generation of boards were introduced under the name "Juno", these + shared to many common characteristics with the Versatile Express that the + "arm,vexpress" compatible was retained in the root node, and these are + included in this binding schema as well. + + The root node indicates the CPU SoC on the core tile, and this + is a daughterboard to the main motherboard. The name used in the compatible + string shall match the name given in the core tile's technical reference + manual, followed by "arm,vexpress" as an additional compatible value. If + further subvariants are released of the core tile, even more fine-granular + compatible strings with up to three compatible strings are used. + +properties: + $nodename: + const: '/' + compatible: + oneOf: + - description: CoreTile Express A9x4 (V2P-CA9) has 4 Cortex A9 CPU cores + in MPCore configuration in a test chip on the core tile. See ARM + DUI 0448I. This was the first Versatile Express platform. + items: + - const: arm,vexpress,v2p-ca9 + - const: arm,vexpress + - description: CoreTile Express A5x2 (V2P-CA5s) has 2 Cortex A5 CPU cores + in a test chip on the core tile. It is intended to evaluate NEON, FPU + and Jazelle support in the Cortex A5 family. See ARM DUI 0541C. + items: + - const: arm,vexpress,v2p-ca5s + - const: arm,vexpress + - description: Coretile Express A15x2 (V2P-CA15) has 2 Cortex A15 CPU + cores in a MPCore configuration in a test chip on the core tile. See + ARM DUI 0604F. + items: + - const: arm,vexpress,v2p-ca15 + - const: arm,vexpress + - description: CoreTile Express A15x4 (V2P-CA15, HBI-0237A) has 4 Cortex + A15 CPU cores in a test chip on the core tile. This is the first test + chip called "TC1". + items: + - const: arm,vexpress,v2p-ca15,tc1 + - const: arm,vexpress,v2p-ca15 + - const: arm,vexpress + - description: Coretile Express A15x2 A7x3 (V2P-CA15_A7) has 2 Cortex A15 + CPU cores and 3 Cortex A7 cores in a big.LITTLE MPCore configuration + in a test chip on the core tile. See ARM DDI 0503I. + items: + - const: arm,vexpress,v2p-ca15_a7 + - const: arm,vexpress + - description: LogicTile Express 20MG (V2F-1XV7) has 2 Cortex A53 CPU + cores in a test chip on the core tile. See ARM DDI 0498D. + items: + - const: arm,vexpress,v2f-1xv7,ca53x2 + - const: arm,vexpress,v2f-1xv7 + - const: arm,vexpress + - description: Arm Versatile Express Juno "r0" (the first Juno board, + V2M-Juno) was introduced as a vehicle for evaluating big.LITTLE on + AArch64 CPU cores. It has 2 Cortex A57 CPU cores and 4 Cortex A53 + cores in a big.LITTLE configuration. It also features the MALI T624 + GPU. See ARM document 100113_0000_07_en. + items: + - const: arm,juno + - const: arm,vexpress + - description: Arm Versatile Express Juno r1 Development Platform + (V2M-Juno r1) was introduced mainly aimed at development of PCIe + based systems. Juno r1 also has support for AXI masters placed on + the TLX connectors to join the coherency domain. Otherwise it is the + same configuration as Juno r0. See ARM document 100122_0100_06_en. + items: + - const: arm,juno-r1 + - const: arm,vexpress + - description: Arm Versatile Express Juno r2 Development Platform + (V2M-Juno r2). It has the same feature set as Juno r0 and r1. See + ARM document 100114_0200_04_en. + items: + - const: arm,juno-r2 + - const: arm,vexpress + + arm,hbi: + $ref: '/schemas/types.yaml#/definitions/uint32' + description: This indicates the ARM HBI (Hardware Board ID), this is + ARM's unique board model ID, visible on the PCB's silkscreen. + + arm,vexpress-site: + $ref: '/schemas/types.yaml#/definitions/uint32' + description: Site + +required: + - compatible + - arm,hbi + +... -- 2.23.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 6/7] dt-bindings: arm: Add Versatile Express and Juno YAML schema 2020-02-10 9:27 ` [PATCH 6/7] dt-bindings: arm: Add Versatile Express and Juno " Linus Walleij @ 2020-02-11 12:05 ` Sudeep Holla 2020-02-13 20:37 ` Rob Herring 1 sibling, 0 replies; 12+ messages in thread From: Sudeep Holla @ 2020-02-11 12:05 UTC (permalink / raw) To: Linus Walleij Cc: devicetree, Rob Herring, Mark Rutland, Sudeep Holla, linux-arm-kernel On Mon, Feb 10, 2020 at 10:27:12AM +0100, Linus Walleij wrote: > This implements the top-level schema for the ARM Versatile > Express and Juno platforms. > > Cc: Sudeep Holla <sudeep.holla@arm.com> With my limited understanding on YAML scheme for DT bindings, this looks good to me. Acked-by: Sudeep Holla <sudeep.holla@arm.com> -- Regards, ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 6/7] dt-bindings: arm: Add Versatile Express and Juno YAML schema 2020-02-10 9:27 ` [PATCH 6/7] dt-bindings: arm: Add Versatile Express and Juno " Linus Walleij 2020-02-11 12:05 ` Sudeep Holla @ 2020-02-13 20:37 ` Rob Herring 1 sibling, 0 replies; 12+ messages in thread From: Rob Herring @ 2020-02-13 20:37 UTC (permalink / raw) To: Linus Walleij Cc: devicetree, Sudeep Holla, Mark Rutland, moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE On Mon, Feb 10, 2020 at 3:27 AM Linus Walleij <linus.walleij@linaro.org> wrote: > > This implements the top-level schema for the ARM Versatile > Express and Juno platforms. > > Cc: Sudeep Holla <sudeep.holla@arm.com> > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > --- > .../bindings/arm/arm,vexpress-juno.yaml | 118 ++++++++++++++++++ > 1 file changed, 118 insertions(+) > create mode 100644 Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml > > diff --git a/Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml b/Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml > new file mode 100644 > index 000000000000..f22edf66b622 > --- /dev/null > +++ b/Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml > @@ -0,0 +1,118 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/arm/arm,vexpress-juno.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: ARM Versatile Express and Juno Boards Device Tree Bindings > + > +maintainers: > + - Sudeep Holla <sudeep.holla@arm.com> > + - Linus Walleij <linus.walleij@linaro.org> > + > +description: |+ > + ARM's Versatile Express platform were built as reference designs for exploring > + multicore Cortex-A class systems. The Versatile Express family contains both > + 32 bit (Aarch32) and 64 bit (Aarch64) systems. > + > + The board consist of a motherboard and one or more daughterboards (tiles). The > + motherboard provides a set of peripherals. Processor and RAM "live" on the > + tiles. > + > + The motherboard and each core tile should be described by a separate Device > + Tree source file, with the tile's description including the motherboard file > + using an include directive. As the motherboard can be initialized in one of > + two different configurations ("memory maps"), care must be taken to include > + the correct one. > + > + When a new generation of boards were introduced under the name "Juno", these > + shared to many common characteristics with the Versatile Express that the > + "arm,vexpress" compatible was retained in the root node, and these are > + included in this binding schema as well. > + > + The root node indicates the CPU SoC on the core tile, and this > + is a daughterboard to the main motherboard. The name used in the compatible > + string shall match the name given in the core tile's technical reference > + manual, followed by "arm,vexpress" as an additional compatible value. If > + further subvariants are released of the core tile, even more fine-granular > + compatible strings with up to three compatible strings are used. > + > +properties: > + $nodename: > + const: '/' > + compatible: > + oneOf: > + - description: CoreTile Express A9x4 (V2P-CA9) has 4 Cortex A9 CPU cores > + in MPCore configuration in a test chip on the core tile. See ARM > + DUI 0448I. This was the first Versatile Express platform. > + items: > + - const: arm,vexpress,v2p-ca9 > + - const: arm,vexpress > + - description: CoreTile Express A5x2 (V2P-CA5s) has 2 Cortex A5 CPU cores > + in a test chip on the core tile. It is intended to evaluate NEON, FPU > + and Jazelle support in the Cortex A5 family. See ARM DUI 0541C. > + items: > + - const: arm,vexpress,v2p-ca5s > + - const: arm,vexpress > + - description: Coretile Express A15x2 (V2P-CA15) has 2 Cortex A15 CPU > + cores in a MPCore configuration in a test chip on the core tile. See > + ARM DUI 0604F. > + items: > + - const: arm,vexpress,v2p-ca15 > + - const: arm,vexpress > + - description: CoreTile Express A15x4 (V2P-CA15, HBI-0237A) has 4 Cortex > + A15 CPU cores in a test chip on the core tile. This is the first test > + chip called "TC1". > + items: > + - const: arm,vexpress,v2p-ca15,tc1 > + - const: arm,vexpress,v2p-ca15 > + - const: arm,vexpress > + - description: Coretile Express A15x2 A7x3 (V2P-CA15_A7) has 2 Cortex A15 > + CPU cores and 3 Cortex A7 cores in a big.LITTLE MPCore configuration > + in a test chip on the core tile. See ARM DDI 0503I. > + items: > + - const: arm,vexpress,v2p-ca15_a7 > + - const: arm,vexpress > + - description: LogicTile Express 20MG (V2F-1XV7) has 2 Cortex A53 CPU > + cores in a test chip on the core tile. See ARM DDI 0498D. > + items: > + - const: arm,vexpress,v2f-1xv7,ca53x2 > + - const: arm,vexpress,v2f-1xv7 > + - const: arm,vexpress > + - description: Arm Versatile Express Juno "r0" (the first Juno board, > + V2M-Juno) was introduced as a vehicle for evaluating big.LITTLE on > + AArch64 CPU cores. It has 2 Cortex A57 CPU cores and 4 Cortex A53 > + cores in a big.LITTLE configuration. It also features the MALI T624 > + GPU. See ARM document 100113_0000_07_en. > + items: > + - const: arm,juno > + - const: arm,vexpress > + - description: Arm Versatile Express Juno r1 Development Platform > + (V2M-Juno r1) was introduced mainly aimed at development of PCIe > + based systems. Juno r1 also has support for AXI masters placed on > + the TLX connectors to join the coherency domain. Otherwise it is the > + same configuration as Juno r0. See ARM document 100122_0100_06_en. > + items: > + - const: arm,juno-r1 > + - const: arm,vexpress > + - description: Arm Versatile Express Juno r2 Development Platform > + (V2M-Juno r2). It has the same feature set as Juno r0 and r1. See > + ARM document 100114_0200_04_en. > + items: > + - const: arm,juno-r2 > + - const: arm,vexpress > + > + arm,hbi: > + $ref: '/schemas/types.yaml#/definitions/uint32' > + description: This indicates the ARM HBI (Hardware Board ID), this is > + ARM's unique board model ID, visible on the PCB's silkscreen. > + > + arm,vexpress-site: > + $ref: '/schemas/types.yaml#/definitions/uint32' > + description: Site Site? Any constraints? 2^32 - 1 is valid? > + > +required: > + - compatible > + - arm,hbi > + > +... > -- > 2.23.0 > ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 7/7] dt-bindings: arm: Drop the non-YAML bindings 2020-02-10 9:27 [PATCH 0/7] dt-bindings: Convert the ARM Boards to YAML Linus Walleij ` (5 preceding siblings ...) 2020-02-10 9:27 ` [PATCH 6/7] dt-bindings: arm: Add Versatile Express and Juno " Linus Walleij @ 2020-02-10 9:27 ` Linus Walleij 6 siblings, 0 replies; 12+ messages in thread From: Linus Walleij @ 2020-02-10 9:27 UTC (permalink / raw) To: devicetree, Rob Herring, Sudeep Holla, Mark Rutland Cc: linux-arm-kernel, Linus Walleij We created new bindings for the ARM Board using YAML so delete the old human-parseable-only bindings. Cc: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- .../devicetree/bindings/arm/arm-boards | 237 ------------------ .../devicetree/bindings/arm/vexpress.txt | 229 ----------------- 2 files changed, 466 deletions(-) delete mode 100644 Documentation/devicetree/bindings/arm/arm-boards delete mode 100644 Documentation/devicetree/bindings/arm/vexpress.txt diff --git a/Documentation/devicetree/bindings/arm/arm-boards b/Documentation/devicetree/bindings/arm/arm-boards deleted file mode 100644 index 96b1dad58253..000000000000 --- a/Documentation/devicetree/bindings/arm/arm-boards +++ /dev/null @@ -1,237 +0,0 @@ -ARM Integrator/AP (Application Platform) and Integrator/CP (Compact Platform) ------------------------------------------------------------------------------ -ARM's oldest Linux-supported platform with connectors for different core -tiles of ARMv4, ARMv5 and ARMv6 type. - -Required properties (in root node): - compatible = "arm,integrator-ap"; /* Application Platform */ - compatible = "arm,integrator-cp"; /* Compact Platform */ - -FPGA type interrupt controllers, see the versatile-fpga-irq binding doc. - -Required nodes: - -- core-module: the root node to the Integrator platforms must have - a core-module with regs and the compatible string - "arm,core-module-integrator" -- external-bus-interface: the root node to the Integrator platforms - must have an external bus interface with regs and the - compatible-string "arm,external-bus-interface" - - Required properties for the core module: - - regs: the location and size of the core module registers, one - range of 0x200 bytes. - -- syscon: the root node of the Integrator platforms must have a - system controller node pointing to the control registers, - with the compatible string - "arm,integrator-ap-syscon" - "arm,integrator-cp-syscon" - respectively. - - Required properties for the system controller: - - regs: the location and size of the system controller registers, - one range of 0x100 bytes. - - Required properties for the AP system controller: - - interrupts: the AP syscon node must include the logical module - interrupts, stated in order of module instance <module 0>, - <module 1>, <module 2> ... for the CP system controller this - is not required not of any use. - -/dts-v1/; -/include/ "integrator.dtsi" - -/ { - model = "ARM Integrator/AP"; - compatible = "arm,integrator-ap"; - - core-module@10000000 { - compatible = "arm,core-module-integrator"; - reg = <0x10000000 0x200>; - }; - - ebi@12000000 { - compatible = "arm,external-bus-interface"; - reg = <0x12000000 0x100>; - }; - - syscon { - compatible = "arm,integrator-ap-syscon"; - reg = <0x11000000 0x100>; - interrupt-parent = <&pic>; - /* These are the logic module IRQs */ - interrupts = <9>, <10>, <11>, <12>; - }; -}; - - -ARM Versatile Application and Platform Baseboards -------------------------------------------------- -ARM's development hardware platform with connectors for customizable -core tiles. The hardware configuration of the Versatile boards is -highly customizable. - -Required properties (in root node): - compatible = "arm,versatile-ab"; /* Application baseboard */ - compatible = "arm,versatile-pb"; /* Platform baseboard */ - -Interrupt controllers: -- VIC required properties: - compatible = "arm,versatile-vic"; - interrupt-controller; - #interrupt-cells = <1>; - -- SIC required properties: - compatible = "arm,versatile-sic"; - interrupt-controller; - #interrupt-cells = <1>; - -Required nodes: - -- core-module: the root node to the Versatile platforms must have - a core-module with regs and the compatible strings - "arm,core-module-versatile", "syscon" - -Optional nodes: - -- arm,versatile-ib2-syscon : if the Versatile has an IB2 interface - board mounted, this has a separate system controller that is - defined in this node. - Required properties: - compatible = "arm,versatile-ib2-syscon", "syscon" - -ARM RealView Boards -------------------- -The RealView boards cover tailored evaluation boards that are used to explore -the ARM11 and Cortex A-8 and Cortex A-9 processors. - -Required properties (in root node): - /* RealView Emulation Baseboard */ - compatible = "arm,realview-eb"; - /* RealView Platform Baseboard for ARM1176JZF-S */ - compatible = "arm,realview-pb1176"; - /* RealView Platform Baseboard for ARM11 MPCore */ - compatible = "arm,realview-pb11mp"; - /* RealView Platform Baseboard for Cortex A-8 */ - compatible = "arm,realview-pba8"; - /* RealView Platform Baseboard Explore for Cortex A-9 */ - compatible = "arm,realview-pbx"; - -Required nodes: - -- soc: some node of the RealView platforms must be the SoC - node that contain the SoC-specific devices, with the compatible - string set to one of these tuples: - "arm,realview-eb-soc", "simple-bus" - "arm,realview-pb1176-soc", "simple-bus" - "arm,realview-pb11mp-soc", "simple-bus" - "arm,realview-pba8-soc", "simple-bus" - "arm,realview-pbx-soc", "simple-bus" - -- syscon: some subnode of the RealView SoC node must be a - system controller node pointing to the control registers, - with the compatible string set to one of these: - "arm,realview-eb11mp-revb-syscon", "arm,realview-eb-syscon", "syscon" - "arm,realview-eb11mp-revc-syscon", "arm,realview-eb-syscon", "syscon" - "arm,realview-eb-syscon", "syscon" - "arm,realview-pb1176-syscon", "syscon" - "arm,realview-pb11mp-syscon", "syscon" - "arm,realview-pba8-syscon", "syscon" - "arm,realview-pbx-syscon", "syscon" - - Required properties for the system controller: - - regs: the location and size of the system controller registers, - one range of 0x1000 bytes. - -Example: - -/dts-v1/; -#include <dt-bindings/interrupt-controller/irq.h> - -/ { - model = "ARM RealView PB1176 with device tree"; - compatible = "arm,realview-pb1176"; - #address-cells = <1>; - #size-cells = <1>; - - soc { - #address-cells = <1>; - #size-cells = <1>; - compatible = "arm,realview-pb1176-soc", "simple-bus"; - ranges; - - syscon: syscon@10000000 { - compatible = "arm,realview-syscon", "syscon"; - reg = <0x10000000 0x1000>; - }; - - }; -}; - -ARM Versatile Express Boards ------------------------------ -For details on the device tree bindings for ARM Versatile Express boards -please consult the vexpress.txt file in the same directory as this file. - -ARM Juno Boards ----------------- -The Juno boards are targeting development for AArch64 systems. The first -iteration, Juno r0, is a vehicle for evaluating big.LITTLE on AArch64, -with the second iteration, Juno r1, mainly aimed at development of PCIe -based systems. Juno r1 also has support for AXI masters placed on the TLX -connectors to join the coherency domain. - -Juno boards are described in a similar way to ARM Versatile Express boards, -with the motherboard part of the hardware being described in a separate file -to highlight the fact that is part of the support infrastructure for the SoC. -Juno device tree bindings also share the Versatile Express bindings as -described under the RS1 memory mapping. - -Required properties (in root node): - compatible = "arm,juno"; /* For Juno r0 board */ - compatible = "arm,juno-r1"; /* For Juno r1 board */ - compatible = "arm,juno-r2"; /* For Juno r2 board */ - -Required nodes: -The description for the board must include: - - a "psci" node describing the boot method used for the secondary CPUs. - A detailed description of the bindings used for "psci" nodes is present - in the psci.yaml file. - - a "cpus" node describing the available cores and their associated - "enable-method"s. For more details see cpus.yaml file. - -Example: - -/dts-v1/; -/ { - model = "ARM Juno development board (r0)"; - compatible = "arm,juno", "arm,vexpress"; - interrupt-parent = <&gic>; - #address-cells = <2>; - #size-cells = <2>; - - cpus { - #address-cells = <2>; - #size-cells = <0>; - - A57_0: cpu@0 { - compatible = "arm,cortex-a57"; - reg = <0x0 0x0>; - device_type = "cpu"; - enable-method = "psci"; - }; - - ..... - - A53_0: cpu@100 { - compatible = "arm,cortex-a53"; - reg = <0x0 0x100>; - device_type = "cpu"; - enable-method = "psci"; - }; - - ..... - }; - -}; diff --git a/Documentation/devicetree/bindings/arm/vexpress.txt b/Documentation/devicetree/bindings/arm/vexpress.txt deleted file mode 100644 index 39844cd0bcce..000000000000 --- a/Documentation/devicetree/bindings/arm/vexpress.txt +++ /dev/null @@ -1,229 +0,0 @@ -ARM Versatile Express boards family ------------------------------------ - -ARM's Versatile Express platform consists of a motherboard and one -or more daughterboards (tiles). The motherboard provides a set of -peripherals. Processor and RAM "live" on the tiles. - -The motherboard and each core tile should be described by a separate -Device Tree source file, with the tile's description including -the motherboard file using a /include/ directive. As the motherboard -can be initialized in one of two different configurations ("memory -maps"), care must be taken to include the correct one. - - -Root node ---------- - -Required properties in the root node: -- compatible value: - compatible = "arm,vexpress,<model>", "arm,vexpress"; - where <model> is the full tile model name (as used in the tile's - Technical Reference Manual), eg.: - - for Coretile Express A5x2 (V2P-CA5s): - compatible = "arm,vexpress,v2p-ca5s", "arm,vexpress"; - - for Coretile Express A9x4 (V2P-CA9): - compatible = "arm,vexpress,v2p-ca9", "arm,vexpress"; - If a tile comes in several variants or can be used in more then one - configuration, the compatible value should be: - compatible = "arm,vexpress,<model>,<variant>", \ - "arm,vexpress,<model>", "arm,vexpress"; - eg: - - Coretile Express A15x2 (V2P-CA15) with Tech Chip 1: - compatible = "arm,vexpress,v2p-ca15,tc1", \ - "arm,vexpress,v2p-ca15", "arm,vexpress"; - - LogicTile Express 13MG (V2F-2XV6) running Cortex-A7 (3 cores) SMM: - compatible = "arm,vexpress,v2f-2xv6,ca7x3", \ - "arm,vexpress,v2f-2xv6", "arm,vexpress"; - -Optional properties in the root node: -- tile model name (use name from the tile's Technical Reference - Manual, eg. "V2P-CA5s") - model = "<model>"; -- tile's HBI number (unique ARM's board model ID, visible on the - PCB's silkscreen) in hexadecimal transcription: - arm,hbi = <0xhbi> - eg: - - for Coretile Express A5x2 (V2P-CA5s) HBI-0191: - arm,hbi = <0x191>; - - Coretile Express A9x4 (V2P-CA9) HBI-0225: - arm,hbi = <0x225>; - - -CPU nodes ---------- - -Top-level standard "cpus" node is required. It must contain a node -with device_type = "cpu" property for every available core, eg.: - - cpus { - #address-cells = <1>; - #size-cells = <0>; - - cpu@0 { - device_type = "cpu"; - compatible = "arm,cortex-a5"; - reg = <0>; - }; - }; - - -Configuration infrastructure ----------------------------- - -The platform has an elaborated configuration system, consisting of -microcontrollers residing on the mother- and daughterboards known -as Motherboard/Daughterboard Configuration Controller (MCC and DCC). -The controllers are responsible for the platform initialization -(reset generation, flash programming, FPGA bitfiles loading etc.) -but also control clock generators, voltage regulators, gather -environmental data like temperature, power consumption etc. Even -the video output switch (FPGA) is controlled that way. - -The controllers are not mapped into normal memory address space -and must be accessed through bridges - other devices capable -of generating transactions on the configuration bus. - -The nodes describing configuration controllers must define -the following properties: -- compatible value: - compatible = "arm,vexpress,config-bus"; -- bridge phandle: - arm,vexpress,config-bridge = <phandle>; -and children describing available functions. - - -Platform topology ------------------ - -As Versatile Express can be configured in number of physically -different setups, the device tree should describe platform topology. -Root node and main motherboard node must define the following -property, describing physical location of the children nodes: -- site number: - arm,vexpress,site = <number>; - where 0 means motherboard, 1 or 2 are daugtherboard sites, - 0xf means "master" site (site containing main CPU tile) -- when daughterboards are stacked on one site, their position - in the stack be be described with: - arm,vexpress,position = <number>; -- when describing tiles consisting more than one DCC, its number - can be described with: - arm,vexpress,dcc = <number>; - -Any of the numbers above defaults to zero if not defined in -the node or any of its parent. - - -Motherboard ------------ - -The motherboard description file provides a single "motherboard" node -using 2 address cells corresponding to the Static Memory Bus used -between the motherboard and the tile. The first cell defines the Chip -Select (CS) line number, the second cell address offset within the CS. -All interrupt lines between the motherboard and the tile are active -high and are described using single cell. - -Optional properties of the "motherboard" node: -- motherboard's memory map variant: - arm,v2m-memory-map = "<name>"; - where name is one of: - - "rs1" - for RS1 map (i.a. peripherals on CS3); this map is also - referred to as "ARM Cortex-A Series memory map": - arm,v2m-memory-map = "rs1"; - When this property is missing, the motherboard is using the original - memory map (also known as the "Legacy memory map", primarily used - with the original CoreTile Express A9x4) with peripherals on CS7. - -Motherboard .dtsi files provide a set of labelled peripherals that -can be used to obtain required phandle in the tile's "aliases" node: -- UARTs, note that the numbers correspond to the physical connectors - on the motherboard's back panel: - v2m_serial0, v2m_serial1, v2m_serial2 and v2m_serial3 -- I2C controllers: - v2m_i2c_dvi and v2m_i2c_pcie -- SP804 timers: - v2m_timer01 and v2m_timer23 - -The tile description should define a "smb" node, describing the -Static Memory Bus between the tile and motherboard. It must define -the following properties: -- "simple-bus" compatible value (to ensure creation of the children) - compatible = "simple-bus"; -- mapping of the SMB CS/offset addresses into main address space: - #address-cells = <2>; - #size-cells = <1>; - ranges = <...>; -- interrupts mapping: - #interrupt-cells = <1>; - interrupt-map-mask = <0 0 63>; - interrupt-map = <...>; - - -Example of a VE tile description (simplified) ---------------------------------------------- - -/dts-v1/; - -/ { - model = "V2P-CA5s"; - arm,hbi = <0x225>; - arm,vexpress,site = <0xf>; - compatible = "arm,vexpress-v2p-ca5s", "arm,vexpress"; - interrupt-parent = <&gic>; - #address-cells = <1>; - #size-cells = <1>; - - chosen { }; - - aliases { - serial0 = &v2m_serial0; - }; - - cpus { - #address-cells = <1>; - #size-cells = <0>; - - cpu@0 { - device_type = "cpu"; - compatible = "arm,cortex-a5"; - reg = <0>; - }; - }; - - gic: interrupt-controller@2c001000 { - compatible = "arm,cortex-a9-gic"; - #interrupt-cells = <3>; - #address-cells = <0>; - interrupt-controller; - reg = <0x2c001000 0x1000>, - <0x2c000100 0x100>; - }; - - dcc { - compatible = "arm,vexpress,config-bus"; - arm,vexpress,config-bridge = <&v2m_sysreg>; - - osc@0 { - compatible = "arm,vexpress-osc"; - }; - }; - - smb { - compatible = "simple-bus"; - - #address-cells = <2>; - #size-cells = <1>; - /* CS0 is visible at 0x08000000 */ - ranges = <0 0 0x08000000 0x04000000>; - - #interrupt-cells = <1>; - interrupt-map-mask = <0 0 63>; - /* Active high IRQ 0 is connected to GIC's SPI0 */ - interrupt-map = <0 0 0 &gic 0 0 4>; - - /include/ "vexpress-v2m-rs1.dtsi" - }; -}; - -- 2.23.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
end of thread, other threads:[~2020-02-13 20:37 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-02-10 9:27 [PATCH 0/7] dt-bindings: Convert the ARM Boards to YAML Linus Walleij 2020-02-10 9:27 ` [PATCH 1/7] ARM: dts: Versatile: Use syscon as node name for IB2 Linus Walleij 2020-02-10 9:27 ` [PATCH 2/7] ARM: dts: RealView: Fix the name of the SoC node Linus Walleij 2020-02-10 9:27 ` [PATCH 3/7] dt-bindings: arm: Add Integrator YAML schema Linus Walleij 2020-02-13 20:23 ` Rob Herring 2020-02-10 9:27 ` [PATCH 4/7] dt-bindings: arm: Add Versatile " Linus Walleij 2020-02-10 9:27 ` [PATCH 5/7] dt-bindings: arm: Add RealView " Linus Walleij 2020-02-13 20:35 ` Rob Herring 2020-02-10 9:27 ` [PATCH 6/7] dt-bindings: arm: Add Versatile Express and Juno " Linus Walleij 2020-02-11 12:05 ` Sudeep Holla 2020-02-13 20:37 ` Rob Herring 2020-02-10 9:27 ` [PATCH 7/7] dt-bindings: arm: Drop the non-YAML bindings Linus Walleij
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).