blob: ed13f766aa6cc0da887a5892086ec718b9a9f5c2 [file] [log] [blame]
{
"license": {
"copyright": "Copyright (c) 2010-2025 Arm Limited or its affiliates. All rights reserved.",
"info": "This document is Non-confidential and licensed under the BSD 3-clause license."
},
"info": [
[
"A RegisterArray is an array of registers, all of which have the same structure.",
"The implementer should treat this register array as many registers rolled into one."
],
[
"For example the register REG0, REG1, REG2, ..., REGN could be formulated as the RegisterArray `REG<n>` ",
"where `<n>` is the nth value to use when talking about the canonical register, and the rangeset is used to define ",
"the index range."
]
],
"properties": {
"_meta": {
"$ref": "Meta.json"
},
"_type": {
"enum": [
"RegisterArray"
]
},
"access_text": {
"$ref": "Register.json#/properties/access_text",
"see": "Register.json"
},
"accessors": {
"see": "Register.json",
"info": [
[
"The accessors work exactly like the accessors in a normal [Register](Register_schema.html) except",
"the encoding values include references to the `<n>` index value. This is because the encoding applies to",
"each of the `<n>` registers."
],
"When using a [MemoryMapped](Accessors/MemoryMapped_schema.html) accessor, the `n` value in its offset property is the index into this register array."
],
"$ref": "Register.json#/properties/accessors"
},
"condition": {
"see": "Register.json",
"$ref": "Register.json#/properties/condition"
},
"configuration": {
"see": "Register.json",
"$ref": "Register.json#/properties/configuration"
},
"fieldsets": {
"see": "Register.json",
"$ref": "Register.json#/properties/fieldsets"
},
"groups": {
"see": "Register.json",
"$ref": "Register.json#/properties/groups"
},
"instances": {
"see": "Register.json",
"$ref": "Register.json#/properties/instances"
},
"mapset": {
"see": "Register.json",
"$ref": "Register.json#/properties/mapset"
},
"name": {
"see": "Register.json",
"info": [
"The name of a RegisterArray must contain an index variable, e.g. `<n>`, exactly once.",
[
" - `REG<n>`",
" - `REG<n>_EL1`"
]
],
"pattern": "<([^>]+)>",
"$ref": "Register.json#/properties/name"
},
"purpose": {
"see": "Register.json",
"$ref": "Register.json#/properties/purpose"
},
"reset": {
"see": "Register.json",
"$ref": "Register.json#/properties/reset"
},
"state": {
"see": "Register.json",
"$ref": "Register.json#/properties/state"
},
"title": {
"see": "Register.json",
"$ref": "Register.json#/properties/title"
},
"indexes": {
"$ref": "Traits/HasIndexes.json#/definitions/indexes"
},
"index_variable": {
"$ref": "Traits/HasIndexes.json#/definitions/index_variable"
}
},
"title": "RegisterArray",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"required": [
"name",
"index_variable",
"indexes"
]
}