1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 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 Boards 8 9maintainers: 10 - Sudeep Holla <sudeep.holla@arm.com> 11 - Linus Walleij <linusw@kernel.org> 12 13description: |+ 14 ARM's Versatile Express platform were built as reference designs for exploring 15 multicore Cortex-A class systems. The Versatile Express family contains both 16 32 bit (Aarch32) and 64 bit (Aarch64) systems. 17 18 The board consist of a motherboard and one or more daughterboards (tiles). The 19 motherboard provides a set of peripherals. Processor and RAM "live" on the 20 tiles. 21 22 The motherboard and each core tile should be described by a separate Device 23 Tree source file, with the tile's description including the motherboard file 24 using an include directive. As the motherboard can be initialized in one of 25 two different configurations ("memory maps"), care must be taken to include 26 the correct one. 27 28 When a new generation of boards were introduced under the name "Juno", these 29 shared to many common characteristics with the Versatile Express that the 30 "arm,vexpress" compatible was retained in the root node, and these are 31 included in this binding schema as well. 32 33 The root node indicates the CPU SoC on the core tile, and this 34 is a daughterboard to the main motherboard. The name used in the compatible 35 string shall match the name given in the core tile's technical reference 36 manual, followed by "arm,vexpress" as an additional compatible value. If 37 further subvariants are released of the core tile, even more fine-granular 38 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 cores 46 in MPCore configuration in a test chip on the core tile. See ARM 47 DUI 0448I. This was the first Versatile Express platform. 48 items: 49 - const: arm,vexpress,v2p-ca9 50 - const: arm,vexpress 51 - description: CoreTile Express A5x2 (V2P-CA5s) has 2 Cortex A5 CPU cores 52 in a test chip on the core tile. It is intended to evaluate NEON, FPU 53 and Jazelle support in the Cortex A5 family. See ARM DUI 0541C. 54 items: 55 - const: arm,vexpress,v2p-ca5s 56 - const: arm,vexpress 57 - description: Coretile Express A15x2 (V2P-CA15) has 2 Cortex A15 CPU 58 cores in a MPCore configuration in a test chip on the core tile. See 59 ARM DUI 0604F. 60 items: 61 - const: arm,vexpress,v2p-ca15 62 - const: arm,vexpress 63 - description: CoreTile Express A15x4 (V2P-CA15, HBI-0237A) has 4 Cortex 64 A15 CPU cores in a test chip on the core tile. This is the first test 65 chip called "TC1". 66 items: 67 - const: arm,vexpress,v2p-ca15,tc1 68 - const: arm,vexpress,v2p-ca15 69 - const: arm,vexpress 70 - description: Coretile Express A15x2 A7x3 (V2P-CA15_A7) has 2 Cortex A15 71 CPU cores and 3 Cortex A7 cores in a big.LITTLE MPCore configuration 72 in a test chip on the core tile. See ARM DDI 0503I. 73 items: 74 - const: arm,vexpress,v2p-ca15_a7 75 - const: arm,vexpress 76 - description: LogicTile Express 20MG (V2F-1XV7) has 2 Cortex A53 CPU 77 cores in a test chip on the core tile. See ARM DDI 0498D. 78 items: 79 - const: arm,vexpress,v2f-1xv7,ca53x2 80 - const: arm,vexpress,v2f-1xv7 81 - const: arm,vexpress 82 - description: Arm Versatile Express Juno "r0" (the first Juno board, 83 V2M-Juno) was introduced as a vehicle for evaluating big.LITTLE on 84 AArch64 CPU cores. It has 2 Cortex A57 CPU cores and 4 Cortex A53 85 cores in a big.LITTLE configuration. It also features the MALI T624 86 GPU. See ARM document 100113_0000_07_en. 87 items: 88 - const: arm,juno 89 - const: arm,vexpress 90 - description: Arm Versatile Express Juno r1 Development Platform 91 (V2M-Juno r1) was introduced mainly aimed at development of PCIe 92 based systems. Juno r1 also has support for AXI masters placed on 93 the TLX connectors to join the coherency domain. Otherwise it is the 94 same configuration as Juno r0. See ARM document 100122_0100_06_en. 95 items: 96 - const: arm,juno-r1 97 - const: arm,juno 98 - const: arm,vexpress 99 - description: Arm Versatile Express Juno r2 Development Platform 100 (V2M-Juno r2). It has the same feature set as Juno r0 and r1. See 101 ARM document 100114_0200_04_en. 102 items: 103 - const: arm,juno-r2 104 - const: arm,juno 105 - const: arm,vexpress 106 - description: Arm AEMv8a (Architecture Envelope Model) 107 Versatile Express Real-Time System Model (VE RTSM) 108 is a programmers view of the Versatile Express with Arm 109 v8A hardware. See ARM DUI 0575D. 110 items: 111 - const: arm,rtsm_ve,aemv8a 112 - const: arm,vexpress 113 - description: Arm FVP (Fixed Virtual Platform) base model revision C 114 See ARM Document 100964_1190_00_en. 115 items: 116 - const: arm,fvp-base-revc 117 - const: arm,vexpress 118 - description: Arm Foundation model for Aarch64 119 items: 120 - const: arm,foundation-aarch64 121 - const: arm,vexpress 122 - description: Arm Zena Compute Subsystem Platforms 123 Arm Zena Compute Subsystem (CSS) is a compute platform targeting 124 the automotive sector. Arm Zena CSS is a high-performance Arm 125 Cortex-A720AE Application Processor system augmented with an Arm 126 Cortex-R82AE based Safety Island and real-time domain. 127 items: 128 - enum: 129 - arm,zena-css-fvp 130 - const: arm,zena-css 131 - const: arm,vexpress 132 133 arm,vexpress,position: 134 description: When daughterboards are stacked on one site, their position 135 in the stack be be described this attribute. 136 $ref: /schemas/types.yaml#/definitions/uint32 137 minimum: 0 138 maximum: 3 139 140 arm,vexpress,dcc: 141 description: When describing tiles consisting of more than one DCC, its 142 number can be specified with this attribute. 143 $ref: /schemas/types.yaml#/definitions/uint32 144 minimum: 0 145 maximum: 3 146 147patternProperties: 148 "^bus@[0-9a-f]+$": 149 description: Static Memory Bus (SMB) node, if this exists it describes 150 the connection between the motherboard and any tiles. Sometimes the 151 compatible is placed directly under this node, sometimes it is placed 152 in a subnode named "motherboard-bus". Sometimes the compatible includes 153 "arm,vexpress,v2?-p1" sometimes (on software models) it is just 154 "simple-bus". If the compatible is placed in the "motherboard-bus" node, 155 it is stricter and always has two compatibles. 156 type: object 157 $ref: /schemas/simple-bus.yaml 158 unevaluatedProperties: false 159 160 properties: 161 compatible: 162 oneOf: 163 - items: 164 - enum: 165 - arm,vexpress,v2m-p1 166 - arm,vexpress,v2p-p1 167 - const: simple-bus 168 - const: simple-bus 169 170 "#interrupt-cells": 171 const: 1 172 173 interrupt-map: true 174 interrupt-map-mask: true 175 176 patternProperties: 177 '^motherboard-bus@': 178 type: object 179 description: The motherboard description provides a single "motherboard" 180 node using 2 address cells corresponding to the Static Memory Bus 181 used between the motherboard and the tile. The first cell defines the 182 Chip Select (CS) line number, the second cell address offset within 183 the CS. All interrupt lines between the motherboard and the tile 184 are active high and are described using single cell. 185 properties: 186 "#address-cells": 187 const: 2 188 "#size-cells": 189 const: 1 190 ranges: true 191 192 compatible: 193 items: 194 - enum: 195 - arm,vexpress,v2m-p1 196 - arm,vexpress,v2p-p1 197 - const: simple-bus 198 arm,v2m-memory-map: 199 description: This describes the memory map type. 200 $ref: /schemas/types.yaml#/definitions/string 201 enum: 202 - rs1 203 - rs2 204 205 arm,hbi: 206 $ref: /schemas/types.yaml#/definitions/uint32 207 description: This indicates the ARM HBI (Hardware Board ID), this is 208 ARM's unique board model ID, visible on the PCB's silkscreen. 209 210 arm,vexpress,site: 211 description: As Versatile Express can be configured in number of physically 212 different setups, the device tree should describe platform topology. 213 For this reason the root node and main motherboard node must define this 214 property, describing the physical location of the children nodes. 215 0 means motherboard site, while 1 and 2 are daughterboard sites, and 216 0xf means "sisterboard" which is the site containing the main CPU tile. 217 $ref: /schemas/types.yaml#/definitions/uint32 218 minimum: 0 219 maximum: 15 220 221 required: 222 - compatible 223 224 additionalProperties: 225 type: object 226 227 required: 228 - compatible 229 230allOf: 231 - if: 232 properties: 233 compatible: 234 contains: 235 enum: 236 - arm,vexpress,v2p-ca9 237 - arm,vexpress,v2p-ca5s 238 - arm,vexpress,v2p-ca15 239 - arm,vexpress,v2p-ca15_a7 240 - arm,vexpress,v2f-1xv7,ca53x2 241 then: 242 required: 243 - arm,hbi 244 245additionalProperties: true 246 247... 248