Signed-off by Robin Gilham:
[bertos.git] / bertos / cpu / cortex-m3 / io / stm32.h
index 60c209b34b52de196970860dc9ee35ab57e27c57..fabb0a3abd125e2a8d207414bfea1835363f404b 100644 (file)
 
 #include "stm32_nvic.h"
 #include "stm32_ints.h"
+#include "stm32_gpio.h"
 #include "stm32_uart.h"
 #include "stm32_adc.h"
 #include "stm32_i2c.h"
+#include "stm32_flash.h"
 
-#define GPIO_USART1_TX_PIN     BV(9)
-#define GPIO_USART1_RX_PIN     BV(10)
-#define GPIO_USART2_TX_PIN     BV(2)
-#define GPIO_USART2_RX_PIN     BV(3)
-#define GPIO_USART3_TX_PIN     BV(10)
-#define GPIO_USART3_RX_PIN     BV(11)
+#if CPU_CM3_STM32F101C4
+       #define GPIO_USART1_TX_PIN      BV(9)
+       #define GPIO_USART1_RX_PIN      BV(10)
+       #define GPIO_USART2_TX_PIN      BV(2)
+       #define GPIO_USART2_RX_PIN      BV(3)
+#elif CPU_CM3_STM32F103RB || CPU_CM3_STM32F103RE || CPU_CM3_STM32F100RB || CPU_CM3_STM32F102C4
+       #define GPIO_USART1_TX_PIN      BV(9)
+       #define GPIO_USART1_RX_PIN      BV(10)
+       #define GPIO_USART2_TX_PIN      BV(2)
+       #define GPIO_USART2_RX_PIN      BV(3)
+       #define GPIO_USART3_TX_PIN      BV(10)
+       #define GPIO_USART3_RX_PIN      BV(11)
+#if CPU_CM3_STM32F102C4        
+       #define GPIO_USART3_RTS_PIN     BV(14)
+       #define GPIO_USART3_CTS_PIN     BV(13)
+       #define GPIO_USART3_RING_PIN    BV(15)
+#endif
+#else
+       #error No USART pins are defined for select cpu
+#endif
 
+#if CPU_CM3_STM32F101C4
+       #define GPIO_I2C1_SCL_PIN       BV(6)
+       #define GPIO_I2C1_SDA_PIN       BV(7)
+#elif CPU_CM3_STM32F103RB || CPU_CM3_STM32F103RE || CPU_CM3_STM32F100RB || CPU_CM3_STM32F102C4
+       #define GPIO_I2C1_SCL_PIN       BV(6)
+       #define GPIO_I2C1_SDA_PIN       BV(7)
+       #define GPIO_I2C2_SCL_PIN       BV(10)
+       #define GPIO_I2C2_SDA_PIN       BV(11)
+#else
+       #error No i2c pins are defined for select cpu
+#endif
 
-#define GPIO_I2C1_SCL_PIN      BV(6)
-#define GPIO_I2C1_SDA_PIN      BV(7)
-#define GPIO_I2C2_SCL_PIN      BV(10)
-#define GPIO_I2C2_SDA_PIN      BV(11)
+#if CPU_CM3_STM32F101C4 || CPU_CM3_STM32F103RB || CPU_CM3_STM32F103RE || CPU_CM3_STM32F100RB || CPU_CM3_STM32F102C4
+       #define FLASH_PAGE_SIZE   1024
+#else
+       #error No embedded definition for select cpu
+#endif
 
 #endif /* STM32_H */