]> Git Repo - J-linux.git/blob - drivers/gpu/drm/msm/registers/rules-fd.xsd
Merge tag 'vfs-6.13-rc7.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
[J-linux.git] / drivers / gpu / drm / msm / registers / rules-fd.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <schema xmlns="http://www.w3.org/2001/XMLSchema"
3         targetNamespace="http://nouveau.freedesktop.org/"
4         xmlns:rng="http://nouveau.freedesktop.org/"
5         elementFormDefault="qualified">
6
7         <annotation>
8                 <documentation>
9                         An updated version of the old rules.xml file from the
10                         RivaTV project. Specifications by Pekka Paalanen,
11                         preliminary attempt by KoalaBR,
12                         first working version by Jakob Bornecrantz.
13                         For specifications, see the file rules-ng-format.txt
14                         in Nouveau CVS module 'rules-ng'.
15                 </documentation>
16                 <documentation>Version 0.1</documentation>
17         </annotation>
18
19
20         <!-- Elements -->
21
22         <element name="database"       type="rng:databaseType" />
23         <element name="import"         type="rng:importType" />
24         <element name="copyright"      type="rng:copyrightType" />
25         <element name="domain"         type="rng:domainType" />
26         <element name="array"          type="rng:arrayType" />
27         <element name="stripe"         type="rng:stripeType" />
28         <element name="reg64"          type="rng:registerType" />
29         <element name="reg32"          type="rng:registerType" />
30         <element name="bitset"         type="rng:bitsetType" />
31         <element name="bitfield"       type="rng:bitfieldType" />
32         <element name="enum"           type="rng:enumType" />
33         <element name="value"          type="rng:valueType" />
34
35         <!-- Copyright elements -->
36         <element name="author"         type="rng:authorType" />
37         <element name="nick"           type="rng:nickType" />
38         <element name="license"        type="rng:docType" />
39
40         <!-- Documentation elements -->
41         
42         <!-- FIXME: allowed only one  per parent element -->
43         <element name="brief" type="rng:briefType" />
44         
45         <element name="doc"  type="rng:docType" />
46         <element name="b"    type="rng:textformatType" />
47         <element name="i"    type="rng:textformatType" />
48         <element name="u"    type="rng:textformatType" />
49         <element name="code" type="rng:textcodeType" />
50         <element name="ul"   type="rng:listType" />
51         <element name="ol"   type="rng:listType" />
52         <element name="li"   type="rng:listitemType" />
53
54         <!-- Copyright element types -->
55
56         <complexType name="authorType" mixed="true">
57                 <annotation>
58                         <documentation>
59                                 register database author
60                         </documentation>
61                 </annotation>
62                 <choice minOccurs="0" maxOccurs="unbounded">
63                         <element ref="rng:nick" />
64                 </choice>
65                 <attribute name="name" type="string" use="required" />
66                 <attribute name="email" type="string" use="required" />
67         </complexType>
68
69         <complexType name="nickType">
70                 <annotation>
71                         <documentation>nickType</documentation>
72                 </annotation>
73                 <attribute name="name" type="string" use="required" />
74         </complexType>
75
76         <!-- Database element types -->
77
78         <complexType name="databaseType">
79                 <annotation>
80                         <documentation>databaseType</documentation>
81                 </annotation>
82                 <choice minOccurs="0" maxOccurs="unbounded">
83                         <group ref="rng:docGroup" />
84                         <group ref="rng:topGroup" />
85                 </choice>
86         </complexType>
87
88         <complexType name="importType">
89                 <annotation>
90                         <documentation>importType</documentation>
91                 </annotation>
92                 <attribute name="file" type="string" use="required" />
93         </complexType>
94
95         <complexType name="copyrightType">
96                 <annotation>
97                         <documentation>copyrightType</documentation>
98                 </annotation>
99                 <choice minOccurs="0" maxOccurs="unbounded">
100                         <group ref="rng:docGroup" />
101                         <group ref="rng:topGroup" />
102                         <element ref="rng:author" />
103                         <element ref="rng:license" />
104                 </choice>
105                 <attribute name="year" type="nonNegativeInteger" use="optional" />
106         </complexType>
107
108         <complexType name="domainType">
109                 <annotation>
110                         <documentation>domainType</documentation>
111                 </annotation>
112                 <choice minOccurs="0" maxOccurs="unbounded">
113                         <group ref="rng:docGroup" />
114                         <group ref="rng:topGroup" />
115                         <group ref="rng:regarrayGroup" />
116                 </choice>
117                 <attribute name="name" type="NMTOKEN" use="required" />
118                 <attribute name="prefix" type="NMTOKENS" use="optional" />
119                 <attribute name="width" type="rng:DomainWidth" use="optional" />
120                 <attribute name="varset" type="NMTOKEN" use="optional" />
121                 <attribute name="variants" type="string" use="optional" />
122         </complexType>
123
124         <complexType name="arrayType">
125                 <annotation>
126                         <documentation>arrayType</documentation>
127                 </annotation>
128                 <choice minOccurs="0" maxOccurs="unbounded">
129                         <group ref="rng:docGroup" />
130                         <group ref="rng:topGroup" />
131                         <group ref="rng:regarrayGroup" />
132                 </choice>
133                 <attribute name="name" type="NMTOKEN" use="optional" />
134                 <attribute name="offset" type="rng:HexOrNumber" use="optional" />
135                 <attribute name="offsets" type="string" use="optional"/>
136                 <attribute name="doffsets" type="string" use="optional"/>
137                 <attribute name="index" type="NMTOKENS" use="optional"/>
138                 <attribute name="stride" type="rng:HexOrNumber" use="required" />
139                 <attribute name="length" type="rng:HexOrNumber" use="required" />
140                 <attribute name="varset" type="NMTOKEN" use="optional" />
141                 <attribute name="variants" type="string" use="optional" />
142                 <attribute name="usage" type="string" use="optional" />
143         </complexType>
144
145         <complexType name="stripeType">
146                 <annotation>
147                         <documentation>stripeType</documentation>
148                 </annotation>
149                 <choice minOccurs="0" maxOccurs="unbounded">
150                         <group ref="rng:docGroup" />
151                         <group ref="rng:topGroup" />
152                         <group ref="rng:regarrayGroup" minOccurs="0" />
153                 </choice>
154                 <attribute name="varset" type="NMTOKEN" use="optional" />
155                 <attribute name="variants" type="string" use="optional" />
156                 <attribute name="prefix" type="NMTOKENS" use="optional" />
157         </complexType>
158
159         <complexType name="registerType">
160                 <annotation>
161                         <documentation>
162                                 registerType used by reg32, reg64
163                         </documentation>
164                 </annotation>
165                 <choice minOccurs="0" maxOccurs="unbounded">
166                         <group ref="rng:docGroup" />
167                         <group ref="rng:topGroup" />
168                         <element ref="rng:value" />
169                         <element ref="rng:bitfield" />
170                 </choice>
171                 <attribute name="name" type="NMTOKEN" use="required" />
172                 <attribute name="offset" type="rng:HexOrNumber" use="required" />
173                 <attribute name="type" type="NMTOKENS" use="optional" />
174                 <attribute name="shr" type="nonNegativeInteger" use="optional" />
175                 <attribute name="varset" type="NMTOKEN" use="optional" />
176                 <attribute name="variants" type="string" use="optional" />
177                 <attribute name="stride" type="rng:HexOrNumber" use="optional" />
178                 <attribute name="length" type="rng:HexOrNumber" use="optional" />
179                 <attribute name="high" type="nonNegativeInteger" use="optional" />
180                 <attribute name="low" type="nonNegativeInteger" use="optional" />
181                 <attribute name="pos" type="nonNegativeInteger" use="optional" />
182                 <attribute name="align" type="nonNegativeInteger" use="optional" />
183                 <attribute name="radix" type="nonNegativeInteger" use="optional" />
184                 <attribute name="usage" type="string" use="optional" />
185         </complexType>
186
187         <complexType name="bitsetType">
188                 <annotation>
189                         <documentation>bitsetType</documentation>
190                 </annotation>
191                 <choice maxOccurs="unbounded">
192                         <element ref="rng:bitfield" />
193                         <group ref="rng:docGroup" />
194                         <group ref="rng:topGroup" />
195                 </choice>
196                 <attribute name="name" type="NMTOKEN" use="required" />
197                 <attribute name="inline" type="rng:Boolean" use="optional" />
198                 <attribute name="varset" type="NMTOKEN" use="optional" />
199         </complexType>
200
201         <complexType name="bitfieldType">
202                 <annotation>
203                         <documentation>bitfieldType</documentation>
204                 </annotation>
205                 <choice minOccurs="0" maxOccurs="unbounded">
206                         <element ref="rng:value" maxOccurs="unbounded" />
207                         <group ref="rng:docGroup" />
208                         <group ref="rng:topGroup" />
209                 </choice>
210                 <attribute name="name" type="NMTOKEN" use="required" />
211                 <attribute name="high" type="nonNegativeInteger" use="optional" />
212                 <attribute name="low" type="nonNegativeInteger" use="optional" />
213                 <attribute name="pos" type="nonNegativeInteger" use="optional" />
214                 <attribute name="radix" type="nonNegativeInteger" use="optional" />
215                 <attribute name="type" type="NMTOKENS" use="optional" />
216                 <attribute name="varset" type="NMTOKEN" use="optional" />
217                 <attribute name="variants" type="string" use="optional" />
218                 <attribute name="addvariant" type="rng:Boolean" use="optional" />
219                 <attribute name="shr" type="nonNegativeInteger" use="optional" />
220         </complexType>
221
222         <complexType name="enumType">
223                 <annotation>
224                         <documentation>enumType</documentation>
225                 </annotation>
226                 <choice maxOccurs="unbounded">
227                         <element ref="rng:value" />
228                         <group ref="rng:docGroup" />
229                         <group ref="rng:topGroup" />
230                 </choice>
231                 <attribute name="name" type="NMTOKEN" use="required" />
232                 <attribute name="bare" type="rng:Boolean" use="optional" />
233                 <attribute name="prefix" type="NMTOKENS" use="optional" />
234                 <attribute name="varset" type="NMTOKEN" use="optional" />
235         </complexType>
236
237         <complexType name="valueType">
238                 <annotation>
239                         <documentation>valueType</documentation>
240                 </annotation>
241                 <choice minOccurs="0" maxOccurs="unbounded">
242                         <group ref="rng:docGroup" />
243                         <group ref="rng:topGroup" />
244                 </choice>
245                 <attribute name="name" type="NMTOKEN" use="required" />
246                 <attribute name="value" type="string" use="optional" />
247                 <attribute name="varset" type="NMTOKEN" use="optional" />
248                 <attribute name="variants" type="string" use="optional" />
249         </complexType>
250
251         <!-- Documentation element types -->
252
253         <complexType name="briefType">
254                 <annotation>
255                         <documentation>
256                                 brief documentation, no markup
257                         </documentation>
258                 </annotation>
259                 <simpleContent>
260                         <extension base="string" />
261                 </simpleContent>
262         </complexType>
263         
264         <complexType name="docType" mixed="true">
265                 <annotation>
266                         <documentation>
267                                 root element of documentation sub-tree
268                         </documentation>
269                 </annotation>
270                 <choice minOccurs="0" maxOccurs="unbounded">
271                         <group ref="rng:textformatGroup" />
272                         <group ref="rng:listGroup" />
273                         <element ref="rng:code" />
274                 </choice>
275         </complexType>
276         
277         <complexType name="textformatType" mixed="true">
278                 <annotation>
279                         <documentation>
280                                 for bold, underline, italics
281                         </documentation>
282                 </annotation>
283                 <choice minOccurs="0" maxOccurs="unbounded">
284                         <group ref="rng:textformatGroup" />
285                 </choice>
286         </complexType>
287         
288         <complexType name="textcodeType">
289                 <simpleContent>
290                         <extension base="string">
291                                 <attribute name="title" type="string" />
292                         </extension>
293                 </simpleContent>
294         </complexType>
295         
296         <complexType name="listType">
297                 <annotation>
298                         <documentation>
299                                 definition of a list, ordered or unordered
300                         </documentation>
301                 </annotation>
302                 <choice minOccurs="0" maxOccurs="unbounded">
303                         <element ref="rng:li" />
304                 </choice>
305         </complexType>
306         
307         <complexType name="listitemType" mixed="true">
308                 <annotation>
309                         <documentation>
310                                 items of a list
311                         </documentation>
312                 </annotation>
313                 <choice minOccurs="0" maxOccurs="unbounded">
314                         <group ref="rng:textformatGroup" />
315                         <group ref="rng:listGroup" />
316                         <element ref="rng:code" />
317                 </choice>
318         </complexType>
319
320
321
322         <!-- Attribute value types -->
323
324         <simpleType name="Hexadecimal">
325                 <restriction base="string">
326                         <pattern value="0x[0-9a-f]+" />
327                         <pattern value="0x[0-9A-F]+" />
328                         <pattern value="[0-9]" />
329                 </restriction>
330         </simpleType>
331
332         <simpleType name="HexOrNumber">
333                 <annotation>
334                         <documentation>HexOrNumber</documentation>
335                 </annotation>
336                 <union memberTypes="rng:Hexadecimal nonNegativeInteger" />
337         </simpleType>
338
339         <simpleType name="Boolean">
340                 <restriction base="string">
341                         <enumeration value="true" />
342                         <enumeration value="1" />
343                         <enumeration value="yes" />
344                         <enumeration value="false" />
345                         <enumeration value="0" />
346                         <enumeration value="no" />
347                 </restriction>
348         </simpleType>
349
350         <simpleType name="DomainWidth">
351                 <annotation>
352                         <documentation>DomainWidth</documentation>
353                 </annotation>
354                 <restriction base="string">
355                         <enumeration value="32" />
356                 </restriction>
357         </simpleType>
358
359
360
361         <!-- Element groups -->
362
363         <group name="topGroup">
364                 <choice>
365                         <element ref="rng:copyright" />
366                         <element ref="rng:domain" />
367                         <element ref="rng:enum" />
368                         <element ref="rng:bitset" />
369                         <element ref="rng:import" />
370                 </choice>
371         </group>
372         
373         <group name="regarrayGroup">
374                 <choice>
375                         <element ref="rng:reg64" />
376                         <element ref="rng:reg32" />
377                         <element ref="rng:array" />
378                         <element ref="rng:stripe" />
379                 </choice>
380         </group>
381         
382         <group name="docGroup">
383                 <choice>
384                         <element ref="rng:brief" />
385                         <element ref="rng:doc" />
386                 </choice>
387         </group>
388         
389         <group name="textformatGroup">
390                 <choice>
391                         <element ref="rng:b" />
392                         <element ref="rng:i" />
393                         <element ref="rng:u" />
394                 </choice>
395         </group>
396         
397         <group name="listGroup">
398                 <choice>
399                         <element ref="rng:ul" />
400                         <element ref="rng:ol" />
401                 </choice>
402         </group>
403
404 </schema>
This page took 0.052608 seconds and 4 git commands to generate.