aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/boards/ST_STM32F3_DISCOVERY/board.h
diff options
context:
space:
mode:
Diffstat (limited to 'os/hal/boards/ST_STM32F3_DISCOVERY/board.h')
-rw-r--r--os/hal/boards/ST_STM32F3_DISCOVERY/board.h238
1 files changed, 138 insertions, 100 deletions
diff --git a/os/hal/boards/ST_STM32F3_DISCOVERY/board.h b/os/hal/boards/ST_STM32F3_DISCOVERY/board.h
index f0ab43a18..7d07aa95b 100644
--- a/os/hal/boards/ST_STM32F3_DISCOVERY/board.h
+++ b/os/hal/boards/ST_STM32F3_DISCOVERY/board.h
@@ -154,6 +154,44 @@
#define GPIOF_PIN15 15U
/*
+ * IO lines assignments.
+ */
+#define LINE_BUTTON PAL_LINE(GPIOA, 0U)
+#define LINE_SPI1_SCK PAL_LINE(GPIOA, 5U)
+#define LINE_SPI1_MISO PAL_LINE(GPIOA, 6U)
+#define LINE_SPI1_MOSI PAL_LINE(GPIOA, 7U)
+#define LINE_USB_DM PAL_LINE(GPIOA, 11U)
+#define LINE_USB_DP PAL_LINE(GPIOA, 12U)
+#define LINE_SWDIO PAL_LINE(GPIOA, 13U)
+#define LINE_SWCLK PAL_LINE(GPIOA, 14U)
+
+#define LINE_SWO PAL_LINE(GPIOB, 3U)
+#define LINE_I2C1_SCL PAL_LINE(GPIOB, 6U)
+#define LINE_I2C1_SDA PAL_LINE(GPIOB, 7U)
+
+#define LINE_OSC32_IN PAL_LINE(GPIOC, 14U)
+#define LINE_OSC32_OUT PAL_LINE(GPIOC, 15U)
+
+
+#define LINE_L3GD20_INT1 PAL_LINE(GPIOE, 0U)
+#define LINE_L3GD20_INT2 PAL_LINE(GPIOE, 1U)
+#define LINE_LSM303_DRDY PAL_LINE(GPIOE, 2U)
+#define LINE_SPI1_CS PAL_LINE(GPIOE, 3U)
+#define LINE_LSM303_INT1 PAL_LINE(GPIOE, 4U)
+#define LINE_LSM303_INT2 PAL_LINE(GPIOE, 5U)
+#define LINE_LED4_BLUE PAL_LINE(GPIOE, 8U)
+#define LINE_LED3_RED PAL_LINE(GPIOE, 9U)
+#define LINE_LED5_ORANGE PAL_LINE(GPIOE, 10U)
+#define LINE_LED7_GREEN PAL_LINE(GPIOE, 11U)
+#define LINE_LED9_BLUE PAL_LINE(GPIOE, 12U)
+#define LINE_LED10_RED PAL_LINE(GPIOE, 13U)
+#define LINE_LED8_ORANGE PAL_LINE(GPIOE, 14U)
+#define LINE_LED6_GREEN PAL_LINE(GPIOE, 15U)
+
+#define LINE_OSC_IN PAL_LINE(GPIOF, 0U)
+#define LINE_OSC_OUT PAL_LINE(GPIOF, 1U)
+
+/*
* I/O ports initial setup, this configuration is established soon after reset
* in the initialization code.
* Please refer to the STM32 Reference Manual for details.
@@ -166,10 +204,10 @@
#define PIN_ODR_HIGH(n) (1U << (n))
#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
-#define PIN_OSPEED_2M(n) (0U << ((n) * 2U))
-#define PIN_OSPEED_25M(n) (1U << ((n) * 2U))
-#define PIN_OSPEED_50M(n) (2U << ((n) * 2U))
-#define PIN_OSPEED_100M(n) (3U << ((n) * 2U))
+#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U))
+#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U))
+#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U))
+#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U))
#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U))
#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U))
#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U))
@@ -227,22 +265,22 @@
PIN_OTYPE_PUSHPULL(GPIOA_SWDIO) | \
PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) | \
PIN_OTYPE_PUSHPULL(GPIOA_PIN15))
-#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_2M(GPIOA_BUTTON) | \
- PIN_OSPEED_2M(GPIOA_PIN1) | \
- PIN_OSPEED_2M(GPIOA_PIN2) | \
- PIN_OSPEED_2M(GPIOA_PIN3) | \
- PIN_OSPEED_2M(GPIOA_PIN4) | \
- PIN_OSPEED_100M(GPIOA_SPI1_SCK) | \
- PIN_OSPEED_100M(GPIOA_SPI1_MISO) | \
- PIN_OSPEED_100M(GPIOA_SPI1_MOSI) | \
- PIN_OSPEED_2M(GPIOA_PIN8) | \
- PIN_OSPEED_2M(GPIOA_PIN9) | \
- PIN_OSPEED_2M(GPIOA_PIN10) | \
- PIN_OSPEED_100M(GPIOA_USB_DM) | \
- PIN_OSPEED_2M(GPIOA_USB_DP) | \
- PIN_OSPEED_100M(GPIOA_SWDIO) | \
- PIN_OSPEED_100M(GPIOA_SWCLK) | \
- PIN_OSPEED_2M(GPIOA_PIN15))
+#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOA_BUTTON) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN1) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN2) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN3) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN4) | \
+ PIN_OSPEED_HIGH(GPIOA_SPI1_SCK) | \
+ PIN_OSPEED_HIGH(GPIOA_SPI1_MISO) | \
+ PIN_OSPEED_HIGH(GPIOA_SPI1_MOSI) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN8) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN9) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN10) | \
+ PIN_OSPEED_HIGH(GPIOA_USB_DM) | \
+ PIN_OSPEED_VERYLOW(GPIOA_USB_DP) | \
+ PIN_OSPEED_HIGH(GPIOA_SWDIO) | \
+ PIN_OSPEED_HIGH(GPIOA_SWCLK) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN15))
#define VAL_GPIOA_PUPDR (PIN_PUPDR_FLOATING(GPIOA_BUTTON) | \
PIN_PUPDR_PULLUP(GPIOA_PIN1) | \
PIN_PUPDR_PULLUP(GPIOA_PIN2) | \
@@ -344,22 +382,22 @@
PIN_OTYPE_PUSHPULL(GPIOB_PIN13) | \
PIN_OTYPE_PUSHPULL(GPIOB_PIN14) | \
PIN_OTYPE_PUSHPULL(GPIOB_PIN15))
-#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_2M(GPIOB_PIN0) | \
- PIN_OSPEED_2M(GPIOB_PIN1) | \
- PIN_OSPEED_2M(GPIOB_PIN2) | \
- PIN_OSPEED_100M(GPIOB_SWO) | \
- PIN_OSPEED_2M(GPIOB_PIN4) | \
- PIN_OSPEED_2M(GPIOB_PIN5) | \
- PIN_OSPEED_100M(GPIOB_I2C1_SCL) | \
- PIN_OSPEED_100M(GPIOB_I2C1_SDA) | \
- PIN_OSPEED_2M(GPIOB_PIN8) | \
- PIN_OSPEED_2M(GPIOB_PIN9) | \
- PIN_OSPEED_2M(GPIOB_PIN10) | \
- PIN_OSPEED_2M(GPIOB_PIN11) | \
- PIN_OSPEED_2M(GPIOB_PIN12) | \
- PIN_OSPEED_2M(GPIOB_PIN13) | \
- PIN_OSPEED_2M(GPIOB_PIN14) | \
- PIN_OSPEED_2M(GPIOB_PIN15))
+#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOB_PIN0) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN1) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN2) | \
+ PIN_OSPEED_HIGH(GPIOB_SWO) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN4) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN5) | \
+ PIN_OSPEED_HIGH(GPIOB_I2C1_SCL) | \
+ PIN_OSPEED_HIGH(GPIOB_I2C1_SDA) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN8) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN9) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN10) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN11) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN12) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN13) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN14) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN15))
#define VAL_GPIOB_PUPDR (PIN_PUPDR_PULLUP(GPIOB_PIN0) | \
PIN_PUPDR_PULLUP(GPIOB_PIN1) | \
PIN_PUPDR_PULLUP(GPIOB_PIN2) | \
@@ -461,22 +499,22 @@
PIN_OTYPE_PUSHPULL(GPIOC_PIN13) | \
PIN_OTYPE_PUSHPULL(GPIOC_OSC32_IN) | \
PIN_OTYPE_PUSHPULL(GPIOC_OSC32_OUT))
-#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_2M(GPIOC_PIN0) | \
- PIN_OSPEED_2M(GPIOC_PIN1) | \
- PIN_OSPEED_2M(GPIOC_PIN2) | \
- PIN_OSPEED_2M(GPIOC_PIN3) | \
- PIN_OSPEED_2M(GPIOC_PIN4) | \
- PIN_OSPEED_2M(GPIOC_PIN5) | \
- PIN_OSPEED_2M(GPIOC_PIN6) | \
- PIN_OSPEED_2M(GPIOC_PIN7) | \
- PIN_OSPEED_2M(GPIOC_PIN8) | \
- PIN_OSPEED_2M(GPIOC_PIN9) | \
- PIN_OSPEED_2M(GPIOC_PIN10) | \
- PIN_OSPEED_2M(GPIOC_PIN11) | \
- PIN_OSPEED_2M(GPIOC_PIN12) | \
- PIN_OSPEED_2M(GPIOC_PIN13) | \
- PIN_OSPEED_100M(GPIOC_OSC32_IN) | \
- PIN_OSPEED_100M(GPIOC_OSC32_OUT))
+#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOC_PIN0) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN1) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN2) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN3) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN4) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN5) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN6) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN7) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN8) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN9) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN10) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN11) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN12) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN13) | \
+ PIN_OSPEED_HIGH(GPIOC_OSC32_IN) | \
+ PIN_OSPEED_HIGH(GPIOC_OSC32_OUT))
#define VAL_GPIOC_PUPDR (PIN_PUPDR_PULLUP(GPIOC_PIN0) | \
PIN_PUPDR_PULLUP(GPIOC_PIN1) | \
PIN_PUPDR_PULLUP(GPIOC_PIN2) | \
@@ -578,22 +616,22 @@
PIN_OTYPE_PUSHPULL(GPIOD_PIN13) | \
PIN_OTYPE_PUSHPULL(GPIOD_PIN14) | \
PIN_OTYPE_PUSHPULL(GPIOD_PIN15))
-#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_2M(GPIOD_PIN0) | \
- PIN_OSPEED_2M(GPIOD_PIN1) | \
- PIN_OSPEED_2M(GPIOD_PIN2) | \
- PIN_OSPEED_2M(GPIOD_PIN3) | \
- PIN_OSPEED_2M(GPIOD_PIN4) | \
- PIN_OSPEED_2M(GPIOD_PIN5) | \
- PIN_OSPEED_2M(GPIOD_PIN6) | \
- PIN_OSPEED_2M(GPIOD_PIN7) | \
- PIN_OSPEED_2M(GPIOD_PIN8) | \
- PIN_OSPEED_2M(GPIOD_PIN9) | \
- PIN_OSPEED_2M(GPIOD_PIN10) | \
- PIN_OSPEED_2M(GPIOD_PIN11) | \
- PIN_OSPEED_2M(GPIOD_PIN12) | \
- PIN_OSPEED_2M(GPIOD_PIN13) | \
- PIN_OSPEED_2M(GPIOD_PIN14) | \
- PIN_OSPEED_2M(GPIOD_PIN15))
+#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOD_PIN0) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN1) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN2) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN3) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN4) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN5) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN6) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN7) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN8) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN9) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN10) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN11) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN12) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN13) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN14) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN15))
#define VAL_GPIOD_PUPDR (PIN_PUPDR_PULLUP(GPIOD_PIN0) | \
PIN_PUPDR_PULLUP(GPIOD_PIN1) | \
PIN_PUPDR_PULLUP(GPIOD_PIN2) | \
@@ -695,22 +733,22 @@
PIN_OTYPE_PUSHPULL(GPIOE_LED10_RED) | \
PIN_OTYPE_PUSHPULL(GPIOE_LED8_ORANGE) |\
PIN_OTYPE_PUSHPULL(GPIOE_LED6_GREEN))
-#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_2M(GPIOE_L3GD20_INT1) | \
- PIN_OSPEED_2M(GPIOE_L3GD20_INT2) | \
- PIN_OSPEED_2M(GPIOE_LSM303_DRDY) | \
- PIN_OSPEED_100M(GPIOE_SPI1_CS) | \
- PIN_OSPEED_2M(GPIOE_LSM303_INT1) | \
- PIN_OSPEED_2M(GPIOE_LSM303_INT2) | \
- PIN_OSPEED_2M(GPIOE_PIN6) | \
- PIN_OSPEED_2M(GPIOE_PIN7) | \
- PIN_OSPEED_100M(GPIOE_LED4_BLUE) | \
- PIN_OSPEED_100M(GPIOE_LED3_RED) | \
- PIN_OSPEED_100M(GPIOE_LED5_ORANGE) | \
- PIN_OSPEED_100M(GPIOE_LED7_GREEN) | \
- PIN_OSPEED_100M(GPIOE_LED9_BLUE) | \
- PIN_OSPEED_100M(GPIOE_LED10_RED) | \
- PIN_OSPEED_100M(GPIOE_LED8_ORANGE) | \
- PIN_OSPEED_100M(GPIOE_LED6_GREEN))
+#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOE_L3GD20_INT1) |\
+ PIN_OSPEED_VERYLOW(GPIOE_L3GD20_INT2) |\
+ PIN_OSPEED_VERYLOW(GPIOE_LSM303_DRDY) |\
+ PIN_OSPEED_HIGH(GPIOE_SPI1_CS) | \
+ PIN_OSPEED_VERYLOW(GPIOE_LSM303_INT1) |\
+ PIN_OSPEED_VERYLOW(GPIOE_LSM303_INT2) |\
+ PIN_OSPEED_VERYLOW(GPIOE_PIN6) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN7) | \
+ PIN_OSPEED_HIGH(GPIOE_LED4_BLUE) | \
+ PIN_OSPEED_HIGH(GPIOE_LED3_RED) | \
+ PIN_OSPEED_HIGH(GPIOE_LED5_ORANGE) | \
+ PIN_OSPEED_HIGH(GPIOE_LED7_GREEN) | \
+ PIN_OSPEED_HIGH(GPIOE_LED9_BLUE) | \
+ PIN_OSPEED_HIGH(GPIOE_LED10_RED) | \
+ PIN_OSPEED_HIGH(GPIOE_LED8_ORANGE) | \
+ PIN_OSPEED_HIGH(GPIOE_LED6_GREEN))
#define VAL_GPIOE_PUPDR (PIN_PUPDR_PULLUP(GPIOE_L3GD20_INT1) | \
PIN_PUPDR_PULLUP(GPIOE_L3GD20_INT2) | \
PIN_PUPDR_PULLUP(GPIOE_LSM303_DRDY) | \
@@ -812,22 +850,22 @@
PIN_OTYPE_PUSHPULL(GPIOF_PIN13) | \
PIN_OTYPE_PUSHPULL(GPIOF_PIN14) | \
PIN_OTYPE_PUSHPULL(GPIOF_PIN15))
-#define VAL_GPIOF_OSPEEDR (PIN_OSPEED_100M(GPIOF_OSC_IN) | \
- PIN_OSPEED_100M(GPIOF_OSC_OUT) | \
- PIN_OSPEED_2M(GPIOF_PIN2) | \
- PIN_OSPEED_2M(GPIOF_PIN3) | \
- PIN_OSPEED_2M(GPIOF_PIN4) | \
- PIN_OSPEED_2M(GPIOF_PIN5) | \
- PIN_OSPEED_2M(GPIOF_PIN6) | \
- PIN_OSPEED_2M(GPIOF_PIN7) | \
- PIN_OSPEED_2M(GPIOF_PIN8) | \
- PIN_OSPEED_2M(GPIOF_PIN9) | \
- PIN_OSPEED_2M(GPIOF_PIN10) | \
- PIN_OSPEED_2M(GPIOF_PIN11) | \
- PIN_OSPEED_2M(GPIOF_PIN12) | \
- PIN_OSPEED_2M(GPIOF_PIN13) | \
- PIN_OSPEED_2M(GPIOF_PIN14) | \
- PIN_OSPEED_2M(GPIOF_PIN15))
+#define VAL_GPIOF_OSPEEDR (PIN_OSPEED_HIGH(GPIOF_OSC_IN) | \
+ PIN_OSPEED_HIGH(GPIOF_OSC_OUT) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN2) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN3) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN4) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN5) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN6) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN7) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN8) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN9) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN10) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN11) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN12) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN13) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN14) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN15))
#define VAL_GPIOF_PUPDR (PIN_PUPDR_FLOATING(GPIOF_OSC_IN) | \
PIN_PUPDR_FLOATING(GPIOF_OSC_OUT) | \
PIN_PUPDR_PULLUP(GPIOF_PIN2) | \