1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
4
<xsd:complexType name="pcilib_bank_t">
5
<xsd:choice minOccurs="0" maxOccurs="unbounded">
6
<xsd:element name="register" type="pcilib_register_t" minOccurs="0" maxOccurs="unbounded" />
8
<xsd:attribute name="protocol" type="xsd:string" default="default" />
9
<xsd:attribute name="bar" type="pcilib_bar_t" />
10
<xsd:attribute name="address" type="uintptr_t" />
11
<xsd:attribute name="read_address" type="uintptr_t" />
12
<xsd:attribute name="write_address" type="uintptr_t" />
13
<xsd:attribute name="size" type="size_t" default="4096" />
14
<xsd:attribute name="word_size" type="uint8_t" default="32" />
15
<xsd:attribute name="endianess" type="pcilib_endianess_t" default="host" />
16
<xsd:attribute name="format" type="xsd:string" default="0x%lx" />
17
<xsd:attribute name="name" type="xsd:ID" use="required" />
18
<xsd:attribute name="description" type="xsd:string" />
21
<xsd:complexType name="pcilib_register_t">
23
<xsd:element name="view" type="pcilib_view_reference_t" minOccurs="0" maxOccurs="unbounded" />
24
<xsd:element name="field" type="pcilib_register_field_t" minOccurs="0" maxOccurs="unbounded" />
26
<xsd:attribute name="address" type="uint64_t" use="required" />
27
<xsd:attribute name="offset" type="uint8_t" default="0" />
28
<xsd:attribute name="size" type="uint8_t" default="32" />
29
<xsd:attribute name="default" type="pcilib_register_value_t" default="0" />
30
<xsd:attribute name="min" type="pcilib_register_value_t" />
31
<xsd:attribute name="max" type="pcilib_register_value_t"/>
32
<xsd:attribute name="rwmask" type="pcilib_rwmask_t" default="all" />
33
<xsd:attribute name="mode" type="pcilib_register_mode_t" default="R" />
34
<xsd:attribute name="name" type="xsd:ID" use="required"/>
35
<xsd:attribute name="description" type="xsd:string" />
38
<xsd:complexType name="pcilib_register_field_t">
40
<xsd:element name="view" type="pcilib_view_reference_t" minOccurs="0" maxOccurs="unbounded" />
42
<xsd:attribute name="offset" type="uint8_t"/>
43
<xsd:attribute name="size" type="uint8_t"/>
44
<xsd:attribute name="mode" type="pcilib_register_mode_t"/>
45
<xsd:attribute name="name" type="xsd:ID" use="required" />
46
<xsd:attribute name="description" type="xsd:string" />
49
<xsd:complexType name="pcilib_view_reference_t">
50
<xsd:attribute name="view" type="xsd:string" use="required" />
51
<xsd:attribute name="name" type="xsd:string" />
54
<xsd:complexType name="pcilib_view_t">
55
<xsd:attribute name="name" type="xsd:ID" use="required" />
56
<xsd:attribute name="unit" type="xsd:string" />
57
<xsd:attribute name="type" type="pcilib_data_type_t" />
58
<xsd:attribute name="visible" type="bool_t" default="0" />
59
<xsd:attribute name="description" type="xsd:string" />
62
<xsd:complexType name="pcilib_transform_view_t">
64
<xsd:extension base="pcilib_view_t">
65
<xsd:attribute name="read_from_register" type="xsd:string" />
66
<xsd:attribute name="write_to_register" type="xsd:string" />
71
<xsd:complexType name="pcilib_enum_view_t">
73
<xsd:extension base="pcilib_view_t">
74
<xsd:choice minOccurs="1" maxOccurs="unbounded">
75
<xsd:element name="name" type="pcilib_value_name_t" minOccurs="1" maxOccurs="unbounded" />
81
<xsd:complexType name="pcilib_value_name_t">
82
<xsd:attribute name="value" type="pcilib_register_value_t" use="required" />
83
<xsd:attribute name="min" type="pcilib_register_value_t" />
84
<xsd:attribute name="max" type="pcilib_register_value_t" />
85
<xsd:attribute name="name" type="xsd:string" use="required" />
88
<xsd:complexType name="pcilib_unit_t">
90
<xsd:element name="transform" type="pcilib_unit_transform_t" minOccurs="0" maxOccurs="unbounded"/>
92
<xsd:attribute name="name" type="xsd:ID" use="required"/>
93
<xsd:attribute name="title" type="xsd:string"/>
96
<xsd:complexType name="pcilib_unit_transform_t">
97
<xsd:attribute name="transform" type="xsd:string" use="required" />
98
<xsd:attribute name="unit" type="xsd:string" use="required"/>
101
<xsd:simpleType name="bool_t">
102
<xsd:restriction base="xsd:integer">
103
<xsd:minInclusive value="0"/>
104
<xsd:maxInclusive value="1"/>
107
<xsd:simpleType name="dec8_t">
108
<xsd:restriction base="xsd:integer">
109
<xsd:minInclusive value="0"/>
110
<xsd:maxInclusive value="255"/>
113
<xsd:simpleType name="hex8_t">
114
<xsd:restriction base="xsd:string">
115
<xsd:pattern value="0x([a-fA-F0-9]){1,2}"/>
118
<xsd:simpleType name="uint8_t">
119
<xsd:union memberTypes="dec8_t hex8_t"/>
121
<xsd:simpleType name="dec32_t">
122
<xsd:restriction base="xsd:integer">
123
<xsd:minInclusive value="0"/>
124
<xsd:maxInclusive value="4294967295"/>
127
<xsd:simpleType name="hex32_t">
128
<xsd:restriction base="xsd:string">
129
<xsd:pattern value="0x([a-fA-F0-9]){1,8}"/>
132
<xsd:simpleType name="uint32_t">
133
<xsd:union memberTypes="dec32_t hex32_t"/>
135
<xsd:simpleType name="dec64_t">
136
<xsd:restriction base="xsd:integer">
137
<xsd:minInclusive value="0"/>
138
<xsd:maxInclusive value="18446744073709551615"/>
141
<xsd:simpleType name="hex64_t">
142
<xsd:restriction base="xsd:string">
143
<xsd:pattern value="0x([a-fA-F0-9]){1,16}"/>
146
<xsd:simpleType name="uint64_t">
147
<xsd:union memberTypes="dec64_t hex64_t"/>
149
<xsd:simpleType name="size_t">
150
<xsd:restriction base="uint64_t"/>
152
<xsd:simpleType name="uintptr_t">
153
<xsd:restriction base="hex64_t"/>
156
<xsd:simpleType name="pcilib_register_value_t">
157
<xsd:restriction base="uint32_t"/>
159
<xsd:simpleType name="pcilib_bar_t">
160
<xsd:restriction base="xsd:integer">
161
<xsd:minInclusive value="0"/>
162
<xsd:maxInclusive value="5"/>
165
<xsd:simpleType name="pcilib_bank_address_t">
166
<xsd:restriction base="xsd:string">
167
<xsd:enumeration value="0"/>
168
<xsd:enumeration value="1"/>
169
<xsd:enumeration value="2"/>
170
<xsd:enumeration value="3"/>
171
<xsd:enumeration value="dma0"/>
172
<xsd:enumeration value="dma1"/>
173
<xsd:enumeration value="dma2"/>
174
<xsd:enumeration value="dma3"/>
177
<xsd:simpleType name="pcilib_register_mode_t">
178
<xsd:restriction base="xsd:string">
179
<xsd:enumeration value="R"/>
180
<xsd:enumeration value="W"/>
181
<xsd:enumeration value="RW"/>
182
<xsd:enumeration value="W1C"/>
183
<xsd:enumeration value="RW1C"/>
186
<xsd:simpleType name="pcilib_data_type_t">
187
<xsd:restriction base="xsd:string">
188
<xsd:enumeration value="string"/>
189
<xsd:enumeration value="float"/>
190
<xsd:enumeration value="int"/>
193
<xsd:simpleType name="pcilib_endianess_t">
194
<xsd:restriction base="xsd:string">
195
<xsd:enumeration value="little"/>
196
<xsd:enumeration value="big"/>
197
<xsd:enumeration value="host"/>
200
<xsd:simpleType name="pcilib_rwmask_keywords_t">
201
<xsd:restriction base="xsd:string">
202
<xsd:enumeration value="all"/>
205
<xsd:simpleType name="pcilib_rwmask_t">
206
<xsd:union memberTypes="pcilib_rwmask_keywords_t pcilib_register_value_t"/>