# 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

  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

additionalProperties: true

...
