summaryrefslogtreecommitdiff
path: root/utils/regtools/desc/spec-2.0.txt
diff options
context:
space:
mode:
Diffstat (limited to 'utils/regtools/desc/spec-2.0.txt')
-rw-r--r--utils/regtools/desc/spec-2.0.txt30
1 files changed, 30 insertions, 0 deletions
diff --git a/utils/regtools/desc/spec-2.0.txt b/utils/regtools/desc/spec-2.0.txt
index 79b9f6be44..be97fbc41a 100644
--- a/utils/regtools/desc/spec-2.0.txt
+++ b/utils/regtools/desc/spec-2.0.txt
@@ -120,6 +120,23 @@ usual arithmetic operators. The example below illustrate such a use:
120 </instance> 120 </instance>
121</node> 121</node>
122 122
123In the case when the addresses do not follow a regular pattern or a formula would
124be too complicated, it is always possible to specify the addresses as a list:
125
126<node>
127 <name>N</name>
128 <instance>
129 <name>F</name>
130 <range>
131 <first>0</first>
132 <address>0x50</address>
133 <address>0x60</address>
134 <address>0x90</address>
135 <address>0x110</address>
136 </range>
137 </instance>
138</node>
139
123In this example we generate four nodes F[0], ..., F[3] with a formula. Here "/" 140In this example we generate four nodes F[0], ..., F[3] with a formula. Here "/"
124is the euclidian division and "%" is the modulo operator. Note the use of an 141is the euclidian division and "%" is the modulo operator. Note the use of an
125attribute to specify which variable represents the index. The generated addresses 142attribute to specify which variable represents the index. The generated addresses
@@ -177,6 +194,7 @@ and an optional description. The example below illustrates all these concepts:
177 194
178<register> 195<register>
179 <width>8</width> 196 <width>8</width>
197 <desc>This register controls the parameters of the interrupt: priority, IRQ/FIQ and enable</desc>
180 <field> 198 <field>
181 <name>MODE</name> 199 <name>MODE</name>
182 <desc>Interrupt mode</desc> 200 <desc>Interrupt mode</desc>
@@ -218,6 +236,10 @@ and an optional description. The example below illustrates all these concepts:
218 <value>1</value> 236 <value>1</value>
219 </enum> 237 </enum>
220 </field> 238 </field>
239 <variant>
240 <type>set</type>
241 <offset>0x4</offset>
242 </variant>
221</register> 243</register>
222 244
223In this example, the 8-bit registers has three fields: 245In this example, the 8-bit registers has three fields:
@@ -350,7 +372,15 @@ Element: register
350It can contain at most one of each of the following tags: 372It can contain at most one of each of the following tags:
351- width: width in bits (positive number) 373- width: width in bits (positive number)
352It can contain any number of the following tags: 374It can contain any number of the following tags:
375- desc: free form description of the register
353- field: field description 376- field: field description
377- variant: variant description
378
379Element: variant
380--------------
381It must contain the following tags:
382- type: name of type, only made of alphanumerical characters
383- offset: offset with respect to register address
354 384
355Element: field 385Element: field
356-------------- 386--------------