aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/boards/ST_STM32373C_EVAL
diff options
context:
space:
mode:
Diffstat (limited to 'os/hal/boards/ST_STM32373C_EVAL')
-rw-r--r--os/hal/boards/ST_STM32373C_EVAL/board.h258
1 files changed, 158 insertions, 100 deletions
diff --git a/os/hal/boards/ST_STM32373C_EVAL/board.h b/os/hal/boards/ST_STM32373C_EVAL/board.h
index f248da22e..2ad70ec84 100644
--- a/os/hal/boards/ST_STM32373C_EVAL/board.h
+++ b/os/hal/boards/ST_STM32373C_EVAL/board.h
@@ -151,6 +151,64 @@
#define GPIOF_PIN15 15U
/*
+ * IO lines assignments.
+ */
+#define LINE_WKUP_BUTTON PAL_LINE(GPIOA, 0U)
+#define LINE_LDR_OUT PAL_LINE(GPIOA, 1U)
+#define LINE_KEY_BUTTON PAL_LINE(GPIOA, 2U)
+#define LINE_COMP2_OUT PAL_LINE(GPIOA, 7U)
+#define LINE_I2C2_SMB PAL_LINE(GPIOA, 8U)
+#define LINE_I2C2_SCL PAL_LINE(GPIOA, 9U)
+#define LINE_I2C2_SDA PAL_LINE(GPIOA, 10U)
+#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_JTDI PAL_LINE(GPIOA, 15U)
+
+#define LINE_MIC_IN PAL_LINE(GPIOB, 0U)
+#define LINE_ADC_POT_IN PAL_LINE(GPIOB, 1U)
+#define LINE_SWO PAL_LINE(GPIOB, 3U)
+#define LINE_JTRST PAL_LINE(GPIOB, 4U)
+#define LINE_I2C1_SCL PAL_LINE(GPIOB, 6U)
+#define LINE_I2C1_SDA PAL_LINE(GPIOB, 7U)
+
+#define LINE_LED1 PAL_LINE(GPIOC, 0U)
+#define LINE_LED2 PAL_LINE(GPIOC, 1U)
+#define LINE_LED3 PAL_LINE(GPIOC, 2U)
+#define LINE_LED4 PAL_LINE(GPIOC, 3U)
+#define LINE_USB_DISCONNECT PAL_LINE(GPIOC, 5U)
+#define LINE_SPI3_SCK PAL_LINE(GPIOC, 10U)
+#define LINE_SPI3_MISO PAL_LINE(GPIOC, 11U)
+#define LINE_SPI3_MOSI PAL_LINE(GPIOC, 12U)
+#define LINE_OSC32_IN PAL_LINE(GPIOC, 14U)
+#define LINE_OSC32_OUT PAL_LINE(GPIOC, 15U)
+
+#define LINE_CAN_RX PAL_LINE(GPIOD, 0U)
+#define LINE_CAN_TX PAL_LINE(GPIOD, 1U)
+#define LINE_LCD_CS PAL_LINE(GPIOD, 2U)
+#define LINE_USART2_CTS PAL_LINE(GPIOD, 3U)
+#define LINE_USART2_RST PAL_LINE(GPIOD, 4U)
+#define LINE_USART2_TX PAL_LINE(GPIOD, 5U)
+#define LINE_USART2_RX PAL_LINE(GPIOD, 6U)
+#define LINE_AUDIO_RST PAL_LINE(GPIOD, 11U)
+
+#define LINE_SD_CS PAL_LINE(GPIOE, 2U)
+#define LINE_SD_DETECT PAL_LINE(GPIOE, 3U)
+#define LINE_JOY_SEL PAL_LINE(GPIOE, 6U)
+#define LINE_RTD_IN PAL_LINE(GPIOE, 7U)
+#define LINE_PRESSUREP PAL_LINE(GPIOE, 8U)
+#define LINE_PRESSUREN PAL_LINE(GPIOE, 9U)
+#define LINE_PRESSURE_TEPM PAL_LINE(GPIOE, 14U)
+
+#define LINE_OSC_IN PAL_LINE(GPIOF, 0U)
+#define LINE_OSC_OUT PAL_LINE(GPIOF, 1U)
+#define LINE_JOY_DOWN PAL_LINE(GPIOF, 2U)
+#define LINE_JOY_LEFT PAL_LINE(GPIOF, 4U)
+#define LINE_JOY_RIGHT PAL_LINE(GPIOF, 9U)
+#define LINE_JOY_UP PAL_LINE(GPIOF, 10U)
+
+/*
* 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.
@@ -163,10 +221,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))
@@ -224,22 +282,22 @@
PIN_OTYPE_PUSHPULL(GPIOA_SWDIO) | \
PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) | \
PIN_OTYPE_PUSHPULL(GPIOA_JTDI))
-#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_2M(GPIOA_WKUP_BUTTON) | \
- PIN_OSPEED_2M(GPIOA_LDR_OUT) | \
- PIN_OSPEED_2M(GPIOA_KEY_BUTTON) | \
- PIN_OSPEED_2M(GPIOA_PIN3) | \
- PIN_OSPEED_2M(GPIOA_PIN4) | \
- PIN_OSPEED_100M(GPIOA_PIN5) | \
- PIN_OSPEED_2M(GPIOA_PIN6) | \
- PIN_OSPEED_100M(GPIOA_COMP2_OUT) | \
- PIN_OSPEED_2M(GPIOA_I2C2_SMB) | \
- PIN_OSPEED_100M(GPIOA_I2C2_SCL) | \
- PIN_OSPEED_100M(GPIOA_I2C2_SDA) | \
- PIN_OSPEED_100M(GPIOA_USB_DM) | \
- PIN_OSPEED_2M(GPIOA_USB_DP) | \
- PIN_OSPEED_100M(GPIOA_SWDIO) | \
- PIN_OSPEED_100M(GPIOA_SWCLK) | \
- PIN_OSPEED_100M(GPIOA_JTDI))
+#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOA_WKUP_BUTTON) |\
+ PIN_OSPEED_VERYLOW(GPIOA_LDR_OUT) | \
+ PIN_OSPEED_VERYLOW(GPIOA_KEY_BUTTON) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN3) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN4) | \
+ PIN_OSPEED_HIGH(GPIOA_PIN5) | \
+ PIN_OSPEED_VERYLOW(GPIOA_PIN6) | \
+ PIN_OSPEED_HIGH(GPIOA_COMP2_OUT) | \
+ PIN_OSPEED_VERYLOW(GPIOA_I2C2_SMB) | \
+ PIN_OSPEED_HIGH(GPIOA_I2C2_SCL) | \
+ PIN_OSPEED_HIGH(GPIOA_I2C2_SDA) | \
+ PIN_OSPEED_HIGH(GPIOA_USB_DM) | \
+ PIN_OSPEED_VERYLOW(GPIOA_USB_DP) | \
+ PIN_OSPEED_HIGH(GPIOA_SWDIO) | \
+ PIN_OSPEED_HIGH(GPIOA_SWCLK) | \
+ PIN_OSPEED_HIGH(GPIOA_JTDI))
#define VAL_GPIOA_PUPDR (PIN_PUPDR_FLOATING(GPIOA_WKUP_BUTTON) |\
PIN_PUPDR_FLOATING(GPIOA_LDR_OUT) | \
PIN_PUPDR_FLOATING(GPIOA_KEY_BUTTON) | \
@@ -341,22 +399,22 @@
PIN_OTYPE_PUSHPULL(GPIOB_PIN13) | \
PIN_OTYPE_PUSHPULL(GPIOB_PIN14) | \
PIN_OTYPE_PUSHPULL(GPIOB_PIN15))
-#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_2M(GPIOB_MIC_IN) | \
- PIN_OSPEED_2M(GPIOB_ADC_POT_IN) | \
- PIN_OSPEED_2M(GPIOB_PIN2) | \
- PIN_OSPEED_100M(GPIOB_SWO) | \
- PIN_OSPEED_100M(GPIOB_JTRST) | \
- 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_MIC_IN) | \
+ PIN_OSPEED_VERYLOW(GPIOB_ADC_POT_IN) | \
+ PIN_OSPEED_VERYLOW(GPIOB_PIN2) | \
+ PIN_OSPEED_HIGH(GPIOB_SWO) | \
+ PIN_OSPEED_HIGH(GPIOB_JTRST) | \
+ 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_FLOATING(GPIOB_MIC_IN) | \
PIN_PUPDR_FLOATING(GPIOB_ADC_POT_IN) | \
PIN_PUPDR_PULLUP(GPIOB_PIN2) | \
@@ -458,22 +516,22 @@
PIN_OTYPE_PUSHPULL(GPIOC_PIN13) | \
PIN_OTYPE_PUSHPULL(GPIOC_OSC32_IN) | \
PIN_OTYPE_PUSHPULL(GPIOC_OSC32_OUT))
-#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_100M(GPIOC_LED1) | \
- PIN_OSPEED_100M(GPIOC_LED2) | \
- PIN_OSPEED_100M(GPIOC_LED3) | \
- PIN_OSPEED_100M(GPIOC_LED4) | \
- PIN_OSPEED_2M(GPIOC_PIN4) | \
- PIN_OSPEED_100M(GPIOC_USB_DISCONNECT) |\
- PIN_OSPEED_2M(GPIOC_PIN6) | \
- PIN_OSPEED_2M(GPIOC_PIN7) | \
- PIN_OSPEED_2M(GPIOC_PIN8) | \
- PIN_OSPEED_2M(GPIOC_PIN9) | \
- PIN_OSPEED_100M(GPIOC_SPI3_SCK) | \
- PIN_OSPEED_100M(GPIOC_SPI3_MISO) | \
- PIN_OSPEED_100M(GPIOC_SPI3_MOSI) | \
- PIN_OSPEED_2M(GPIOC_PIN13) | \
- PIN_OSPEED_100M(GPIOC_OSC32_IN) | \
- PIN_OSPEED_100M(GPIOC_OSC32_OUT))
+#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_HIGH(GPIOC_LED1) | \
+ PIN_OSPEED_HIGH(GPIOC_LED2) | \
+ PIN_OSPEED_HIGH(GPIOC_LED3) | \
+ PIN_OSPEED_HIGH(GPIOC_LED4) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN4) | \
+ PIN_OSPEED_HIGH(GPIOC_USB_DISCONNECT) |\
+ PIN_OSPEED_VERYLOW(GPIOC_PIN6) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN7) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN8) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN9) | \
+ PIN_OSPEED_HIGH(GPIOC_SPI3_SCK) | \
+ PIN_OSPEED_HIGH(GPIOC_SPI3_MISO) | \
+ PIN_OSPEED_HIGH(GPIOC_SPI3_MOSI) | \
+ PIN_OSPEED_VERYLOW(GPIOC_PIN13) | \
+ PIN_OSPEED_HIGH(GPIOC_OSC32_IN) | \
+ PIN_OSPEED_HIGH(GPIOC_OSC32_OUT))
#define VAL_GPIOC_PUPDR (PIN_PUPDR_FLOATING(GPIOC_LED1) | \
PIN_PUPDR_FLOATING(GPIOC_LED2) | \
PIN_PUPDR_FLOATING(GPIOC_LED3) | \
@@ -575,22 +633,22 @@
PIN_OTYPE_PUSHPULL(GPIOD_PIN13) | \
PIN_OTYPE_PUSHPULL(GPIOD_PIN14) | \
PIN_OTYPE_PUSHPULL(GPIOD_PIN15))
-#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_100M(GPIOD_CAN_RX) | \
- PIN_OSPEED_100M(GPIOD_CAN_TX) | \
- PIN_OSPEED_100M(GPIOD_LCD_CS) | \
- PIN_OSPEED_100M(GPIOD_USART2_CTS) | \
- PIN_OSPEED_100M(GPIOD_USART2_RST) | \
- PIN_OSPEED_100M(GPIOD_USART2_TX) | \
- PIN_OSPEED_100M(GPIOD_USART2_RX) | \
- PIN_OSPEED_2M(GPIOD_PIN7) | \
- PIN_OSPEED_2M(GPIOD_PIN8) | \
- PIN_OSPEED_2M(GPIOD_PIN9) | \
- PIN_OSPEED_2M(GPIOD_PIN10) | \
- PIN_OSPEED_100M(GPIOD_AUDIO_RST) | \
- 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_HIGH(GPIOD_CAN_RX) | \
+ PIN_OSPEED_HIGH(GPIOD_CAN_TX) | \
+ PIN_OSPEED_HIGH(GPIOD_LCD_CS) | \
+ PIN_OSPEED_HIGH(GPIOD_USART2_CTS) | \
+ PIN_OSPEED_HIGH(GPIOD_USART2_RST) | \
+ PIN_OSPEED_HIGH(GPIOD_USART2_TX) | \
+ PIN_OSPEED_HIGH(GPIOD_USART2_RX) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN7) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN8) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN9) | \
+ PIN_OSPEED_VERYLOW(GPIOD_PIN10) | \
+ PIN_OSPEED_HIGH(GPIOD_AUDIO_RST) | \
+ 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_FLOATING(GPIOD_CAN_RX) | \
PIN_PUPDR_FLOATING(GPIOD_CAN_TX) | \
PIN_PUPDR_FLOATING(GPIOD_LCD_CS) | \
@@ -692,22 +750,22 @@
PIN_OTYPE_PUSHPULL(GPIOE_PIN13) | \
PIN_OTYPE_PUSHPULL(GPIOE_PRESSURE_TEPM) |\
PIN_OTYPE_PUSHPULL(GPIOE_PIN15))
-#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_2M(GPIOE_PIN0) | \
- PIN_OSPEED_2M(GPIOE_PIN1) | \
- PIN_OSPEED_100M(GPIOE_SD_CS) | \
- PIN_OSPEED_100M(GPIOE_SD_DETECT) | \
- PIN_OSPEED_2M(GPIOE_PIN4) | \
- PIN_OSPEED_2M(GPIOE_PIN5) | \
- PIN_OSPEED_100M(GPIOE_JOY_SEL) | \
- PIN_OSPEED_2M(GPIOE_RTD_IN) | \
- PIN_OSPEED_100M(GPIOE_PRESSUREP) | \
- PIN_OSPEED_100M(GPIOE_PRESSUREN) | \
- PIN_OSPEED_2M(GPIOE_PIN10) | \
- PIN_OSPEED_2M(GPIOE_PIN11) | \
- PIN_OSPEED_2M(GPIOE_PIN12) | \
- PIN_OSPEED_2M(GPIOE_PIN13) | \
- PIN_OSPEED_2M(GPIOE_PRESSURE_TEPM) | \
- PIN_OSPEED_2M(GPIOE_PIN15))
+#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOE_PIN0) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN1) | \
+ PIN_OSPEED_HIGH(GPIOE_SD_CS) | \
+ PIN_OSPEED_HIGH(GPIOE_SD_DETECT) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN4) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN5) | \
+ PIN_OSPEED_HIGH(GPIOE_JOY_SEL) | \
+ PIN_OSPEED_VERYLOW(GPIOE_RTD_IN) | \
+ PIN_OSPEED_HIGH(GPIOE_PRESSUREP) | \
+ PIN_OSPEED_HIGH(GPIOE_PRESSUREN) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN10) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN11) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN12) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PIN13) | \
+ PIN_OSPEED_VERYLOW(GPIOE_PRESSURE_TEPM) |\
+ PIN_OSPEED_VERYLOW(GPIOE_PIN15))
#define VAL_GPIOE_PUPDR (PIN_PUPDR_PULLUP(GPIOE_PIN0) | \
PIN_PUPDR_PULLUP(GPIOE_PIN1) | \
PIN_PUPDR_FLOATING(GPIOE_SD_CS) | \
@@ -809,22 +867,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_100M(GPIOF_JOY_DOWN) | \
- PIN_OSPEED_2M(GPIOF_PIN3) | \
- PIN_OSPEED_100M(GPIOF_JOY_LEFT) | \
- PIN_OSPEED_2M(GPIOF_PIN5) | \
- PIN_OSPEED_2M(GPIOF_PIN6) | \
- PIN_OSPEED_2M(GPIOF_PIN7) | \
- PIN_OSPEED_2M(GPIOF_PIN8) | \
- PIN_OSPEED_100M(GPIOF_JOY_RIGHT) | \
- PIN_OSPEED_100M(GPIOF_JOY_UP) | \
- 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_HIGH(GPIOF_JOY_DOWN) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN3) | \
+ PIN_OSPEED_HIGH(GPIOF_JOY_LEFT) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN5) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN6) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN7) | \
+ PIN_OSPEED_VERYLOW(GPIOF_PIN8) | \
+ PIN_OSPEED_HIGH(GPIOF_JOY_RIGHT) | \
+ PIN_OSPEED_HIGH(GPIOF_JOY_UP) | \
+ 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_PULLDOWN(GPIOF_JOY_DOWN) | \