# 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

  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

additionalProperties: true

...
