git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@13563 27425a3e-05d8-49a3-a47f-9c15f0e5edd8

This commit is contained in:
Giovanni Di Sirio 2020-04-25 07:32:55 +00:00
parent a4858c7079
commit baeb659b1a
2 changed files with 223 additions and 14 deletions

View File

@ -3,21 +3,21 @@
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="../common/doc.xsd" />
<xs:include schemaLocation="../common/stm32/stm32_gpiov2_port.xsd" />
<xs:include schemaLocation="abstract_board.xsd" />
<xs:complexType name="STM32L5xxBoardType">
<xs:complexContent>
<xs:extension base="AbstractBoardType">
<xs:sequence>
<xs:element name="subtype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:include schemaLocation="../common/stm32/stm32_gpiov2a_port.xsd" />
<xs:include schemaLocation="abstract_board.xsd" />
<xs:complexType name="STM32L5xxBoardType">
<xs:complexContent>
<xs:extension base="AbstractBoardType">
<xs:sequence>
<xs:element name="subtype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="STM32L552xx"></xs:enumeration>
<xs:enumeration value="STM32L562xx"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="clocks" maxOccurs="1" minOccurs="1">
<xs:complexType>
@ -113,7 +113,7 @@
</xs:element>
<xs:element name="GPIOG" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
</xs:element>
<xs:element name="GPIOH" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>

View File

@ -0,0 +1,209 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="STM32GPIOv3PortType">
<xs:sequence>
<xs:element
name="pin0"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin1"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin2"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin3"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin4"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin5"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin6"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin7"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin8"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin9"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin10"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin11"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin12"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin13"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin14"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin15"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="STM32GPIOv3PinType">
<xs:annotation>
<xs:documentation>
Object representing an STM32 pin for the GPIOv3
peripheral.
</xs:documentation>
</xs:annotation>
<xs:attribute name="ID" use="required">
<xs:annotation>
<xs:documentation>
Pin identifier, used to generate a #define with the
pin name.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation></xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="([a-zA-Z_][\w_]*\s*)*"></xs:pattern>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Mode" use="required">
<xs:annotation>
<xs:documentation>
Pin mode, as defined for MODER register.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Analog"></xs:enumeration>
<xs:enumeration value="Input"></xs:enumeration>
<xs:enumeration value="Output"></xs:enumeration>
<xs:enumeration value="Alternate"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Level" use="required">
<xs:annotation>
<xs:documentation>
Logic level for the ODR register.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="High"></xs:enumeration>
<xs:enumeration value="Low"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Speed" use="required">
<xs:annotation>
<xs:documentation>
Pin speed as defined in SPEEDR register.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Minimum"></xs:enumeration>
<xs:enumeration value="Low"></xs:enumeration>
<xs:enumeration value="High"></xs:enumeration>
<xs:enumeration value="Maximum"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Type" use="required">
<xs:annotation>
<xs:documentation>
Pin type as defined in TYPER register.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="PushPull"></xs:enumeration>
<xs:enumeration value="OpenDrain"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Resistor" use="required">
<xs:annotation>
<xs:documentation>
Pin pull-up/down resistor as defined in PUDR register.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Floating"></xs:enumeration>
<xs:enumeration value="PullUp"></xs:enumeration>
<xs:enumeration value="PullDown"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Alternate" use="required">
<xs:annotation>
<xs:documentation>
Pin alternate function number, only valid if
"Alternate" is selected in the Mode attribute.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0"></xs:minInclusive>
<xs:maxInclusive value="15"></xs:maxInclusive>
<xs:whiteSpace value="collapse"></xs:whiteSpace>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="PinLock" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Disabled"></xs:enumeration>
<xs:enumeration value="Enabled"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:schema>