Commit 56fc0e67 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'versatile-dts-v5.7-1' of...

Merge tag 'versatile-dts-v5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into arm/dt

Versatile DTS updates for the v5.7 series take one:

- Schema validation for the top level of all ARM reference
  designs: Integrator, Versatile, RealView, Juno.
- Clean up some node names in the trees so they pass
  validation fine.
- Drop the old text bindings.
- A top level DMA ranges patch from Rob.

* tag 'versatile-dts-v5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM/arm64: dts: Rename SMB bus to just bus
  dt-bindings: arm: Drop the non-YAML bindings
  dt-bindings: arm: Add Versatile Express and Juno YAML schema
  dt-bindings: arm: Add RealView YAML schema
  dt-bindings: arm: Add Versatile YAML schema
  dt-bindings: arm: Add Integrator YAML schema
  ARM: dts: RealView: Fix the name of the SoC node
  ARM: dts: Versatile: Use syscon as node name for IB2
  ARM: dts: integratorap: Remove top level dma-ranges

Link: https://lore.kernel.org/r/CACRpkdbbniYVnsE-pAmU2qCerswserNgEFtY48XQ+_K+DUNC9Q@mail.gmail.com


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 7d716bd4 bee7ff37
Loading
Loading
Loading
Loading
+86 −0
Original line number Diff line number Diff line
# 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

...
+123 −0
Original line number Diff line number Diff line
# 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

...
+71 −0
Original line number Diff line number Diff line
# 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

...
+223 −0
Original line number Diff line number Diff line
# 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,juno
          - 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,juno
          - const: arm,vexpress
      - description: Arm AEMv8a Versatile Express Real-Time System Model
          (VE RTSM) is a programmers view of the Versatile Express with Arm
          v8A hardware. See ARM DUI 0575D.
        items:
          - const: arm,rtsm_ve,aemv8a
          - const: arm,vexpress
      - description: Arm FVP (Fixed Virtual Platform) base model revision C
          See ARM Document 100964_1190_00_en.
        items:
          - const: arm,fvp-base-revc
          - const: arm,vexpress
      - description: Arm Foundation model for Aarch64
        items:
          - const: arm,foundation-aarch64
          - 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:
    description: As Versatile Express can be configured in number of physically
      different setups, the device tree should describe platform topology.
      For this reason the root node and main motherboard node must define this
      property, describing the physical location of the children nodes.
      0 means motherboard site, while 1 and 2 are daughterboard sites, and
      0xf means "sisterboard" which is the site containing the main CPU tile.
    allOf:
      - $ref: '/schemas/types.yaml#/definitions/uint32'
      - minimum: 0
        maximum: 15

  arm,vexpress,position:
    description: When daughterboards are stacked on one site, their position
      in the stack be be described this attribute.
    allOf:
      - $ref: '/schemas/types.yaml#/definitions/uint32'
      - minimum: 0
        maximum: 3

  arm,vexpress,dcc:
    description: When describing tiles consisting of more than one DCC, its
      number can be specified with this attribute.
    allOf:
      - $ref: '/schemas/types.yaml#/definitions/uint32'
      - minimum: 0
        maximum: 3

patternProperties:
  "^bus@[0-9a-f]+$":
    description: Static Memory Bus (SMB) node, if this exists it describes
      the connection between the motherboard and any tiles. Sometimes the
      compatible is placed directly under this node, sometimes it is placed
      in a subnode named "motherboard". Sometimes the compatible includes
      "arm,vexpress,v2?-p1" sometimes (on software models) is is just
      "simple-bus". If the compatible is placed in the "motherboard" node,
      it is stricter and always has two compatibles.
    type: object
    allOf:
      - $ref: '/schemas/simple-bus.yaml'

    properties:
      compatible:
        oneOf:
          - items:
            - enum:
              - arm,vexpress,v2m-p1
              - arm,vexpress,v2p-p1
            - const: simple-bus
          - const: simple-bus
      motherboard:
        type: object
        description: The motherboard description 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.
        properties:
          "#address-cells":
            const: 2
          "#size-cells":
            const: 1
          compatible:
            items:
              - enum:
                - arm,vexpress,v2m-p1
                - arm,vexpress,v2p-p1
              - const: simple-bus
          arm,v2m-memory-map:
            description: This describes the memory map type.
            allOf:
              - $ref: '/schemas/types.yaml#/definitions/string'
              - enum:
                - rs1
                - rs2
        required:
          - compatible
    required:
      - compatible

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - arm,vexpress,v2p-ca9
              - arm,vexpress,v2p-ca5s
              - arm,vexpress,v2p-ca15
              - arm,vexpress,v2p-ca15_a7
              - arm,vexpress,v2f-1xv7,ca53x2
    then:
      required:
        - arm,hbi

...
+0 −237

File deleted.

Preview size limit exceeded, changes collapsed.

Loading