types.xsd 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  3. <xsd:complexType name="pcilib_bank_t">
  4. <xsd:choice minOccurs="0" maxOccurs="unbounded">
  5. <xsd:element name="register" type="pcilib_register_t" minOccurs="0" maxOccurs="unbounded" />
  6. </xsd:choice>
  7. <xsd:attribute name="protocol" type="xsd:string" default="default" />
  8. <xsd:attribute name="bar" type="pcilib_bar_t" />
  9. <xsd:attribute name="address" type="uintptr_t" />
  10. <xsd:attribute name="read_address" type="uintptr_t" />
  11. <xsd:attribute name="write_address" type="uintptr_t" />
  12. <xsd:attribute name="size" type="size_t" default="4096" />
  13. <xsd:attribute name="word_size" type="uint8_t" default="32" />
  14. <xsd:attribute name="endianess" type="pcilib_endianess_t" default="host" />
  15. <xsd:attribute name="format" type="xsd:string" default="0x%lx" />
  16. <xsd:attribute name="name" type="xsd:ID" use="required" />
  17. <xsd:attribute name="description" type="xsd:string" />
  18. </xsd:complexType>
  19. <xsd:complexType name="pcilib_register_t">
  20. <xsd:sequence>
  21. <xsd:element name="view" type="pcilib_view_reference_t" minOccurs="0" maxOccurs="unbounded" />
  22. <xsd:element name="field" type="pcilib_register_field_t" minOccurs="0" maxOccurs="unbounded" />
  23. </xsd:sequence>
  24. <xsd:attribute name="address" type="uint64_t" use="required" />
  25. <xsd:attribute name="offset" type="uint8_t" default="0" />
  26. <xsd:attribute name="size" type="uint8_t" default="32" />
  27. <xsd:attribute name="default" type="pcilib_register_value_t" default="0" />
  28. <xsd:attribute name="min" type="pcilib_register_value_t" />
  29. <xsd:attribute name="max" type="pcilib_register_value_t"/>
  30. <xsd:attribute name="rwmask" type="pcilib_rwmask_t" default="all" />
  31. <xsd:attribute name="mode" type="pcilib_register_mode_t" default="R" />
  32. <xsd:attribute name="name" type="xsd:ID" use="required"/>
  33. <xsd:attribute name="description" type="xsd:string" />
  34. </xsd:complexType>
  35. <xsd:complexType name="pcilib_register_field_t">
  36. <xsd:sequence>
  37. <xsd:element name="view" type="pcilib_view_reference_t" minOccurs="0" maxOccurs="unbounded" />
  38. </xsd:sequence>
  39. <xsd:attribute name="offset" type="uint8_t"/>
  40. <xsd:attribute name="size" type="uint8_t"/>
  41. <xsd:attribute name="default" type="pcilib_register_value_t" default="0" />
  42. <xsd:attribute name="min" type="pcilib_register_value_t" />
  43. <xsd:attribute name="max" type="pcilib_register_value_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" />
  47. </xsd:complexType>
  48. <xsd:complexType name="pcilib_view_reference_t">
  49. <xsd:attribute name="view" type="xsd:string" use="required" />
  50. <xsd:attribute name="name" type="xsd:string" />
  51. </xsd:complexType>
  52. <xsd:complexType name="pcilib_view_t">
  53. <xsd:attribute name="name" type="xsd:ID" />
  54. <xsd:attribute name="unit" type="xsd:string" />
  55. <xsd:attribute name="type" type="pcilib_data_type_t" />
  56. <xsd:attribute name="mode" type="pcilib_access_mode_t" />
  57. <xsd:attribute name="write_verification" type="bool_t" default="1"/>
  58. <xsd:attribute name="visible" type="bool_t" default="0" />
  59. <xsd:attribute name="description" type="xsd:string" />
  60. </xsd:complexType>
  61. <xsd:complexType name="pcilib_transform_view_t">
  62. <xsd:complexContent>
  63. <xsd:extension base="pcilib_view_t">
  64. <xsd:attribute name="path" type="xsd:string" />
  65. <xsd:attribute name="register" type="xsd:string" />
  66. <xsd:attribute name="read_from_register" type="xsd:string" />
  67. <xsd:attribute name="write_to_register" type="xsd:string" />
  68. <xsd:attribute name="script" type="xsd:string" />
  69. <!-- xsd 1.1 <xsd:assert test="(@path and not(@name)) or (not(@path) and @name)"/> -->
  70. </xsd:extension>
  71. </xsd:complexContent>
  72. </xsd:complexType>
  73. <xsd:complexType name="pcilib_enum_view_t">
  74. <xsd:complexContent>
  75. <xsd:extension base="pcilib_view_t">
  76. <xsd:choice minOccurs="1" maxOccurs="unbounded">
  77. <xsd:element name="name" type="pcilib_value_name_t" minOccurs="1" maxOccurs="unbounded" />
  78. </xsd:choice>
  79. </xsd:extension>
  80. </xsd:complexContent>
  81. </xsd:complexType>
  82. <xsd:complexType name="pcilib_value_name_t">
  83. <xsd:attribute name="value" type="pcilib_register_value_t" use="required" />
  84. <xsd:attribute name="min" type="pcilib_register_value_t" />
  85. <xsd:attribute name="max" type="pcilib_register_value_t" />
  86. <xsd:attribute name="name" type="xsd:string" use="required" />
  87. <xsd:attribute name="description" type="xsd:string" />
  88. </xsd:complexType>
  89. <xsd:complexType name="pcilib_unit_t">
  90. <xsd:sequence>
  91. <xsd:element name="transform" type="pcilib_unit_transform_t" minOccurs="0" maxOccurs="unbounded"/>
  92. </xsd:sequence>
  93. <xsd:attribute name="name" type="xsd:ID" use="required"/>
  94. <xsd:attribute name="title" type="xsd:string"/>
  95. </xsd:complexType>
  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"/>
  99. </xsd:complexType>
  100. <xsd:simpleType name="bool_t">
  101. <xsd:restriction base="xsd:integer">
  102. <xsd:minInclusive value="0"/>
  103. <xsd:maxInclusive value="1"/>
  104. </xsd:restriction>
  105. </xsd:simpleType>
  106. <xsd:simpleType name="dec8_t">
  107. <xsd:restriction base="xsd:integer">
  108. <xsd:minInclusive value="0"/>
  109. <xsd:maxInclusive value="255"/>
  110. </xsd:restriction>
  111. </xsd:simpleType>
  112. <xsd:simpleType name="hex8_t">
  113. <xsd:restriction base="xsd:string">
  114. <xsd:pattern value="0x([a-fA-F0-9]){1,2}"/>
  115. </xsd:restriction>
  116. </xsd:simpleType>
  117. <xsd:simpleType name="uint8_t">
  118. <xsd:union memberTypes="dec8_t hex8_t"/>
  119. </xsd:simpleType>
  120. <xsd:simpleType name="dec32_t">
  121. <xsd:restriction base="xsd:integer">
  122. <xsd:minInclusive value="0"/>
  123. <xsd:maxInclusive value="4294967295"/>
  124. </xsd:restriction>
  125. </xsd:simpleType>
  126. <xsd:simpleType name="hex32_t">
  127. <xsd:restriction base="xsd:string">
  128. <xsd:pattern value="0x([a-fA-F0-9]){1,8}"/>
  129. </xsd:restriction>
  130. </xsd:simpleType>
  131. <xsd:simpleType name="uint32_t">
  132. <xsd:union memberTypes="dec32_t hex32_t"/>
  133. </xsd:simpleType>
  134. <xsd:simpleType name="dec64_t">
  135. <xsd:restriction base="xsd:integer">
  136. <xsd:minInclusive value="0"/>
  137. <xsd:maxInclusive value="18446744073709551615"/>
  138. </xsd:restriction>
  139. </xsd:simpleType>
  140. <xsd:simpleType name="hex64_t">
  141. <xsd:restriction base="xsd:string">
  142. <xsd:pattern value="0x([a-fA-F0-9]){1,16}"/>
  143. </xsd:restriction>
  144. </xsd:simpleType>
  145. <xsd:simpleType name="uint64_t">
  146. <xsd:union memberTypes="dec64_t hex64_t"/>
  147. </xsd:simpleType>
  148. <xsd:simpleType name="size_t">
  149. <xsd:restriction base="uint64_t"/>
  150. </xsd:simpleType>
  151. <xsd:simpleType name="uintptr_t">
  152. <xsd:restriction base="hex64_t"/>
  153. </xsd:simpleType>
  154. <xsd:simpleType name="pcilib_register_value_t">
  155. <xsd:restriction base="uint32_t"/>
  156. </xsd:simpleType>
  157. <xsd:simpleType name="pcilib_bar_t">
  158. <xsd:restriction base="xsd:integer">
  159. <xsd:minInclusive value="0"/>
  160. <xsd:maxInclusive value="5"/>
  161. </xsd:restriction>
  162. </xsd:simpleType>
  163. <xsd:simpleType name="pcilib_bank_address_t">
  164. <xsd:restriction base="xsd:string">
  165. <xsd:enumeration value="0"/>
  166. <xsd:enumeration value="1"/>
  167. <xsd:enumeration value="2"/>
  168. <xsd:enumeration value="3"/>
  169. <xsd:enumeration value="dma0"/>
  170. <xsd:enumeration value="dma1"/>
  171. <xsd:enumeration value="dma2"/>
  172. <xsd:enumeration value="dma3"/>
  173. </xsd:restriction>
  174. </xsd:simpleType>
  175. <xsd:simpleType name="pcilib_access_mode_t">
  176. <xsd:restriction base="xsd:string">
  177. <xsd:enumeration value="-"/>
  178. <xsd:enumeration value="R"/>
  179. <xsd:enumeration value="W"/>
  180. <xsd:enumeration value="RW"/>
  181. </xsd:restriction>
  182. </xsd:simpleType>
  183. <xsd:simpleType name="pcilib_register_mode_t">
  184. <xsd:restriction base="xsd:string">
  185. <xsd:enumeration value="-"/>
  186. <xsd:enumeration value="R"/>
  187. <xsd:enumeration value="W"/>
  188. <xsd:enumeration value="RW"/>
  189. <xsd:enumeration value="W1C"/>
  190. <xsd:enumeration value="RW1C"/>
  191. <xsd:enumeration value="W1I"/>
  192. <xsd:enumeration value="RW1I"/>
  193. </xsd:restriction>
  194. </xsd:simpleType>
  195. <xsd:simpleType name="pcilib_data_type_t">
  196. <xsd:restriction base="xsd:string">
  197. <xsd:enumeration value="string"/>
  198. <xsd:enumeration value="float"/>
  199. <xsd:enumeration value="int"/>
  200. </xsd:restriction>
  201. </xsd:simpleType>
  202. <xsd:simpleType name="pcilib_endianess_t">
  203. <xsd:restriction base="xsd:string">
  204. <xsd:enumeration value="little"/>
  205. <xsd:enumeration value="big"/>
  206. <xsd:enumeration value="host"/>
  207. </xsd:restriction>
  208. </xsd:simpleType>
  209. <xsd:simpleType name="pcilib_rwmask_keywords_t">
  210. <xsd:restriction base="xsd:string">
  211. <xsd:enumeration value="all"/>
  212. </xsd:restriction>
  213. </xsd:simpleType>
  214. <xsd:simpleType name="pcilib_rwmask_t">
  215. <xsd:union memberTypes="pcilib_rwmask_keywords_t pcilib_register_value_t"/>
  216. </xsd:simpleType>
  217. </xsd:schema>