18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/arm/arm,vexpress-juno.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: ARM Versatile Express and Juno Boards Device Tree Bindings 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Sudeep Holla <sudeep.holla@arm.com> 118c2ecf20Sopenharmony_ci - Linus Walleij <linus.walleij@linaro.org> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cidescription: |+ 148c2ecf20Sopenharmony_ci ARM's Versatile Express platform were built as reference designs for exploring 158c2ecf20Sopenharmony_ci multicore Cortex-A class systems. The Versatile Express family contains both 168c2ecf20Sopenharmony_ci 32 bit (Aarch32) and 64 bit (Aarch64) systems. 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci The board consist of a motherboard and one or more daughterboards (tiles). The 198c2ecf20Sopenharmony_ci motherboard provides a set of peripherals. Processor and RAM "live" on the 208c2ecf20Sopenharmony_ci tiles. 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci The motherboard and each core tile should be described by a separate Device 238c2ecf20Sopenharmony_ci Tree source file, with the tile's description including the motherboard file 248c2ecf20Sopenharmony_ci using an include directive. As the motherboard can be initialized in one of 258c2ecf20Sopenharmony_ci two different configurations ("memory maps"), care must be taken to include 268c2ecf20Sopenharmony_ci the correct one. 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci When a new generation of boards were introduced under the name "Juno", these 298c2ecf20Sopenharmony_ci shared to many common characteristics with the Versatile Express that the 308c2ecf20Sopenharmony_ci "arm,vexpress" compatible was retained in the root node, and these are 318c2ecf20Sopenharmony_ci included in this binding schema as well. 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci The root node indicates the CPU SoC on the core tile, and this 348c2ecf20Sopenharmony_ci is a daughterboard to the main motherboard. The name used in the compatible 358c2ecf20Sopenharmony_ci string shall match the name given in the core tile's technical reference 368c2ecf20Sopenharmony_ci manual, followed by "arm,vexpress" as an additional compatible value. If 378c2ecf20Sopenharmony_ci further subvariants are released of the core tile, even more fine-granular 388c2ecf20Sopenharmony_ci compatible strings with up to three compatible strings are used. 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ciproperties: 418c2ecf20Sopenharmony_ci $nodename: 428c2ecf20Sopenharmony_ci const: '/' 438c2ecf20Sopenharmony_ci compatible: 448c2ecf20Sopenharmony_ci oneOf: 458c2ecf20Sopenharmony_ci - description: CoreTile Express A9x4 (V2P-CA9) has 4 Cortex A9 CPU cores 468c2ecf20Sopenharmony_ci in MPCore configuration in a test chip on the core tile. See ARM 478c2ecf20Sopenharmony_ci DUI 0448I. This was the first Versatile Express platform. 488c2ecf20Sopenharmony_ci items: 498c2ecf20Sopenharmony_ci - const: arm,vexpress,v2p-ca9 508c2ecf20Sopenharmony_ci - const: arm,vexpress 518c2ecf20Sopenharmony_ci - description: CoreTile Express A5x2 (V2P-CA5s) has 2 Cortex A5 CPU cores 528c2ecf20Sopenharmony_ci in a test chip on the core tile. It is intended to evaluate NEON, FPU 538c2ecf20Sopenharmony_ci and Jazelle support in the Cortex A5 family. See ARM DUI 0541C. 548c2ecf20Sopenharmony_ci items: 558c2ecf20Sopenharmony_ci - const: arm,vexpress,v2p-ca5s 568c2ecf20Sopenharmony_ci - const: arm,vexpress 578c2ecf20Sopenharmony_ci - description: Coretile Express A15x2 (V2P-CA15) has 2 Cortex A15 CPU 588c2ecf20Sopenharmony_ci cores in a MPCore configuration in a test chip on the core tile. See 598c2ecf20Sopenharmony_ci ARM DUI 0604F. 608c2ecf20Sopenharmony_ci items: 618c2ecf20Sopenharmony_ci - const: arm,vexpress,v2p-ca15 628c2ecf20Sopenharmony_ci - const: arm,vexpress 638c2ecf20Sopenharmony_ci - description: CoreTile Express A15x4 (V2P-CA15, HBI-0237A) has 4 Cortex 648c2ecf20Sopenharmony_ci A15 CPU cores in a test chip on the core tile. This is the first test 658c2ecf20Sopenharmony_ci chip called "TC1". 668c2ecf20Sopenharmony_ci items: 678c2ecf20Sopenharmony_ci - const: arm,vexpress,v2p-ca15,tc1 688c2ecf20Sopenharmony_ci - const: arm,vexpress,v2p-ca15 698c2ecf20Sopenharmony_ci - const: arm,vexpress 708c2ecf20Sopenharmony_ci - description: Coretile Express A15x2 A7x3 (V2P-CA15_A7) has 2 Cortex A15 718c2ecf20Sopenharmony_ci CPU cores and 3 Cortex A7 cores in a big.LITTLE MPCore configuration 728c2ecf20Sopenharmony_ci in a test chip on the core tile. See ARM DDI 0503I. 738c2ecf20Sopenharmony_ci items: 748c2ecf20Sopenharmony_ci - const: arm,vexpress,v2p-ca15_a7 758c2ecf20Sopenharmony_ci - const: arm,vexpress 768c2ecf20Sopenharmony_ci - description: LogicTile Express 20MG (V2F-1XV7) has 2 Cortex A53 CPU 778c2ecf20Sopenharmony_ci cores in a test chip on the core tile. See ARM DDI 0498D. 788c2ecf20Sopenharmony_ci items: 798c2ecf20Sopenharmony_ci - const: arm,vexpress,v2f-1xv7,ca53x2 808c2ecf20Sopenharmony_ci - const: arm,vexpress,v2f-1xv7 818c2ecf20Sopenharmony_ci - const: arm,vexpress 828c2ecf20Sopenharmony_ci - description: Arm Versatile Express Juno "r0" (the first Juno board, 838c2ecf20Sopenharmony_ci V2M-Juno) was introduced as a vehicle for evaluating big.LITTLE on 848c2ecf20Sopenharmony_ci AArch64 CPU cores. It has 2 Cortex A57 CPU cores and 4 Cortex A53 858c2ecf20Sopenharmony_ci cores in a big.LITTLE configuration. It also features the MALI T624 868c2ecf20Sopenharmony_ci GPU. See ARM document 100113_0000_07_en. 878c2ecf20Sopenharmony_ci items: 888c2ecf20Sopenharmony_ci - const: arm,juno 898c2ecf20Sopenharmony_ci - const: arm,vexpress 908c2ecf20Sopenharmony_ci - description: Arm Versatile Express Juno r1 Development Platform 918c2ecf20Sopenharmony_ci (V2M-Juno r1) was introduced mainly aimed at development of PCIe 928c2ecf20Sopenharmony_ci based systems. Juno r1 also has support for AXI masters placed on 938c2ecf20Sopenharmony_ci the TLX connectors to join the coherency domain. Otherwise it is the 948c2ecf20Sopenharmony_ci same configuration as Juno r0. See ARM document 100122_0100_06_en. 958c2ecf20Sopenharmony_ci items: 968c2ecf20Sopenharmony_ci - const: arm,juno-r1 978c2ecf20Sopenharmony_ci - const: arm,juno 988c2ecf20Sopenharmony_ci - const: arm,vexpress 998c2ecf20Sopenharmony_ci - description: Arm Versatile Express Juno r2 Development Platform 1008c2ecf20Sopenharmony_ci (V2M-Juno r2). It has the same feature set as Juno r0 and r1. See 1018c2ecf20Sopenharmony_ci ARM document 100114_0200_04_en. 1028c2ecf20Sopenharmony_ci items: 1038c2ecf20Sopenharmony_ci - const: arm,juno-r2 1048c2ecf20Sopenharmony_ci - const: arm,juno 1058c2ecf20Sopenharmony_ci - const: arm,vexpress 1068c2ecf20Sopenharmony_ci - description: Arm AEMv8a Versatile Express Real-Time System Model 1078c2ecf20Sopenharmony_ci (VE RTSM) is a programmers view of the Versatile Express with Arm 1088c2ecf20Sopenharmony_ci v8A hardware. See ARM DUI 0575D. 1098c2ecf20Sopenharmony_ci items: 1108c2ecf20Sopenharmony_ci - const: arm,rtsm_ve,aemv8a 1118c2ecf20Sopenharmony_ci - const: arm,vexpress 1128c2ecf20Sopenharmony_ci - description: Arm FVP (Fixed Virtual Platform) base model revision C 1138c2ecf20Sopenharmony_ci See ARM Document 100964_1190_00_en. 1148c2ecf20Sopenharmony_ci items: 1158c2ecf20Sopenharmony_ci - const: arm,fvp-base-revc 1168c2ecf20Sopenharmony_ci - const: arm,vexpress 1178c2ecf20Sopenharmony_ci - description: Arm Foundation model for Aarch64 1188c2ecf20Sopenharmony_ci items: 1198c2ecf20Sopenharmony_ci - const: arm,foundation-aarch64 1208c2ecf20Sopenharmony_ci - const: arm,vexpress 1218c2ecf20Sopenharmony_ci 1228c2ecf20Sopenharmony_ci arm,hbi: 1238c2ecf20Sopenharmony_ci $ref: '/schemas/types.yaml#/definitions/uint32' 1248c2ecf20Sopenharmony_ci description: This indicates the ARM HBI (Hardware Board ID), this is 1258c2ecf20Sopenharmony_ci ARM's unique board model ID, visible on the PCB's silkscreen. 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ci arm,vexpress,site: 1288c2ecf20Sopenharmony_ci description: As Versatile Express can be configured in number of physically 1298c2ecf20Sopenharmony_ci different setups, the device tree should describe platform topology. 1308c2ecf20Sopenharmony_ci For this reason the root node and main motherboard node must define this 1318c2ecf20Sopenharmony_ci property, describing the physical location of the children nodes. 1328c2ecf20Sopenharmony_ci 0 means motherboard site, while 1 and 2 are daughterboard sites, and 1338c2ecf20Sopenharmony_ci 0xf means "sisterboard" which is the site containing the main CPU tile. 1348c2ecf20Sopenharmony_ci $ref: '/schemas/types.yaml#/definitions/uint32' 1358c2ecf20Sopenharmony_ci minimum: 0 1368c2ecf20Sopenharmony_ci maximum: 15 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ci arm,vexpress,position: 1398c2ecf20Sopenharmony_ci description: When daughterboards are stacked on one site, their position 1408c2ecf20Sopenharmony_ci in the stack be be described this attribute. 1418c2ecf20Sopenharmony_ci $ref: '/schemas/types.yaml#/definitions/uint32' 1428c2ecf20Sopenharmony_ci minimum: 0 1438c2ecf20Sopenharmony_ci maximum: 3 1448c2ecf20Sopenharmony_ci 1458c2ecf20Sopenharmony_ci arm,vexpress,dcc: 1468c2ecf20Sopenharmony_ci description: When describing tiles consisting of more than one DCC, its 1478c2ecf20Sopenharmony_ci number can be specified with this attribute. 1488c2ecf20Sopenharmony_ci $ref: '/schemas/types.yaml#/definitions/uint32' 1498c2ecf20Sopenharmony_ci minimum: 0 1508c2ecf20Sopenharmony_ci maximum: 3 1518c2ecf20Sopenharmony_ci 1528c2ecf20Sopenharmony_cipatternProperties: 1538c2ecf20Sopenharmony_ci "^bus@[0-9a-f]+$": 1548c2ecf20Sopenharmony_ci description: Static Memory Bus (SMB) node, if this exists it describes 1558c2ecf20Sopenharmony_ci the connection between the motherboard and any tiles. Sometimes the 1568c2ecf20Sopenharmony_ci compatible is placed directly under this node, sometimes it is placed 1578c2ecf20Sopenharmony_ci in a subnode named "motherboard". Sometimes the compatible includes 1588c2ecf20Sopenharmony_ci "arm,vexpress,v2?-p1" sometimes (on software models) is is just 1598c2ecf20Sopenharmony_ci "simple-bus". If the compatible is placed in the "motherboard" node, 1608c2ecf20Sopenharmony_ci it is stricter and always has two compatibles. 1618c2ecf20Sopenharmony_ci type: object 1628c2ecf20Sopenharmony_ci $ref: '/schemas/simple-bus.yaml' 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ci properties: 1658c2ecf20Sopenharmony_ci compatible: 1668c2ecf20Sopenharmony_ci oneOf: 1678c2ecf20Sopenharmony_ci - items: 1688c2ecf20Sopenharmony_ci - enum: 1698c2ecf20Sopenharmony_ci - arm,vexpress,v2m-p1 1708c2ecf20Sopenharmony_ci - arm,vexpress,v2p-p1 1718c2ecf20Sopenharmony_ci - const: simple-bus 1728c2ecf20Sopenharmony_ci - const: simple-bus 1738c2ecf20Sopenharmony_ci motherboard: 1748c2ecf20Sopenharmony_ci type: object 1758c2ecf20Sopenharmony_ci description: The motherboard description provides a single "motherboard" 1768c2ecf20Sopenharmony_ci node using 2 address cells corresponding to the Static Memory Bus 1778c2ecf20Sopenharmony_ci used between the motherboard and the tile. The first cell defines the 1788c2ecf20Sopenharmony_ci Chip Select (CS) line number, the second cell address offset within 1798c2ecf20Sopenharmony_ci the CS. All interrupt lines between the motherboard and the tile 1808c2ecf20Sopenharmony_ci are active high and are described using single cell. 1818c2ecf20Sopenharmony_ci properties: 1828c2ecf20Sopenharmony_ci "#address-cells": 1838c2ecf20Sopenharmony_ci const: 2 1848c2ecf20Sopenharmony_ci "#size-cells": 1858c2ecf20Sopenharmony_ci const: 1 1868c2ecf20Sopenharmony_ci compatible: 1878c2ecf20Sopenharmony_ci items: 1888c2ecf20Sopenharmony_ci - enum: 1898c2ecf20Sopenharmony_ci - arm,vexpress,v2m-p1 1908c2ecf20Sopenharmony_ci - arm,vexpress,v2p-p1 1918c2ecf20Sopenharmony_ci - const: simple-bus 1928c2ecf20Sopenharmony_ci arm,v2m-memory-map: 1938c2ecf20Sopenharmony_ci description: This describes the memory map type. 1948c2ecf20Sopenharmony_ci $ref: '/schemas/types.yaml#/definitions/string' 1958c2ecf20Sopenharmony_ci enum: 1968c2ecf20Sopenharmony_ci - rs1 1978c2ecf20Sopenharmony_ci - rs2 1988c2ecf20Sopenharmony_ci 1998c2ecf20Sopenharmony_ci required: 2008c2ecf20Sopenharmony_ci - compatible 2018c2ecf20Sopenharmony_ci required: 2028c2ecf20Sopenharmony_ci - compatible 2038c2ecf20Sopenharmony_ci 2048c2ecf20Sopenharmony_ciallOf: 2058c2ecf20Sopenharmony_ci - if: 2068c2ecf20Sopenharmony_ci properties: 2078c2ecf20Sopenharmony_ci compatible: 2088c2ecf20Sopenharmony_ci contains: 2098c2ecf20Sopenharmony_ci enum: 2108c2ecf20Sopenharmony_ci - arm,vexpress,v2p-ca9 2118c2ecf20Sopenharmony_ci - arm,vexpress,v2p-ca5s 2128c2ecf20Sopenharmony_ci - arm,vexpress,v2p-ca15 2138c2ecf20Sopenharmony_ci - arm,vexpress,v2p-ca15_a7 2148c2ecf20Sopenharmony_ci - arm,vexpress,v2f-1xv7,ca53x2 2158c2ecf20Sopenharmony_ci then: 2168c2ecf20Sopenharmony_ci required: 2178c2ecf20Sopenharmony_ci - arm,hbi 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_ciadditionalProperties: true 2208c2ecf20Sopenharmony_ci 2218c2ecf20Sopenharmony_ci... 222