aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-07-08 09:55:25 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-07-08 09:55:25 +0000
commitdf72da79cfa6a9edab2811a057f137b069f37c13 (patch)
treefb3553d6c4de7051a66feca63abf5507ccafd2cb /tools
parent3d44ca0b8b480970a094f265ffa020e211896789 (diff)
downloadChibiOS-df72da79cfa6a9edab2811a057f137b069f37c13.tar.gz
ChibiOS-df72da79cfa6a9edab2811a057f137b069f37c13.tar.bz2
ChibiOS-df72da79cfa6a9edab2811a057f137b069f37c13.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4432 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'tools')
-rw-r--r--tools/gencfg/processors/boards/stm32f4xx/datamodel/stm32f4board.xml3
-rw-r--r--tools/gencfg/processors/boards/stm32f4xx/templates/board.h.ftl36
-rw-r--r--tools/gencfg/schema/boards/stm32f4xx_board.xsd22
3 files changed, 55 insertions, 6 deletions
diff --git a/tools/gencfg/processors/boards/stm32f4xx/datamodel/stm32f4board.xml b/tools/gencfg/processors/boards/stm32f4xx/datamodel/stm32f4board.xml
index 0a5959eec..343d3ea85 100644
--- a/tools/gencfg/processors/boards/stm32f4xx/datamodel/stm32f4board.xml
+++ b/tools/gencfg/processors/boards/stm32f4xx/datamodel/stm32f4board.xml
@@ -9,7 +9,8 @@
HSEFrequency="0"
LSEFrequency="0"
BoardPHYID="MII_KS8721_ID"
- BoardPHYType="RMII">
+ BoardPHYType="RMII"
+ VDD="330">
<ports>
<GPIOA>
<pin0
diff --git a/tools/gencfg/processors/boards/stm32f4xx/templates/board.h.ftl b/tools/gencfg/processors/boards/stm32f4xx/templates/board.h.ftl
index 4a6529fd0..8080f2ba8 100644
--- a/tools/gencfg/processors/boards/stm32f4xx/templates/board.h.ftl
+++ b/tools/gencfg/processors/boards/stm32f4xx/templates/board.h.ftl
@@ -49,6 +49,42 @@
[/#if]
[/#if]
+/*
+ * Board oscillators-related settings.
+[#if doc1.board.@LSEFrequency[0]?number == 0]
+ * NOTE: LSE not fitted.
+[/#if]
+[#if doc1.board.@HSEFrequency[0]?number == 0]
+ * NOTE: HSE not fitted.
+[/#if]
+ */
+#if !defined(STM32_LSECLK)
+#define STM32_LSECLK ${doc1.board.@LSEFrequency[0]}
+#endif
+
+#if !defined(STM32_HSECLK)
+#define STM32_HSECLK ${doc1.board.@HSEFrequency[0]}
+#endif
+
+[#if doc1.board.@HSEBypass[0]?string == "true"]
+#define STM32_HSE_BYPASS
+[/#if]
+
+/*
+ * Board voltages.
+ * Required for performance limits calculation.
+ */
+#define STM32_VDD ${doc1.board.@VDD[0]}
+
+/*
+ * MCU type as defined in the ST header file stm32f4xx.h.
+ */
+#define STM32F4XX
+
+/*
+ * IO pins assignments.
+ */
+
#if !defined(_FROM_ASM_)
#ifdef __cplusplus
extern "C" {
diff --git a/tools/gencfg/schema/boards/stm32f4xx_board.xsd b/tools/gencfg/schema/boards/stm32f4xx_board.xsd
index 8b7ba2bbb..0b3622e6f 100644
--- a/tools/gencfg/schema/boards/stm32f4xx_board.xsd
+++ b/tools/gencfg/schema/boards/stm32f4xx_board.xsd
@@ -17,7 +17,7 @@
minOccurs="1">
</xs:element>
</xs:sequence>
- <xs:attribute
+ <xs:attribute
name="HSEBypass"
type="xs:boolean"
use="required">
@@ -32,7 +32,6 @@
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
-
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
@@ -50,12 +49,26 @@
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
- </xs:attribute>
+ </xs:attribute>
+
+ <xs:attribute
+ name="VDD"
+ use="required">
+ <xs:annotation>
+ <xs:documentation>STM32F4xx VDD.</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:int">
+ <xs:minInclusive value="180"></xs:minInclusive>
+ <xs:whiteSpace value="collapse"></xs:whiteSpace>
+ <xs:maxInclusive value="360"></xs:maxInclusive>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
-
<xs:complexType name="portsType">
<xs:sequence>
<xs:element name="GPIOA" type="STM32GPIOv2PortType"
@@ -79,6 +92,5 @@
</xs:sequence>
</xs:complexType>
-
<xs:element name="board" type="STM32F4xxBoardType"></xs:element>
</xs:schema>