brintos

brintos / linux-shallow public Read only

0
0
Text · 9.0 KiB · 8dd6b64 Raw
231 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/arm/arm,vexpress-juno.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: ARM Versatile Express and Juno Boards8 9maintainers:10  - Sudeep Holla <sudeep.holla@arm.com>11  - Linus Walleij <linus.walleij@linaro.org>12 13description: |+14  ARM's Versatile Express platform were built as reference designs for exploring15  multicore Cortex-A class systems. The Versatile Express family contains both16  32 bit (Aarch32) and 64 bit (Aarch64) systems.17 18  The board consist of a motherboard and one or more daughterboards (tiles). The19  motherboard provides a set of peripherals. Processor and RAM "live" on the20  tiles.21 22  The motherboard and each core tile should be described by a separate Device23  Tree source file, with the tile's description including the motherboard file24  using an include directive. As the motherboard can be initialized in one of25  two different configurations ("memory maps"), care must be taken to include26  the correct one.27 28  When a new generation of boards were introduced under the name "Juno", these29  shared to many common characteristics with the Versatile Express that the30  "arm,vexpress" compatible was retained in the root node, and these are31  included in this binding schema as well.32 33  The root node indicates the CPU SoC on the core tile, and this34  is a daughterboard to the main motherboard. The name used in the compatible35  string shall match the name given in the core tile's technical reference36  manual, followed by "arm,vexpress" as an additional compatible value. If37  further subvariants are released of the core tile, even more fine-granular38  compatible strings with up to three compatible strings are used.39 40properties:41  $nodename:42    const: '/'43  compatible:44    oneOf:45      - description: CoreTile Express A9x4 (V2P-CA9) has 4 Cortex A9 CPU cores46          in MPCore configuration in a test chip on the core tile. See ARM47          DUI 0448I. This was the first Versatile Express platform.48        items:49          - const: arm,vexpress,v2p-ca950          - const: arm,vexpress51      - description: CoreTile Express A5x2 (V2P-CA5s) has 2 Cortex A5 CPU cores52          in a test chip on the core tile. It is intended to evaluate NEON, FPU53          and Jazelle support in the Cortex A5 family. See ARM DUI 0541C.54        items:55          - const: arm,vexpress,v2p-ca5s56          - const: arm,vexpress57      - description: Coretile Express A15x2 (V2P-CA15) has 2 Cortex A15 CPU58          cores in a MPCore configuration in a test chip on the core tile. See59          ARM DUI 0604F.60        items:61          - const: arm,vexpress,v2p-ca1562          - const: arm,vexpress63      - description: CoreTile Express A15x4 (V2P-CA15, HBI-0237A) has 4 Cortex64          A15 CPU cores in a test chip on the core tile. This is the first test65          chip called "TC1".66        items:67          - const: arm,vexpress,v2p-ca15,tc168          - const: arm,vexpress,v2p-ca1569          - const: arm,vexpress70      - description: Coretile Express A15x2 A7x3 (V2P-CA15_A7) has 2 Cortex A1571          CPU cores and 3 Cortex A7 cores in a big.LITTLE MPCore configuration72          in a test chip on the core tile. See ARM DDI 0503I.73        items:74          - const: arm,vexpress,v2p-ca15_a775          - const: arm,vexpress76      - description: LogicTile Express 20MG (V2F-1XV7) has 2 Cortex A53 CPU77          cores in a test chip on the core tile. See ARM DDI 0498D.78        items:79          - const: arm,vexpress,v2f-1xv7,ca53x280          - const: arm,vexpress,v2f-1xv781          - const: arm,vexpress82      - description: Arm Versatile Express Juno "r0" (the first Juno board,83          V2M-Juno) was introduced as a vehicle for evaluating big.LITTLE on84          AArch64 CPU cores. It has 2 Cortex A57 CPU cores and 4 Cortex A5385          cores in a big.LITTLE configuration. It also features the MALI T62486          GPU. See ARM document 100113_0000_07_en.87        items:88          - const: arm,juno89          - const: arm,vexpress90      - description: Arm Versatile Express Juno r1 Development Platform91          (V2M-Juno r1) was introduced mainly aimed at development of PCIe92          based systems. Juno r1 also has support for AXI masters placed on93          the TLX connectors to join the coherency domain. Otherwise it is the94          same configuration as Juno r0. See ARM document 100122_0100_06_en.95        items:96          - const: arm,juno-r197          - const: arm,juno98          - const: arm,vexpress99      - description: Arm Versatile Express Juno r2 Development Platform100          (V2M-Juno r2). It has the same feature set as Juno r0 and r1. See101          ARM document 100114_0200_04_en.102        items:103          - const: arm,juno-r2104          - const: arm,juno105          - const: arm,vexpress106      - description: Arm AEMv8a Versatile Express Real-Time System Model107          (VE RTSM) is a programmers view of the Versatile Express with Arm108          v8A hardware. See ARM DUI 0575D.109        items:110          - const: arm,rtsm_ve,aemv8a111          - const: arm,vexpress112      - description: Arm FVP (Fixed Virtual Platform) base model revision C113          See ARM Document 100964_1190_00_en.114        items:115          - const: arm,fvp-base-revc116          - const: arm,vexpress117      - description: Arm Foundation model for Aarch64118        items:119          - const: arm,foundation-aarch64120          - const: arm,vexpress121 122  arm,vexpress,position:123    description: When daughterboards are stacked on one site, their position124      in the stack be be described this attribute.125    $ref: /schemas/types.yaml#/definitions/uint32126    minimum: 0127    maximum: 3128 129  arm,vexpress,dcc:130    description: When describing tiles consisting of more than one DCC, its131      number can be specified with this attribute.132    $ref: /schemas/types.yaml#/definitions/uint32133    minimum: 0134    maximum: 3135 136patternProperties:137  "^bus@[0-9a-f]+$":138    description: Static Memory Bus (SMB) node, if this exists it describes139      the connection between the motherboard and any tiles. Sometimes the140      compatible is placed directly under this node, sometimes it is placed141      in a subnode named "motherboard-bus". Sometimes the compatible includes142      "arm,vexpress,v2?-p1" sometimes (on software models) is is just143      "simple-bus". If the compatible is placed in the "motherboard-bus" node,144      it is stricter and always has two compatibles.145    type: object146    $ref: /schemas/simple-bus.yaml147    unevaluatedProperties: false148 149    properties:150      compatible:151        oneOf:152          - items:153              - enum:154                  - arm,vexpress,v2m-p1155                  - arm,vexpress,v2p-p1156              - const: simple-bus157          - const: simple-bus158 159    patternProperties:160      '^motherboard-bus@':161        type: object162        description: The motherboard description provides a single "motherboard"163          node using 2 address cells corresponding to the Static Memory Bus164          used between the motherboard and the tile. The first cell defines the165          Chip Select (CS) line number, the second cell address offset within166          the CS. All interrupt lines between the motherboard and the tile167          are active high and are described using single cell.168        properties:169          "#address-cells":170            const: 2171          "#size-cells":172            const: 1173          ranges: true174 175          compatible:176            items:177              - enum:178                  - arm,vexpress,v2m-p1179                  - arm,vexpress,v2p-p1180              - const: simple-bus181          arm,v2m-memory-map:182            description: This describes the memory map type.183            $ref: /schemas/types.yaml#/definitions/string184            enum:185              - rs1186              - rs2187 188          arm,hbi:189            $ref: /schemas/types.yaml#/definitions/uint32190            description: This indicates the ARM HBI (Hardware Board ID), this is191              ARM's unique board model ID, visible on the PCB's silkscreen.192 193          arm,vexpress,site:194            description: As Versatile Express can be configured in number of physically195              different setups, the device tree should describe platform topology.196              For this reason the root node and main motherboard node must define this197              property, describing the physical location of the children nodes.198              0 means motherboard site, while 1 and 2 are daughterboard sites, and199              0xf means "sisterboard" which is the site containing the main CPU tile.200            $ref: /schemas/types.yaml#/definitions/uint32201            minimum: 0202            maximum: 15203 204        required:205          - compatible206 207        additionalProperties:208          type: object209 210    required:211      - compatible212 213allOf:214  - if:215      properties:216        compatible:217          contains:218            enum:219              - arm,vexpress,v2p-ca9220              - arm,vexpress,v2p-ca5s221              - arm,vexpress,v2p-ca15222              - arm,vexpress,v2p-ca15_a7223              - arm,vexpress,v2f-1xv7,ca53x2224    then:225      required:226        - arm,hbi227 228additionalProperties: true229 230...231