On Mon, Feb 10, 2020 at 3:27 AM Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > > This implements the top-level schema for the ARM Integrator > platforms. > > Cc: Sudeep Holla <sudeep.holla@xxxxxxx> > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> > --- > .../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@xxxxxxxxxx> > + > +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 >