From 0775f8a0dfbaef3516555e02fbca2c0d8379c06e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 5 Aug 2012 12:31:16 +0000 Subject: [PATCH] git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4533 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- boards/ST_STM32L_DISCOVERY/board.c | 83 +- boards/ST_STM32L_DISCOVERY/board.h | 1053 +++++++++++++---- boards/ST_STM32L_DISCOVERY/cfg/board.chcfg | 11 + boards/ST_STM32L_DISCOVERY/cfg/board.chxml | 795 +++++++++++++ tools/eclipse/config_wizard/build.properties | 7 +- .../boards/stm32l1xx/templates/board.h.ftl | 6 - ...rg.chibios.tools.eclipse.config_1.0.3.jar} | Bin 1845764 -> 1852693 bytes 7 files changed, 1682 insertions(+), 273 deletions(-) create mode 100644 boards/ST_STM32L_DISCOVERY/cfg/board.chcfg create mode 100644 boards/ST_STM32L_DISCOVERY/cfg/board.chxml rename tools/eclipse/plugins/{org.chibios.tools.eclipse.config_1.0.2.jar => org.chibios.tools.eclipse.config_1.0.3.jar} (99%) diff --git a/boards/ST_STM32L_DISCOVERY/board.c b/boards/ST_STM32L_DISCOVERY/board.c index 84a6817d9..b8f1272f9 100644 --- a/boards/ST_STM32L_DISCOVERY/board.c +++ b/boards/ST_STM32L_DISCOVERY/board.c @@ -21,35 +21,92 @@ #include "ch.h" #include "hal.h" +#if HAL_USE_PAL || defined(__DOXYGEN__) /** * @brief PAL setup. * @details Digital I/O ports static configuration as defined in @p board.h. * This variable is used by the HAL when initializing the PAL driver. */ -#if HAL_USE_PAL || defined(__DOXYGEN__) const PALConfig pal_default_config = { - {VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR, VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH}, - {VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR, VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH}, - {VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR, VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH}, - {VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR, VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH}, - {VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR, VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH}, - {VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR, VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH} + {VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR, + VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH}, + {VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR, + VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH}, + {VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR, + VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH}, + {VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR, + VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH}, + {VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR, + VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH}, + {VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR, + VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH}, + {VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR, + VAL_GPIOG_ODR, VAL_GPIOG_AFRL, VAL_GPIOG_AFRH}, + {VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR, + VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH}, + {VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR, + VAL_GPIOI_ODR, VAL_GPIOI_AFRL, VAL_GPIOI_AFRH} }; #endif -/* - * Early initialization code. - * This initialization must be performed just after stack setup and before - * any other initialization. +/** + * @brief Early initialization code. + * @details This initialization must be performed just after stack setup + * and before any other initialization. */ void __early_init(void) { stm32_clock_init(); } -/* - * Board-specific initialization code. +#if HAL_USE_SDC || defined(__DOXYGEN__) +/** + * @brief SDC card detection. + */ +bool_t sdc_lld_is_card_inserted(SDCDriver *sdcp) { + + (void)sdcp; + /* TODO: Fill the implementation.*/ + return TRUE; +} + +/** + * @brief SDC card write protection detection. + */ +bool_t sdc_lld_is_write_protected(SDCDriver *sdcp) { + + (void)sdcp; + /* TODO: Fill the implementation.*/ + return FALSE; +} +#endif /* HAL_USE_SDC */ + +#if HAL_USE_MMC_SPI || defined(__DOXYGEN__) +/** + * @brief MMC_SPI card detection. + */ +bool_t mmc_lld_is_card_inserted(MMCDriver *mmcp) { + + (void)mmcp; + /* TODO: Fill the implementation.*/ + return TRUE; +} + +/** + * @brief MMC_SPI card write protection detection. + */ +bool_t mmc_lld_is_write_protected(MMCDriver *mmcp) { + + (void)mmcp; + /* TODO: Fill the implementation.*/ + return FALSE; +} +#endif + +/** + * @brief Board-specific initialization code. + * @todo Add your board-specific code, if any. */ void boardInit(void) { } diff --git a/boards/ST_STM32L_DISCOVERY/board.h b/boards/ST_STM32L_DISCOVERY/board.h index 2c1a88287..6a648deb1 100644 --- a/boards/ST_STM32L_DISCOVERY/board.h +++ b/boards/ST_STM32L_DISCOVERY/board.h @@ -22,21 +22,28 @@ #define _BOARD_H_ /* - * Setup for STMicroelectronics STM32L-Discovery board. + * Setup for ST STM32L-Discovery board. */ /* * Board identifier. */ #define BOARD_ST_STM32L_DISCOVERY -#define BOARD_NAME "ST STM32L-Discovery" +#define BOARD_NAME "ST STM32L-Discovery" + /* - * Board frequencies. - * NOTE: The HSE crystal is not fitted by default on the board. + * Board oscillators-related settings. + * NOTE: LSE not fitted. */ -#define STM32_LSECLK 32768 -#define STM32_HSECLK 8000000 +#if !defined(STM32_LSECLK) +#define STM32_LSECLK 0 +#endif + +#if !defined(STM32_HSECLK) +#define STM32_HSECLK 8000000 +#endif + /* * MCU type as defined in the ST header file stm32l1xx.h. @@ -46,10 +53,107 @@ /* * IO pins assignments. */ -#define GPIOA_BUTTON 0 +#define GPIOA_BUTTON 0 +#define GPIOA_PIN1 1 +#define GPIOA_PIN2 2 +#define GPIOA_PIN3 3 +#define GPIOA_PIN4 4 +#define GPIOA_PIN5 5 +#define GPIOA_PIN6 6 +#define GPIOA_PIN7 7 +#define GPIOA_PIN8 8 +#define GPIOA_PIN9 9 +#define GPIOA_PIN10 10 +#define GPIOA_PIN11 11 +#define GPIOA_PIN12 12 +#define GPIOA_JTAG_TMS 13 +#define GPIOA_JTAG_TCK 14 +#define GPIOA_JTAG_TDI 15 -#define GPIOB_LED4 6 -#define GPIOB_LED3 7 +#define GPIOB_PIN0 0 +#define GPIOB_PIN1 1 +#define GPIOB_BOOT1 2 +#define GPIOB_JTAG_TDO 3 +#define GPIOB_JTAG_TRST 4 +#define GPIOB_PIN5 5 +#define GPIOB_LED4 6 +#define GPIOB_LED3 7 +#define GPIOB_PIN8 8 +#define GPIOB_PIN9 9 +#define GPIOB_PIN10 10 +#define GPIOB_PIN11 11 +#define GPIOB_PIN12 12 +#define GPIOB_PIN13 13 +#define GPIOB_PIN14 14 +#define GPIOB_PIN15 15 + +#define GPIOC_PIN0 0 +#define GPIOC_PIN1 1 +#define GPIOC_PIN2 2 +#define GPIOC_PIN3 3 +#define GPIOC_PIN4 4 +#define GPIOC_PIN5 5 +#define GPIOC_PIN6 6 +#define GPIOC_PIN7 7 +#define GPIOC_PIN8 8 +#define GPIOC_PIN9 9 +#define GPIOC_PIN10 10 +#define GPIOC_PIN11 11 +#define GPIOC_PIN12 12 +#define GPIOC_PIN13 13 +#define GPIOC_OSC32_IN 14 +#define GPIOC_OSC32_OUT 15 + +#define GPIOD_PIN0 0 +#define GPIOD_PIN1 1 +#define GPIOD_PIN2 2 +#define GPIOD_PIN3 3 +#define GPIOD_PIN4 4 +#define GPIOD_PIN5 5 +#define GPIOD_PIN6 6 +#define GPIOD_PIN7 7 +#define GPIOD_PIN8 8 +#define GPIOD_PIN9 9 +#define GPIOD_PIN10 10 +#define GPIOD_PIN11 11 +#define GPIOD_PIN12 12 +#define GPIOD_PIN13 13 +#define GPIOD_PIN14 14 +#define GPIOD_PIN15 15 + +#define GPIOE_PIN0 0 +#define GPIOE_PIN1 1 +#define GPIOE_PIN2 2 +#define GPIOE_PIN3 3 +#define GPIOE_PIN4 4 +#define GPIOE_PIN5 5 +#define GPIOE_PIN6 6 +#define GPIOE_PIN7 7 +#define GPIOE_PIN8 8 +#define GPIOE_PIN9 9 +#define GPIOE_PIN10 10 +#define GPIOE_PIN11 11 +#define GPIOE_PIN12 12 +#define GPIOE_PIN13 13 +#define GPIOE_PIN14 14 +#define GPIOE_PIN15 15 + +#define GPIOH_OSC_IN 0 +#define GPIOH_OSC_OUT 1 +#define GPIOH_PIN2 2 +#define GPIOH_PIN3 3 +#define GPIOH_PIN4 4 +#define GPIOH_PIN5 5 +#define GPIOH_PIN6 6 +#define GPIOH_PIN7 7 +#define GPIOH_PIN8 8 +#define GPIOH_PIN9 9 +#define GPIOH_PIN10 10 +#define GPIOH_PIN11 11 +#define GPIOH_PIN12 12 +#define GPIOH_PIN13 13 +#define GPIOH_PIN14 14 +#define GPIOH_PIN15 15 /* * I/O ports initial setup, this configuration is established soon after reset @@ -60,278 +164,721 @@ #define PIN_MODE_OUTPUT(n) (1U << ((n) * 2)) #define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2)) #define PIN_MODE_ANALOG(n) (3U << ((n) * 2)) +#define PIN_ODR_LOW(n) (0U << (n)) +#define PIN_ODR_HIGH(n) (1U << (n)) #define PIN_OTYPE_PUSHPULL(n) (0U << (n)) #define PIN_OTYPE_OPENDRAIN(n) (1U << (n)) #define PIN_OSPEED_400K(n) (0U << ((n) * 2)) #define PIN_OSPEED_2M(n) (1U << ((n) * 2)) #define PIN_OSPEED_10M(n) (2U << ((n) * 2)) #define PIN_OSPEED_40M(n) (3U << ((n) * 2)) -#define PIN_PUDR_FLOATING(n) (0U << ((n) * 2)) -#define PIN_PUDR_PULLUP(n) (1U << ((n) * 2)) -#define PIN_PUDR_PULLDOWN(n) (2U << ((n) * 2)) +#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2)) +#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2)) +#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2)) #define PIN_AFIO_AF(n, v) ((v##U) << ((n % 8) * 4)) /* - * Port A setup. - * All input with pull-up except: - * PA0 - GPIOA_BUTTON (input floating). - * PA13 - JTMS/SWDAT (alternate 0). - * PA14 - JTCK/SWCLK (alternate 0). - * PA15 - JTDI (alternate 0). + * GPIOA setup: + * + * PA0 - BUTTON (input floating). + * PA1 - PIN1 (input pullup). + * PA2 - PIN2 (input pullup). + * PA3 - PIN3 (input pullup). + * PA4 - PIN4 (input pullup). + * PA5 - PIN5 (input pullup). + * PA6 - PIN6 (input pullup). + * PA7 - PIN7 (input pullup). + * PA8 - PIN8 (input pullup). + * PA9 - PIN9 (input pullup). + * PA10 - PIN10 (input pullup). + * PA11 - PIN11 (input pullup). + * PA12 - PIN12 (input pullup). + * PA13 - JTAG_TMS (alternate 0). + * PA14 - JTAG_TCK (alternate 0). + * PA15 - JTAG_TDI (alternate 0). */ #define VAL_GPIOA_MODER (PIN_MODE_INPUT(GPIOA_BUTTON) | \ - PIN_MODE_INPUT(1) | \ - PIN_MODE_INPUT(2) | \ - PIN_MODE_INPUT(3) | \ - PIN_MODE_INPUT(4) | \ - PIN_MODE_INPUT(5) | \ - PIN_MODE_INPUT(6) | \ - PIN_MODE_INPUT(7) | \ - PIN_MODE_INPUT(8) | \ - PIN_MODE_INPUT(9) | \ - PIN_MODE_INPUT(10) | \ - PIN_MODE_INPUT(11) | \ - PIN_MODE_INPUT(12) | \ - PIN_MODE_ALTERNATE(13) | \ - PIN_MODE_ALTERNATE(14) | \ - PIN_MODE_ALTERNATE(15)) -#define VAL_GPIOA_OTYPER 0x00000000 -#define VAL_GPIOA_OSPEEDR 0xFFFFFFFF -#define VAL_GPIOA_PUPDR (PIN_PUDR_FLOATING(GPIOA_BUTTON) | \ - PIN_PUDR_PULLUP(1) | \ - PIN_PUDR_PULLUP(2) | \ - PIN_PUDR_PULLUP(3) | \ - PIN_PUDR_PULLUP(4) | \ - PIN_PUDR_PULLUP(5) | \ - PIN_PUDR_PULLUP(6) | \ - PIN_PUDR_PULLUP(7) | \ - PIN_PUDR_PULLUP(8) | \ - PIN_PUDR_PULLUP(9) | \ - PIN_PUDR_PULLUP(10) | \ - PIN_PUDR_PULLUP(11) | \ - PIN_PUDR_PULLUP(12) | \ - PIN_PUDR_FLOATING(13) | \ - PIN_PUDR_FLOATING(14) | \ - PIN_PUDR_FLOATING(15)) -#define VAL_GPIOA_ODR 0xFFFFFFFF -#define VAL_GPIOA_AFRL 0x00000000 -#define VAL_GPIOA_AFRH 0x00000000 + PIN_MODE_INPUT(GPIOA_PIN1) | \ + PIN_MODE_INPUT(GPIOA_PIN2) | \ + PIN_MODE_INPUT(GPIOA_PIN3) | \ + PIN_MODE_INPUT(GPIOA_PIN4) | \ + PIN_MODE_INPUT(GPIOA_PIN5) | \ + PIN_MODE_INPUT(GPIOA_PIN6) | \ + PIN_MODE_INPUT(GPIOA_PIN7) | \ + PIN_MODE_INPUT(GPIOA_PIN8) | \ + PIN_MODE_INPUT(GPIOA_PIN9) | \ + PIN_MODE_INPUT(GPIOA_PIN10) | \ + PIN_MODE_INPUT(GPIOA_PIN11) | \ + PIN_MODE_INPUT(GPIOA_PIN12) | \ + PIN_MODE_ALTERNATE(GPIOA_JTAG_TMS) | \ + PIN_MODE_ALTERNATE(GPIOA_JTAG_TCK) | \ + PIN_MODE_ALTERNATE(GPIOA_JTAG_TDI)) +#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL(GPIOA_BUTTON) | \ + PIN_OTYPE_PUSHPULL(GPIOA_PIN1) | \ + PIN_OTYPE_PUSHPULL(GPIOA_PIN2) | \ + PIN_OTYPE_PUSHPULL(GPIOA_PIN3) | \ + PIN_OTYPE_PUSHPULL(GPIOA_PIN4) | \ + PIN_OTYPE_PUSHPULL(GPIOA_PIN5) | \ + PIN_OTYPE_PUSHPULL(GPIOA_PIN6) | \ + PIN_OTYPE_PUSHPULL(GPIOA_PIN7) | \ + PIN_OTYPE_PUSHPULL(GPIOA_PIN8) | \ + PIN_OTYPE_PUSHPULL(GPIOA_PIN9) | \ + PIN_OTYPE_PUSHPULL(GPIOA_PIN10) | \ + PIN_OTYPE_PUSHPULL(GPIOA_PIN11) | \ + PIN_OTYPE_PUSHPULL(GPIOA_PIN12) | \ + PIN_OTYPE_PUSHPULL(GPIOA_JTAG_TMS) | \ + PIN_OTYPE_PUSHPULL(GPIOA_JTAG_TCK) | \ + PIN_OTYPE_PUSHPULL(GPIOA_JTAG_TDI)) +#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_400K(GPIOA_BUTTON) | \ + PIN_OSPEED_400K(GPIOA_PIN1) | \ + PIN_OSPEED_400K(GPIOA_PIN2) | \ + PIN_OSPEED_400K(GPIOA_PIN3) | \ + PIN_OSPEED_400K(GPIOA_PIN4) | \ + PIN_OSPEED_400K(GPIOA_PIN5) | \ + PIN_OSPEED_400K(GPIOA_PIN6) | \ + PIN_OSPEED_400K(GPIOA_PIN7) | \ + PIN_OSPEED_400K(GPIOA_PIN8) | \ + PIN_OSPEED_400K(GPIOA_PIN9) | \ + PIN_OSPEED_400K(GPIOA_PIN10) | \ + PIN_OSPEED_400K(GPIOA_PIN11) | \ + PIN_OSPEED_400K(GPIOA_PIN12) | \ + PIN_OSPEED_40M(GPIOA_JTAG_TMS) | \ + PIN_OSPEED_40M(GPIOA_JTAG_TCK) | \ + PIN_OSPEED_40M(GPIOA_JTAG_TDI)) +#define VAL_GPIOA_PUPDR (PIN_PUPDR_FLOATING(GPIOA_BUTTON) | \ + PIN_PUPDR_PULLUP(GPIOA_PIN1) | \ + PIN_PUPDR_PULLUP(GPIOA_PIN2) | \ + PIN_PUPDR_PULLUP(GPIOA_PIN3) | \ + PIN_PUPDR_PULLUP(GPIOA_PIN4) | \ + PIN_PUPDR_PULLUP(GPIOA_PIN5) | \ + PIN_PUPDR_PULLUP(GPIOA_PIN6) | \ + PIN_PUPDR_PULLUP(GPIOA_PIN7) | \ + PIN_PUPDR_PULLUP(GPIOA_PIN8) | \ + PIN_PUPDR_PULLUP(GPIOA_PIN9) | \ + PIN_PUPDR_PULLUP(GPIOA_PIN10) | \ + PIN_PUPDR_PULLUP(GPIOA_PIN11) | \ + PIN_PUPDR_PULLUP(GPIOA_PIN12) | \ + PIN_PUPDR_PULLUP(GPIOA_JTAG_TMS) | \ + PIN_PUPDR_PULLDOWN(GPIOA_JTAG_TCK) | \ + PIN_PUPDR_PULLUP(GPIOA_JTAG_TDI)) +#define VAL_GPIOA_ODR (PIN_ODR_HIGH(GPIOA_BUTTON) | \ + PIN_ODR_HIGH(GPIOA_PIN1) | \ + PIN_ODR_HIGH(GPIOA_PIN2) | \ + PIN_ODR_HIGH(GPIOA_PIN3) | \ + PIN_ODR_HIGH(GPIOA_PIN4) | \ + PIN_ODR_HIGH(GPIOA_PIN5) | \ + PIN_ODR_HIGH(GPIOA_PIN6) | \ + PIN_ODR_HIGH(GPIOA_PIN7) | \ + PIN_ODR_HIGH(GPIOA_PIN8) | \ + PIN_ODR_HIGH(GPIOA_PIN9) | \ + PIN_ODR_HIGH(GPIOA_PIN10) | \ + PIN_ODR_HIGH(GPIOA_PIN11) | \ + PIN_ODR_HIGH(GPIOA_PIN12) | \ + PIN_ODR_HIGH(GPIOA_JTAG_TMS) | \ + PIN_ODR_HIGH(GPIOA_JTAG_TCK) | \ + PIN_ODR_HIGH(GPIOA_JTAG_TDI)) +#define VAL_GPIOA_AFRL (PIN_AFIO_AF(GPIOA_BUTTON, 0) | \ + PIN_AFIO_AF(GPIOA_PIN1, 0) | \ + PIN_AFIO_AF(GPIOA_PIN2, 0) | \ + PIN_AFIO_AF(GPIOA_PIN3, 0) | \ + PIN_AFIO_AF(GPIOA_PIN4, 0) | \ + PIN_AFIO_AF(GPIOA_PIN5, 0) | \ + PIN_AFIO_AF(GPIOA_PIN6, 0) | \ + PIN_AFIO_AF(GPIOA_PIN7, 0)) +#define VAL_GPIOA_AFRH (PIN_AFIO_AF(GPIOA_PIN8, 0) | \ + PIN_AFIO_AF(GPIOA_PIN9, 0) | \ + PIN_AFIO_AF(GPIOA_PIN10, 0) | \ + PIN_AFIO_AF(GPIOA_PIN11, 0) | \ + PIN_AFIO_AF(GPIOA_PIN12, 0) | \ + PIN_AFIO_AF(GPIOA_JTAG_TMS, 0) | \ + PIN_AFIO_AF(GPIOA_JTAG_TCK, 0) | \ + PIN_AFIO_AF(GPIOA_JTAG_TDI, 0)) /* - * Port B setup. - * All input with pull-up except: - * PB3 - JTDO (alternate 0). - * PB4 - JNTRST (alternate 0). - * PB6 - GPIOB_LED4 (output push-pull). - * PB7 - GPIOB_LED3 (output push-pull). + * GPIOB setup: + * + * PB0 - PIN0 (input pullup). + * PB1 - PIN1 (input pullup). + * PB2 - BOOT1 (input floating). + * PB3 - JTAG_TDO (alternate 0). + * PB4 - JTAG_TRST (alternate 0). + * PB5 - PIN5 (input pullup). + * PB6 - LED4 (output pushpull maximum). + * PB7 - LED3 (output pushpull maximum). + * PB8 - PIN8 (input pullup). + * PB9 - PIN9 (input pullup). + * PB10 - PIN10 (input pullup). + * PB11 - PIN11 (input pullup). + * PB12 - PIN12 (input pullup). + * PB13 - PIN13 (input pullup). + * PB14 - PIN14 (input pullup). + * PB15 - PIN15 (input pullup). */ -#define VAL_GPIOB_MODER (PIN_MODE_INPUT(0) | \ - PIN_MODE_INPUT(1) | \ - PIN_MODE_INPUT(2) | \ - PIN_MODE_ALTERNATE(3) | \ - PIN_MODE_ALTERNATE(4) | \ - PIN_MODE_INPUT(5) | \ +#define VAL_GPIOB_MODER (PIN_MODE_INPUT(GPIOB_PIN0) | \ + PIN_MODE_INPUT(GPIOB_PIN1) | \ + PIN_MODE_INPUT(GPIOB_BOOT1) | \ + PIN_MODE_ALTERNATE(GPIOB_JTAG_TDO) | \ + PIN_MODE_ALTERNATE(GPIOB_JTAG_TRST) | \ + PIN_MODE_INPUT(GPIOB_PIN5) | \ PIN_MODE_OUTPUT(GPIOB_LED4) | \ PIN_MODE_OUTPUT(GPIOB_LED3) | \ - PIN_MODE_INPUT(8) | \ - PIN_MODE_INPUT(9) | \ - PIN_MODE_INPUT(10) | \ - PIN_MODE_INPUT(11) | \ - PIN_MODE_INPUT(12) | \ - PIN_MODE_INPUT(13) | \ - PIN_MODE_INPUT(14) | \ - PIN_MODE_INPUT(15)) -#define VAL_GPIOB_OTYPER 0x00000000 -#define VAL_GPIOB_OSPEEDR 0xFFFFFFFF -#define VAL_GPIOB_PUPDR (PIN_PUDR_PULLUP(0) | \ - PIN_PUDR_PULLUP(1) | \ - PIN_PUDR_PULLUP(2) | \ - PIN_PUDR_FLOATING(3) | \ - PIN_PUDR_FLOATING(4) | \ - PIN_PUDR_PULLUP(5) | \ - PIN_PUDR_FLOATING(GPIOB_LED4) | \ - PIN_PUDR_FLOATING(GPIOB_LED3) | \ - PIN_PUDR_PULLUP(8) | \ - PIN_PUDR_PULLUP(9) | \ - PIN_PUDR_PULLUP(10) | \ - PIN_PUDR_PULLUP(11) | \ - PIN_PUDR_PULLUP(12) | \ - PIN_PUDR_PULLUP(13) | \ - PIN_PUDR_PULLUP(14) | \ - PIN_PUDR_PULLUP(15)) -#define VAL_GPIOB_ODR 0xFFFFFF3F -#define VAL_GPIOB_AFRL 0x00000000 -#define VAL_GPIOB_AFRH 0x00000000 + PIN_MODE_INPUT(GPIOB_PIN8) | \ + PIN_MODE_INPUT(GPIOB_PIN9) | \ + PIN_MODE_INPUT(GPIOB_PIN10) | \ + PIN_MODE_INPUT(GPIOB_PIN11) | \ + PIN_MODE_INPUT(GPIOB_PIN12) | \ + PIN_MODE_INPUT(GPIOB_PIN13) | \ + PIN_MODE_INPUT(GPIOB_PIN14) | \ + PIN_MODE_INPUT(GPIOB_PIN15)) +#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL(GPIOB_PIN0) | \ + PIN_OTYPE_PUSHPULL(GPIOB_PIN1) | \ + PIN_OTYPE_PUSHPULL(GPIOB_BOOT1) | \ + PIN_OTYPE_PUSHPULL(GPIOB_JTAG_TDO) | \ + PIN_OTYPE_PUSHPULL(GPIOB_JTAG_TRST) | \ + PIN_OTYPE_PUSHPULL(GPIOB_PIN5) | \ + PIN_OTYPE_PUSHPULL(GPIOB_LED4) | \ + PIN_OTYPE_PUSHPULL(GPIOB_LED3) | \ + PIN_OTYPE_PUSHPULL(GPIOB_PIN8) | \ + PIN_OTYPE_PUSHPULL(GPIOB_PIN9) | \ + PIN_OTYPE_PUSHPULL(GPIOB_PIN10) | \ + PIN_OTYPE_PUSHPULL(GPIOB_PIN11) | \ + PIN_OTYPE_PUSHPULL(GPIOB_PIN12) | \ + PIN_OTYPE_PUSHPULL(GPIOB_PIN13) | \ + PIN_OTYPE_PUSHPULL(GPIOB_PIN14) | \ + PIN_OTYPE_PUSHPULL(GPIOB_PIN15)) +#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_400K(GPIOB_PIN0) | \ + PIN_OSPEED_400K(GPIOB_PIN1) | \ + PIN_OSPEED_40M(GPIOB_BOOT1) | \ + PIN_OSPEED_40M(GPIOB_JTAG_TDO) | \ + PIN_OSPEED_40M(GPIOB_JTAG_TRST) | \ + PIN_OSPEED_400K(GPIOB_PIN5) | \ + PIN_OSPEED_40M(GPIOB_LED4) | \ + PIN_OSPEED_40M(GPIOB_LED3) | \ + PIN_OSPEED_400K(GPIOB_PIN8) | \ + PIN_OSPEED_400K(GPIOB_PIN9) | \ + PIN_OSPEED_400K(GPIOB_PIN10) | \ + PIN_OSPEED_400K(GPIOB_PIN11) | \ + PIN_OSPEED_400K(GPIOB_PIN12) | \ + PIN_OSPEED_400K(GPIOB_PIN13) | \ + PIN_OSPEED_400K(GPIOB_PIN14) | \ + PIN_OSPEED_400K(GPIOB_PIN15)) +#define VAL_GPIOB_PUPDR (PIN_PUPDR_PULLUP(GPIOB_PIN0) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN1) | \ + PIN_PUPDR_FLOATING(GPIOB_BOOT1) | \ + PIN_PUPDR_FLOATING(GPIOB_JTAG_TDO) | \ + PIN_PUPDR_PULLUP(GPIOB_JTAG_TRST) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN5) | \ + PIN_PUPDR_FLOATING(GPIOB_LED4) | \ + PIN_PUPDR_FLOATING(GPIOB_LED3) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN8) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN9) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN10) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN11) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN12) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN13) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN14) | \ + PIN_PUPDR_PULLUP(GPIOB_PIN15)) +#define VAL_GPIOB_ODR (PIN_ODR_HIGH(GPIOB_PIN0) | \ + PIN_ODR_HIGH(GPIOB_PIN1) | \ + PIN_ODR_HIGH(GPIOB_BOOT1) | \ + PIN_ODR_HIGH(GPIOB_JTAG_TDO) | \ + PIN_ODR_HIGH(GPIOB_JTAG_TRST) | \ + PIN_ODR_HIGH(GPIOB_PIN5) | \ + PIN_ODR_LOW(GPIOB_LED4) | \ + PIN_ODR_LOW(GPIOB_LED3) | \ + PIN_ODR_HIGH(GPIOB_PIN8) | \ + PIN_ODR_HIGH(GPIOB_PIN9) | \ + PIN_ODR_HIGH(GPIOB_PIN10) | \ + PIN_ODR_HIGH(GPIOB_PIN11) | \ + PIN_ODR_HIGH(GPIOB_PIN12) | \ + PIN_ODR_HIGH(GPIOB_PIN13) | \ + PIN_ODR_HIGH(GPIOB_PIN14) | \ + PIN_ODR_HIGH(GPIOB_PIN15)) +#define VAL_GPIOB_AFRL (PIN_AFIO_AF(GPIOB_PIN0, 0) | \ + PIN_AFIO_AF(GPIOB_PIN1, 0) | \ + PIN_AFIO_AF(GPIOB_BOOT1, 0) | \ + PIN_AFIO_AF(GPIOB_JTAG_TDO, 0) | \ + PIN_AFIO_AF(GPIOB_JTAG_TRST, 0) | \ + PIN_AFIO_AF(GPIOB_PIN5, 0) | \ + PIN_AFIO_AF(GPIOB_LED4, 0) | \ + PIN_AFIO_AF(GPIOB_LED3, 0)) +#define VAL_GPIOB_AFRH (PIN_AFIO_AF(GPIOB_PIN8, 0) | \ + PIN_AFIO_AF(GPIOB_PIN9, 0) | \ + PIN_AFIO_AF(GPIOB_PIN10, 0) | \ + PIN_AFIO_AF(GPIOB_PIN11, 0) | \ + PIN_AFIO_AF(GPIOB_PIN12, 0) | \ + PIN_AFIO_AF(GPIOB_PIN13, 0) | \ + PIN_AFIO_AF(GPIOB_PIN14, 0) | \ + PIN_AFIO_AF(GPIOB_PIN15, 0)) /* - * Port C setup. - * All input with pull-up except: - * PC13 - OSC32_OUT (input floating). - * PC14 - OSC32_IN (input floating). + * GPIOC setup: + * + * PC0 - PIN0 (input pullup). + * PC1 - PIN1 (input pullup). + * PC2 - PIN2 (input pullup). + * PC3 - PIN3 (input pullup). + * PC4 - PIN4 (input pullup). + * PC5 - PIN5 (input pullup). + * PC6 - PIN6 (input pullup). + * PC7 - PIN7 (input pullup). + * PC8 - PIN8 (input pullup). + * PC9 - PIN9 (input pullup). + * PC10 - PIN10 (input pullup). + * PC11 - PIN11 (input pullup). + * PC12 - PIN12 (input pullup). + * PC13 - PIN13 (input pullup). + * PC14 - OSC32_IN (input floating). + * PC15 - OSC32_OUT (input floating). */ -#define VAL_GPIOC_MODER (PIN_MODE_INPUT(0) | \ - PIN_MODE_INPUT(1) | \ - PIN_MODE_INPUT(2) | \ - PIN_MODE_INPUT(3) | \ - PIN_MODE_INPUT(4) | \ - PIN_MODE_INPUT(5) | \ - PIN_MODE_INPUT(6) | \ - PIN_MODE_INPUT(7) | \ - PIN_MODE_INPUT(8) | \ - PIN_MODE_INPUT(9) | \ - PIN_MODE_INPUT(10) | \ - PIN_MODE_INPUT(11) | \ - PIN_MODE_INPUT(12) | \ - PIN_MODE_INPUT(13) | \ - PIN_MODE_INPUT(14) | \ - PIN_MODE_INPUT(15)) -#define VAL_GPIOC_OTYPER 0x00000000 -#define VAL_GPIOC_OSPEEDR 0xFFFFFFFF -#define VAL_GPIOC_PUPDR (PIN_PUDR_PULLUP(0) | \ - PIN_PUDR_PULLUP(1) | \ - PIN_PUDR_PULLUP(2) | \ - PIN_PUDR_PULLUP(3) | \ - PIN_PUDR_PULLUP(4) | \ - PIN_PUDR_PULLUP(5) | \ - PIN_PUDR_PULLUP(6) | \ - PIN_PUDR_PULLUP(7) | \ - PIN_PUDR_PULLUP(8) | \ - PIN_PUDR_PULLUP(9) | \ - PIN_PUDR_PULLUP(10) | \ - PIN_PUDR_PULLUP(11) | \ - PIN_PUDR_PULLUP(12) | \ - PIN_PUDR_PULLUP(13) | \ - PIN_PUDR_FLOATING(14) | \ - PIN_PUDR_FLOATING(15)) -#define VAL_GPIOC_ODR 0xFFFFFFFF -#define VAL_GPIOC_AFRL 0x00000000 -#define VAL_GPIOC_AFRH 0x00000000 +#define VAL_GPIOC_MODER (PIN_MODE_INPUT(GPIOC_PIN0) | \ + PIN_MODE_INPUT(GPIOC_PIN1) | \ + PIN_MODE_INPUT(GPIOC_PIN2) | \ + PIN_MODE_INPUT(GPIOC_PIN3) | \ + PIN_MODE_INPUT(GPIOC_PIN4) | \ + PIN_MODE_INPUT(GPIOC_PIN5) | \ + PIN_MODE_INPUT(GPIOC_PIN6) | \ + PIN_MODE_INPUT(GPIOC_PIN7) | \ + PIN_MODE_INPUT(GPIOC_PIN8) | \ + PIN_MODE_INPUT(GPIOC_PIN9) | \ + PIN_MODE_INPUT(GPIOC_PIN10) | \ + PIN_MODE_INPUT(GPIOC_PIN11) | \ + PIN_MODE_INPUT(GPIOC_PIN12) | \ + PIN_MODE_INPUT(GPIOC_PIN13) | \ + PIN_MODE_INPUT(GPIOC_OSC32_IN) | \ + PIN_MODE_INPUT(GPIOC_OSC32_OUT)) +#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL(GPIOC_PIN0) | \ + PIN_OTYPE_PUSHPULL(GPIOC_PIN1) | \ + PIN_OTYPE_PUSHPULL(GPIOC_PIN2) | \ + PIN_OTYPE_PUSHPULL(GPIOC_PIN3) | \ + PIN_OTYPE_PUSHPULL(GPIOC_PIN4) | \ + PIN_OTYPE_PUSHPULL(GPIOC_PIN5) | \ + PIN_OTYPE_PUSHPULL(GPIOC_PIN6) | \ + PIN_OTYPE_PUSHPULL(GPIOC_PIN7) | \ + PIN_OTYPE_PUSHPULL(GPIOC_PIN8) | \ + PIN_OTYPE_PUSHPULL(GPIOC_PIN9) | \ + PIN_OTYPE_PUSHPULL(GPIOC_PIN10) | \ + PIN_OTYPE_PUSHPULL(GPIOC_PIN11) | \ + PIN_OTYPE_PUSHPULL(GPIOC_PIN12) | \ + PIN_OTYPE_PUSHPULL(GPIOC_PIN13) | \ + PIN_OTYPE_PUSHPULL(GPIOC_OSC32_IN) | \ + PIN_OTYPE_PUSHPULL(GPIOC_OSC32_OUT)) +#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_400K(GPIOC_PIN0) | \ + PIN_OSPEED_400K(GPIOC_PIN1) | \ + PIN_OSPEED_400K(GPIOC_PIN2) | \ + PIN_OSPEED_400K(GPIOC_PIN3) | \ + PIN_OSPEED_400K(GPIOC_PIN4) | \ + PIN_OSPEED_400K(GPIOC_PIN5) | \ + PIN_OSPEED_400K(GPIOC_PIN6) | \ + PIN_OSPEED_400K(GPIOC_PIN7) | \ + PIN_OSPEED_400K(GPIOC_PIN8) | \ + PIN_OSPEED_400K(GPIOC_PIN9) | \ + PIN_OSPEED_400K(GPIOC_PIN10) | \ + PIN_OSPEED_400K(GPIOC_PIN11) | \ + PIN_OSPEED_400K(GPIOC_PIN12) | \ + PIN_OSPEED_400K(GPIOC_PIN13) | \ + PIN_OSPEED_40M(GPIOC_OSC32_IN) | \ + PIN_OSPEED_40M(GPIOC_OSC32_OUT)) +#define VAL_GPIOC_PUPDR (PIN_PUPDR_PULLUP(GPIOC_PIN0) | \ + PIN_PUPDR_PULLUP(GPIOC_PIN1) | \ + PIN_PUPDR_PULLUP(GPIOC_PIN2) | \ + PIN_PUPDR_PULLUP(GPIOC_PIN3) | \ + PIN_PUPDR_PULLUP(GPIOC_PIN4) | \ + PIN_PUPDR_PULLUP(GPIOC_PIN5) | \ + PIN_PUPDR_PULLUP(GPIOC_PIN6) | \ + PIN_PUPDR_PULLUP(GPIOC_PIN7) | \ + PIN_PUPDR_PULLUP(GPIOC_PIN8) | \ + PIN_PUPDR_PULLUP(GPIOC_PIN9) | \ + PIN_PUPDR_PULLUP(GPIOC_PIN10) | \ + PIN_PUPDR_PULLUP(GPIOC_PIN11) | \ + PIN_PUPDR_PULLUP(GPIOC_PIN12) | \ + PIN_PUPDR_PULLUP(GPIOC_PIN13) | \ + PIN_PUPDR_FLOATING(GPIOC_OSC32_IN) | \ + PIN_PUPDR_FLOATING(GPIOC_OSC32_OUT)) +#define VAL_GPIOC_ODR (PIN_ODR_HIGH(GPIOC_PIN0) | \ + PIN_ODR_HIGH(GPIOC_PIN1) | \ + PIN_ODR_HIGH(GPIOC_PIN2) | \ + PIN_ODR_HIGH(GPIOC_PIN3) | \ + PIN_ODR_HIGH(GPIOC_PIN4) | \ + PIN_ODR_HIGH(GPIOC_PIN5) | \ + PIN_ODR_HIGH(GPIOC_PIN6) | \ + PIN_ODR_HIGH(GPIOC_PIN7) | \ + PIN_ODR_HIGH(GPIOC_PIN8) | \ + PIN_ODR_HIGH(GPIOC_PIN9) | \ + PIN_ODR_HIGH(GPIOC_PIN10) | \ + PIN_ODR_HIGH(GPIOC_PIN11) | \ + PIN_ODR_HIGH(GPIOC_PIN12) | \ + PIN_ODR_HIGH(GPIOC_PIN13) | \ + PIN_ODR_HIGH(GPIOC_OSC32_IN) | \ + PIN_ODR_HIGH(GPIOC_OSC32_OUT)) +#define VAL_GPIOC_AFRL (PIN_AFIO_AF(GPIOC_PIN0, 0) | \ + PIN_AFIO_AF(GPIOC_PIN1, 0) | \ + PIN_AFIO_AF(GPIOC_PIN2, 0) | \ + PIN_AFIO_AF(GPIOC_PIN3, 0) | \ + PIN_AFIO_AF(GPIOC_PIN4, 0) | \ + PIN_AFIO_AF(GPIOC_PIN5, 0) | \ + PIN_AFIO_AF(GPIOC_PIN6, 0) | \ + PIN_AFIO_AF(GPIOC_PIN7, 0)) +#define VAL_GPIOC_AFRH (PIN_AFIO_AF(GPIOC_PIN8, 0) | \ + PIN_AFIO_AF(GPIOC_PIN9, 0) | \ + PIN_AFIO_AF(GPIOC_PIN10, 0) | \ + PIN_AFIO_AF(GPIOC_PIN11, 0) | \ + PIN_AFIO_AF(GPIOC_PIN12, 0) | \ + PIN_AFIO_AF(GPIOC_PIN13, 0) | \ + PIN_AFIO_AF(GPIOC_OSC32_IN, 0) | \ + PIN_AFIO_AF(GPIOC_OSC32_OUT, 0)) /* - * Port D setup. - * All input with pull-up. + * GPIOD setup: + * + * PD0 - PIN0 (input pullup). + * PD1 - PIN1 (input pullup). + * PD2 - PIN2 (input pullup). + * PD3 - PIN3 (input pullup). + * PD4 - PIN4 (input pullup). + * PD5 - PIN5 (input pullup). + * PD6 - PIN6 (input pullup). + * PD7 - PIN7 (input pullup). + * PD8 - PIN8 (input pullup). + * PD9 - PIN9 (input pullup). + * PD10 - PIN10 (input pullup). + * PD11 - PIN11 (input pullup). + * PD12 - PIN12 (input pullup). + * PD13 - PIN13 (input pullup). + * PD14 - PIN14 (input pullup). + * PD15 - PIN15 (input pullup). */ -#define VAL_GPIOD_MODER (PIN_MODE_INPUT(0) | \ - PIN_MODE_INPUT(1) | \ - PIN_MODE_INPUT(2) | \ - PIN_MODE_INPUT(3) | \ - PIN_MODE_INPUT(4) | \ - PIN_MODE_INPUT(5) | \ - PIN_MODE_INPUT(6) | \ - PIN_MODE_INPUT(7) | \ - PIN_MODE_INPUT(8) | \ - PIN_MODE_INPUT(9) | \ - PIN_MODE_INPUT(10) | \ - PIN_MODE_INPUT(11) | \ - PIN_MODE_INPUT(12) | \ - PIN_MODE_INPUT(13) | \ - PIN_MODE_INPUT(14) | \ - PIN_MODE_INPUT(15)) -#define VAL_GPIOD_OTYPER 0x00000000 -#define VAL_GPIOD_OSPEEDR 0xFFFFFFFF -#define VAL_GPIOD_PUPDR (PIN_PUDR_PULLUP(0) | \ - PIN_PUDR_PULLUP(1) | \ - PIN_PUDR_PULLUP(2) | \ - PIN_PUDR_PULLUP(3) | \ - PIN_PUDR_PULLUP(4) | \ - PIN_PUDR_PULLUP(5) | \ - PIN_PUDR_PULLUP(6) | \ - PIN_PUDR_PULLUP(7) | \ - PIN_PUDR_PULLUP(8) | \ - PIN_PUDR_PULLUP(9) | \ - PIN_PUDR_PULLUP(10) | \ - PIN_PUDR_PULLUP(11) | \ - PIN_PUDR_PULLUP(12) | \ - PIN_PUDR_PULLUP(13) | \ - PIN_PUDR_PULLUP(14) | \ - PIN_PUDR_PULLUP(15)) -#define VAL_GPIOD_ODR 0xFFFFFFFF -#define VAL_GPIOD_AFRL 0x00000000 -#define VAL_GPIOD_AFRH 0x00000000 +#define VAL_GPIOD_MODER (PIN_MODE_INPUT(GPIOD_PIN0) | \ + PIN_MODE_INPUT(GPIOD_PIN1) | \ + PIN_MODE_INPUT(GPIOD_PIN2) | \ + PIN_MODE_INPUT(GPIOD_PIN3) | \ + PIN_MODE_INPUT(GPIOD_PIN4) | \ + PIN_MODE_INPUT(GPIOD_PIN5) | \ + PIN_MODE_INPUT(GPIOD_PIN6) | \ + PIN_MODE_INPUT(GPIOD_PIN7) | \ + PIN_MODE_INPUT(GPIOD_PIN8) | \ + PIN_MODE_INPUT(GPIOD_PIN9) | \ + PIN_MODE_INPUT(GPIOD_PIN10) | \ + PIN_MODE_INPUT(GPIOD_PIN11) | \ + PIN_MODE_INPUT(GPIOD_PIN12) | \ + PIN_MODE_INPUT(GPIOD_PIN13) | \ + PIN_MODE_INPUT(GPIOD_PIN14) | \ + PIN_MODE_INPUT(GPIOD_PIN15)) +#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL(GPIOD_PIN0) | \ + PIN_OTYPE_PUSHPULL(GPIOD_PIN1) | \ + PIN_OTYPE_PUSHPULL(GPIOD_PIN2) | \ + PIN_OTYPE_PUSHPULL(GPIOD_PIN3) | \ + PIN_OTYPE_PUSHPULL(GPIOD_PIN4) | \ + PIN_OTYPE_PUSHPULL(GPIOD_PIN5) | \ + PIN_OTYPE_PUSHPULL(GPIOD_PIN6) | \ + PIN_OTYPE_PUSHPULL(GPIOD_PIN7) | \ + PIN_OTYPE_PUSHPULL(GPIOD_PIN8) | \ + PIN_OTYPE_PUSHPULL(GPIOD_PIN9) | \ + PIN_OTYPE_PUSHPULL(GPIOD_PIN10) | \ + PIN_OTYPE_PUSHPULL(GPIOD_PIN11) | \ + PIN_OTYPE_PUSHPULL(GPIOD_PIN12) | \ + PIN_OTYPE_PUSHPULL(GPIOD_PIN13) | \ + PIN_OTYPE_PUSHPULL(GPIOD_PIN14) | \ + PIN_OTYPE_PUSHPULL(GPIOD_PIN15)) +#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_400K(GPIOD_PIN0) | \ + PIN_OSPEED_400K(GPIOD_PIN1) | \ + PIN_OSPEED_400K(GPIOD_PIN2) | \ + PIN_OSPEED_400K(GPIOD_PIN3) | \ + PIN_OSPEED_400K(GPIOD_PIN4) | \ + PIN_OSPEED_400K(GPIOD_PIN5) | \ + PIN_OSPEED_400K(GPIOD_PIN6) | \ + PIN_OSPEED_400K(GPIOD_PIN7) | \ + PIN_OSPEED_400K(GPIOD_PIN8) | \ + PIN_OSPEED_400K(GPIOD_PIN9) | \ + PIN_OSPEED_400K(GPIOD_PIN10) | \ + PIN_OSPEED_400K(GPIOD_PIN11) | \ + PIN_OSPEED_400K(GPIOD_PIN12) | \ + PIN_OSPEED_400K(GPIOD_PIN13) | \ + PIN_OSPEED_400K(GPIOD_PIN14) | \ + PIN_OSPEED_400K(GPIOD_PIN15)) +#define VAL_GPIOD_PUPDR (PIN_PUPDR_PULLUP(GPIOD_PIN0) | \ + PIN_PUPDR_PULLUP(GPIOD_PIN1) | \ + PIN_PUPDR_PULLUP(GPIOD_PIN2) | \ + PIN_PUPDR_PULLUP(GPIOD_PIN3) | \ + PIN_PUPDR_PULLUP(GPIOD_PIN4) | \ + PIN_PUPDR_PULLUP(GPIOD_PIN5) | \ + PIN_PUPDR_PULLUP(GPIOD_PIN6) | \ + PIN_PUPDR_PULLUP(GPIOD_PIN7) | \ + PIN_PUPDR_PULLUP(GPIOD_PIN8) | \ + PIN_PUPDR_PULLUP(GPIOD_PIN9) | \ + PIN_PUPDR_PULLUP(GPIOD_PIN10) | \ + PIN_PUPDR_PULLUP(GPIOD_PIN11) | \ + PIN_PUPDR_PULLUP(GPIOD_PIN12) | \ + PIN_PUPDR_PULLUP(GPIOD_PIN13) | \ + PIN_PUPDR_PULLUP(GPIOD_PIN14) | \ + PIN_PUPDR_PULLUP(GPIOD_PIN15)) +#define VAL_GPIOD_ODR (PIN_ODR_HIGH(GPIOD_PIN0) | \ + PIN_ODR_HIGH(GPIOD_PIN1) | \ + PIN_ODR_HIGH(GPIOD_PIN2) | \ + PIN_ODR_HIGH(GPIOD_PIN3) | \ + PIN_ODR_HIGH(GPIOD_PIN4) | \ + PIN_ODR_HIGH(GPIOD_PIN5) | \ + PIN_ODR_HIGH(GPIOD_PIN6) | \ + PIN_ODR_HIGH(GPIOD_PIN7) | \ + PIN_ODR_HIGH(GPIOD_PIN8) | \ + PIN_ODR_HIGH(GPIOD_PIN9) | \ + PIN_ODR_HIGH(GPIOD_PIN10) | \ + PIN_ODR_HIGH(GPIOD_PIN11) | \ + PIN_ODR_HIGH(GPIOD_PIN12) | \ + PIN_ODR_HIGH(GPIOD_PIN13) | \ + PIN_ODR_HIGH(GPIOD_PIN14) | \ + PIN_ODR_HIGH(GPIOD_PIN15)) +#define VAL_GPIOD_AFRL (PIN_AFIO_AF(GPIOD_PIN0, 0) | \ + PIN_AFIO_AF(GPIOD_PIN1, 0) | \ + PIN_AFIO_AF(GPIOD_PIN2, 0) | \ + PIN_AFIO_AF(GPIOD_PIN3, 0) | \ + PIN_AFIO_AF(GPIOD_PIN4, 0) | \ + PIN_AFIO_AF(GPIOD_PIN5, 0) | \ + PIN_AFIO_AF(GPIOD_PIN6, 0) | \ + PIN_AFIO_AF(GPIOD_PIN7, 0)) +#define VAL_GPIOD_AFRH (PIN_AFIO_AF(GPIOD_PIN8, 0) | \ + PIN_AFIO_AF(GPIOD_PIN9, 0) | \ + PIN_AFIO_AF(GPIOD_PIN10, 0) | \ + PIN_AFIO_AF(GPIOD_PIN11, 0) | \ + PIN_AFIO_AF(GPIOD_PIN12, 0) | \ + PIN_AFIO_AF(GPIOD_PIN13, 0) | \ + PIN_AFIO_AF(GPIOD_PIN14, 0) | \ + PIN_AFIO_AF(GPIOD_PIN15, 0)) /* - * Port E setup. - * All input with pull-up. + * GPIOE setup: + * + * PE0 - PIN0 (input pullup). + * PE1 - PIN1 (input pullup). + * PE2 - PIN2 (input pullup). + * PE3 - PIN3 (input pullup). + * PE4 - PIN4 (input pullup). + * PE5 - PIN5 (input pullup). + * PE6 - PIN6 (input pullup). + * PE7 - PIN7 (input pullup). + * PE8 - PIN8 (input pullup). + * PE9 - PIN9 (input pullup). + * PE10 - PIN10 (input pullup). + * PE11 - PIN11 (input pullup). + * PE12 - PIN12 (input pullup). + * PE13 - PIN13 (input pullup). + * PE14 - PIN14 (input pullup). + * PE15 - PIN15 (input pullup). */ -#define VAL_GPIOE_MODER (PIN_MODE_INPUT(0) | \ - PIN_MODE_INPUT(1) | \ - PIN_MODE_INPUT(2) | \ - PIN_MODE_INPUT(3) | \ - PIN_MODE_INPUT(4) | \ - PIN_MODE_INPUT(5) | \ - PIN_MODE_INPUT(6) | \ - PIN_MODE_INPUT(7) | \ - PIN_MODE_INPUT(8) | \ - PIN_MODE_INPUT(9) | \ - PIN_MODE_INPUT(10) | \ - PIN_MODE_INPUT(11) | \ - PIN_MODE_INPUT(12) | \ - PIN_MODE_INPUT(13) | \ - PIN_MODE_INPUT(14) | \ - PIN_MODE_INPUT(15)) -#define VAL_GPIOE_OTYPER 0x00000000 -#define VAL_GPIOE_OSPEEDR 0xFFFFFFFF -#define VAL_GPIOE_PUPDR (PIN_PUDR_PULLUP(0) | \ - PIN_PUDR_PULLUP(1) | \ - PIN_PUDR_PULLUP(2) | \ - PIN_PUDR_PULLUP(3) | \ - PIN_PUDR_PULLUP(4) | \ - PIN_PUDR_PULLUP(5) | \ - PIN_PUDR_PULLUP(6) | \ - PIN_PUDR_PULLUP(7) | \ - PIN_PUDR_PULLUP(8) | \ - PIN_PUDR_PULLUP(9) | \ - PIN_PUDR_PULLUP(10) | \ - PIN_PUDR_PULLUP(11) | \ - PIN_PUDR_PULLUP(12) | \ - PIN_PUDR_PULLUP(13) | \ - PIN_PUDR_PULLUP(14) | \ - PIN_PUDR_PULLUP(15)) -#define VAL_GPIOE_ODR 0xFFFFFFFF -#define VAL_GPIOE_AFRL 0x00000000 -#define VAL_GPIOE_AFRH 0x00000000 +#define VAL_GPIOE_MODER (PIN_MODE_INPUT(GPIOE_PIN0) | \ + PIN_MODE_INPUT(GPIOE_PIN1) | \ + PIN_MODE_INPUT(GPIOE_PIN2) | \ + PIN_MODE_INPUT(GPIOE_PIN3) | \ + PIN_MODE_INPUT(GPIOE_PIN4) | \ + PIN_MODE_INPUT(GPIOE_PIN5) | \ + PIN_MODE_INPUT(GPIOE_PIN6) | \ + PIN_MODE_INPUT(GPIOE_PIN7) | \ + PIN_MODE_INPUT(GPIOE_PIN8) | \ + PIN_MODE_INPUT(GPIOE_PIN9) | \ + PIN_MODE_INPUT(GPIOE_PIN10) | \ + PIN_MODE_INPUT(GPIOE_PIN11) | \ + PIN_MODE_INPUT(GPIOE_PIN12) | \ + PIN_MODE_INPUT(GPIOE_PIN13) | \ + PIN_MODE_INPUT(GPIOE_PIN14) | \ + PIN_MODE_INPUT(GPIOE_PIN15)) +#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(GPIOE_PIN0) | \ + PIN_OTYPE_PUSHPULL(GPIOE_PIN1) | \ + PIN_OTYPE_PUSHPULL(GPIOE_PIN2) | \ + PIN_OTYPE_PUSHPULL(GPIOE_PIN3) | \ + PIN_OTYPE_PUSHPULL(GPIOE_PIN4) | \ + PIN_OTYPE_PUSHPULL(GPIOE_PIN5) | \ + PIN_OTYPE_PUSHPULL(GPIOE_PIN6) | \ + PIN_OTYPE_PUSHPULL(GPIOE_PIN7) | \ + PIN_OTYPE_PUSHPULL(GPIOE_PIN8) | \ + PIN_OTYPE_PUSHPULL(GPIOE_PIN9) | \ + PIN_OTYPE_PUSHPULL(GPIOE_PIN10) | \ + PIN_OTYPE_PUSHPULL(GPIOE_PIN11) | \ + PIN_OTYPE_PUSHPULL(GPIOE_PIN12) | \ + PIN_OTYPE_PUSHPULL(GPIOE_PIN13) | \ + PIN_OTYPE_PUSHPULL(GPIOE_PIN14) | \ + PIN_OTYPE_PUSHPULL(GPIOE_PIN15)) +#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_400K(GPIOE_PIN0) | \ + PIN_OSPEED_400K(GPIOE_PIN1) | \ + PIN_OSPEED_400K(GPIOE_PIN2) | \ + PIN_OSPEED_400K(GPIOE_PIN3) | \ + PIN_OSPEED_400K(GPIOE_PIN4) | \ + PIN_OSPEED_400K(GPIOE_PIN5) | \ + PIN_OSPEED_400K(GPIOE_PIN6) | \ + PIN_OSPEED_400K(GPIOE_PIN7) | \ + PIN_OSPEED_400K(GPIOE_PIN8) | \ + PIN_OSPEED_400K(GPIOE_PIN9) | \ + PIN_OSPEED_400K(GPIOE_PIN10) | \ + PIN_OSPEED_400K(GPIOE_PIN11) | \ + PIN_OSPEED_400K(GPIOE_PIN12) | \ + PIN_OSPEED_400K(GPIOE_PIN13) | \ + PIN_OSPEED_400K(GPIOE_PIN14) | \ + PIN_OSPEED_400K(GPIOE_PIN15)) +#define VAL_GPIOE_PUPDR (PIN_PUPDR_PULLUP(GPIOE_PIN0) | \ + PIN_PUPDR_PULLUP(GPIOE_PIN1) | \ + PIN_PUPDR_PULLUP(GPIOE_PIN2) | \ + PIN_PUPDR_PULLUP(GPIOE_PIN3) | \ + PIN_PUPDR_PULLUP(GPIOE_PIN4) | \ + PIN_PUPDR_PULLUP(GPIOE_PIN5) | \ + PIN_PUPDR_PULLUP(GPIOE_PIN6) | \ + PIN_PUPDR_PULLUP(GPIOE_PIN7) | \ + PIN_PUPDR_PULLUP(GPIOE_PIN8) | \ + PIN_PUPDR_PULLUP(GPIOE_PIN9) | \ + PIN_PUPDR_PULLUP(GPIOE_PIN10) | \ + PIN_PUPDR_PULLUP(GPIOE_PIN11) | \ + PIN_PUPDR_PULLUP(GPIOE_PIN12) | \ + PIN_PUPDR_PULLUP(GPIOE_PIN13) | \ + PIN_PUPDR_PULLUP(GPIOE_PIN14) | \ + PIN_PUPDR_PULLUP(GPIOE_PIN15)) +#define VAL_GPIOE_ODR (PIN_ODR_HIGH(GPIOE_PIN0) | \ + PIN_ODR_HIGH(GPIOE_PIN1) | \ + PIN_ODR_HIGH(GPIOE_PIN2) | \ + PIN_ODR_HIGH(GPIOE_PIN3) | \ + PIN_ODR_HIGH(GPIOE_PIN4) | \ + PIN_ODR_HIGH(GPIOE_PIN5) | \ + PIN_ODR_HIGH(GPIOE_PIN6) | \ + PIN_ODR_HIGH(GPIOE_PIN7) | \ + PIN_ODR_HIGH(GPIOE_PIN8) | \ + PIN_ODR_HIGH(GPIOE_PIN9) | \ + PIN_ODR_HIGH(GPIOE_PIN10) | \ + PIN_ODR_HIGH(GPIOE_PIN11) | \ + PIN_ODR_HIGH(GPIOE_PIN12) | \ + PIN_ODR_HIGH(GPIOE_PIN13) | \ + PIN_ODR_HIGH(GPIOE_PIN14) | \ + PIN_ODR_HIGH(GPIOE_PIN15)) +#define VAL_GPIOE_AFRL (PIN_AFIO_AF(GPIOE_PIN0, 0) | \ + PIN_AFIO_AF(GPIOE_PIN1, 0) | \ + PIN_AFIO_AF(GPIOE_PIN2, 0) | \ + PIN_AFIO_AF(GPIOE_PIN3, 0) | \ + PIN_AFIO_AF(GPIOE_PIN4, 0) | \ + PIN_AFIO_AF(GPIOE_PIN5, 0) | \ + PIN_AFIO_AF(GPIOE_PIN6, 0) | \ + PIN_AFIO_AF(GPIOE_PIN7, 0)) +#define VAL_GPIOE_AFRH (PIN_AFIO_AF(GPIOE_PIN8, 0) | \ + PIN_AFIO_AF(GPIOE_PIN9, 0) | \ + PIN_AFIO_AF(GPIOE_PIN10, 0) | \ + PIN_AFIO_AF(GPIOE_PIN11, 0) | \ + PIN_AFIO_AF(GPIOE_PIN12, 0) | \ + PIN_AFIO_AF(GPIOE_PIN13, 0) | \ + PIN_AFIO_AF(GPIOE_PIN14, 0) | \ + PIN_AFIO_AF(GPIOE_PIN15, 0)) /* - * Port H setup. - * All input with pull-up. + * GPIOH setup: + * + * PH0 - OSC_IN (input floating). + * PH1 - OSC_OUT (input floating). + * PH2 - PIN2 (input pullup). + * PH3 - PIN3 (input pullup). + * PH4 - PIN4 (input pullup). + * PH5 - PIN5 (input pullup). + * PH6 - PIN6 (input pullup). + * PH7 - PIN7 (input pullup). + * PH8 - PIN8 (input pullup). + * PH9 - PIN9 (input pullup). + * PH10 - PIN10 (input pullup). + * PH11 - PIN11 (input pullup). + * PH12 - PIN12 (input pullup). + * PH13 - PIN13 (input pullup). + * PH14 - PIN14 (input pullup). + * PH15 - PIN15 (input pullup). */ -#define VAL_GPIOH_MODER (PIN_MODE_INPUT(0) | \ - PIN_MODE_INPUT(1) | \ - PIN_MODE_INPUT(2) | \ - PIN_MODE_INPUT(3) | \ - PIN_MODE_INPUT(4) | \ - PIN_MODE_INPUT(5) | \ - PIN_MODE_INPUT(6) | \ - PIN_MODE_INPUT(7) | \ - PIN_MODE_INPUT(8) | \ - PIN_MODE_INPUT(9) | \ - PIN_MODE_INPUT(10) | \ - PIN_MODE_INPUT(11) | \ - PIN_MODE_INPUT(12) | \ - PIN_MODE_INPUT(13) | \ - PIN_MODE_INPUT(14) | \ - PIN_MODE_INPUT(15)) -#define VAL_GPIOH_OTYPER 0x00000000 -#define VAL_GPIOH_OSPEEDR 0xFFFFFFFF -#define VAL_GPIOH_PUPDR (PIN_PUDR_PULLUP(0) | \ - PIN_PUDR_PULLUP(1) | \ - PIN_PUDR_PULLUP(2) | \ - PIN_PUDR_PULLUP(3) | \ - PIN_PUDR_PULLUP(4) | \ - PIN_PUDR_PULLUP(5) | \ - PIN_PUDR_PULLUP(6) | \ - PIN_PUDR_PULLUP(7) | \ - PIN_PUDR_PULLUP(8) | \ - PIN_PUDR_PULLUP(9) | \ - PIN_PUDR_PULLUP(10) | \ - PIN_PUDR_PULLUP(11) | \ - PIN_PUDR_PULLUP(12) | \ - PIN_PUDR_PULLUP(13) | \ - PIN_PUDR_PULLUP(14) | \ - PIN_PUDR_PULLUP(15)) -#define VAL_GPIOH_ODR 0xFFFFFFFF -#define VAL_GPIOH_AFRL 0x00000000 -#define VAL_GPIOH_AFRH 0x00000000 +#define VAL_GPIOH_MODER (PIN_MODE_INPUT(GPIOH_OSC_IN) | \ + PIN_MODE_INPUT(GPIOH_OSC_OUT) | \ + PIN_MODE_INPUT(GPIOH_PIN2) | \ + PIN_MODE_INPUT(GPIOH_PIN3) | \ + PIN_MODE_INPUT(GPIOH_PIN4) | \ + PIN_MODE_INPUT(GPIOH_PIN5) | \ + PIN_MODE_INPUT(GPIOH_PIN6) | \ + PIN_MODE_INPUT(GPIOH_PIN7) | \ + PIN_MODE_INPUT(GPIOH_PIN8) | \ + PIN_MODE_INPUT(GPIOH_PIN9) | \ + PIN_MODE_INPUT(GPIOH_PIN10) | \ + PIN_MODE_INPUT(GPIOH_PIN11) | \ + PIN_MODE_INPUT(GPIOH_PIN12) | \ + PIN_MODE_INPUT(GPIOH_PIN13) | \ + PIN_MODE_INPUT(GPIOH_PIN14) | \ + PIN_MODE_INPUT(GPIOH_PIN15)) +#define VAL_GPIOH_OTYPER (PIN_OTYPE_PUSHPULL(GPIOH_OSC_IN) | \ + PIN_OTYPE_PUSHPULL(GPIOH_OSC_OUT) | \ + PIN_OTYPE_PUSHPULL(GPIOH_PIN2) | \ + PIN_OTYPE_PUSHPULL(GPIOH_PIN3) | \ + PIN_OTYPE_PUSHPULL(GPIOH_PIN4) | \ + PIN_OTYPE_PUSHPULL(GPIOH_PIN5) | \ + PIN_OTYPE_PUSHPULL(GPIOH_PIN6) | \ + PIN_OTYPE_PUSHPULL(GPIOH_PIN7) | \ + PIN_OTYPE_PUSHPULL(GPIOH_PIN8) | \ + PIN_OTYPE_PUSHPULL(GPIOH_PIN9) | \ + PIN_OTYPE_PUSHPULL(GPIOH_PIN10) | \ + PIN_OTYPE_PUSHPULL(GPIOH_PIN11) | \ + PIN_OTYPE_PUSHPULL(GPIOH_PIN12) | \ + PIN_OTYPE_PUSHPULL(GPIOH_PIN13) | \ + PIN_OTYPE_PUSHPULL(GPIOH_PIN14) | \ + PIN_OTYPE_PUSHPULL(GPIOH_PIN15)) +#define VAL_GPIOH_OSPEEDR (PIN_OSPEED_40M(GPIOH_OSC_IN) | \ + PIN_OSPEED_40M(GPIOH_OSC_OUT) | \ + PIN_OSPEED_400K(GPIOH_PIN2) | \ + PIN_OSPEED_400K(GPIOH_PIN3) | \ + PIN_OSPEED_400K(GPIOH_PIN4) | \ + PIN_OSPEED_400K(GPIOH_PIN5) | \ + PIN_OSPEED_400K(GPIOH_PIN6) | \ + PIN_OSPEED_400K(GPIOH_PIN7) | \ + PIN_OSPEED_400K(GPIOH_PIN8) | \ + PIN_OSPEED_400K(GPIOH_PIN9) | \ + PIN_OSPEED_400K(GPIOH_PIN10) | \ + PIN_OSPEED_400K(GPIOH_PIN11) | \ + PIN_OSPEED_400K(GPIOH_PIN12) | \ + PIN_OSPEED_400K(GPIOH_PIN13) | \ + PIN_OSPEED_400K(GPIOH_PIN14) | \ + PIN_OSPEED_400K(GPIOH_PIN15)) +#define VAL_GPIOH_PUPDR (PIN_PUPDR_FLOATING(GPIOH_OSC_IN) | \ + PIN_PUPDR_FLOATING(GPIOH_OSC_OUT) | \ + PIN_PUPDR_PULLUP(GPIOH_PIN2) | \ + PIN_PUPDR_PULLUP(GPIOH_PIN3) | \ + PIN_PUPDR_PULLUP(GPIOH_PIN4) | \ + PIN_PUPDR_PULLUP(GPIOH_PIN5) | \ + PIN_PUPDR_PULLUP(GPIOH_PIN6) | \ + PIN_PUPDR_PULLUP(GPIOH_PIN7) | \ + PIN_PUPDR_PULLUP(GPIOH_PIN8) | \ + PIN_PUPDR_PULLUP(GPIOH_PIN9) | \ + PIN_PUPDR_PULLUP(GPIOH_PIN10) | \ + PIN_PUPDR_PULLUP(GPIOH_PIN11) | \ + PIN_PUPDR_PULLUP(GPIOH_PIN12) | \ + PIN_PUPDR_PULLUP(GPIOH_PIN13) | \ + PIN_PUPDR_PULLUP(GPIOH_PIN14) | \ + PIN_PUPDR_PULLUP(GPIOH_PIN15)) +#define VAL_GPIOH_ODR (PIN_ODR_HIGH(GPIOH_OSC_IN) | \ + PIN_ODR_HIGH(GPIOH_OSC_OUT) | \ + PIN_ODR_HIGH(GPIOH_PIN2) | \ + PIN_ODR_HIGH(GPIOH_PIN3) | \ + PIN_ODR_HIGH(GPIOH_PIN4) | \ + PIN_ODR_HIGH(GPIOH_PIN5) | \ + PIN_ODR_HIGH(GPIOH_PIN6) | \ + PIN_ODR_HIGH(GPIOH_PIN7) | \ + PIN_ODR_HIGH(GPIOH_PIN8) | \ + PIN_ODR_HIGH(GPIOH_PIN9) | \ + PIN_ODR_HIGH(GPIOH_PIN10) | \ + PIN_ODR_HIGH(GPIOH_PIN11) | \ + PIN_ODR_HIGH(GPIOH_PIN12) | \ + PIN_ODR_HIGH(GPIOH_PIN13) | \ + PIN_ODR_HIGH(GPIOH_PIN14) | \ + PIN_ODR_HIGH(GPIOH_PIN15)) +#define VAL_GPIOH_AFRL (PIN_AFIO_AF(GPIOH_OSC_IN, 0) | \ + PIN_AFIO_AF(GPIOH_OSC_OUT, 0) | \ + PIN_AFIO_AF(GPIOH_PIN2, 0) | \ + PIN_AFIO_AF(GPIOH_PIN3, 0) | \ + PIN_AFIO_AF(GPIOH_PIN4, 0) | \ + PIN_AFIO_AF(GPIOH_PIN5, 0) | \ + PIN_AFIO_AF(GPIOH_PIN6, 0) | \ + PIN_AFIO_AF(GPIOH_PIN7, 0)) +#define VAL_GPIOH_AFRH (PIN_AFIO_AF(GPIOH_PIN8, 0) | \ + PIN_AFIO_AF(GPIOH_PIN9, 0) | \ + PIN_AFIO_AF(GPIOH_PIN10, 0) | \ + PIN_AFIO_AF(GPIOH_PIN11, 0) | \ + PIN_AFIO_AF(GPIOH_PIN12, 0) | \ + PIN_AFIO_AF(GPIOH_PIN13, 0) | \ + PIN_AFIO_AF(GPIOH_PIN14, 0) | \ + PIN_AFIO_AF(GPIOH_PIN15, 0)) + #if !defined(_FROM_ASM_) #ifdef __cplusplus diff --git a/boards/ST_STM32L_DISCOVERY/cfg/board.chcfg b/boards/ST_STM32L_DISCOVERY/cfg/board.chcfg new file mode 100644 index 000000000..712316666 --- /dev/null +++ b/boards/ST_STM32L_DISCOVERY/cfg/board.chcfg @@ -0,0 +1,11 @@ +# Automatically generated configuration project file. + +# Templates path in the configuration plugin resources, do not modify. +source=resources/gencfg/processors/boards/stm32l1xx/templates + +# XML configuration data file path relative to this configuration file. +xmlfile=board.chxml + +# Output directory path relative to directory containing this configuration +# file. +output=.. diff --git a/boards/ST_STM32L_DISCOVERY/cfg/board.chxml b/boards/ST_STM32L_DISCOVERY/cfg/board.chxml new file mode 100644 index 000000000..3117b23be --- /dev/null +++ b/boards/ST_STM32L_DISCOVERY/cfg/board.chxml @@ -0,0 +1,795 @@ + + + + ST STM32L-Discovery + ST_STM32L_DISCOVERY + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/eclipse/config_wizard/build.properties b/tools/eclipse/config_wizard/build.properties index ae3f83672..05b402447 100644 --- a/tools/eclipse/config_wizard/build.properties +++ b/tools/eclipse/config_wizard/build.properties @@ -27,4 +27,9 @@ bin.includes = plugin.xml,\ resources/gencfg/processors/boards/stm32f0xx/templates/board.h.ftl,\ resources/gencfg/processors/boards/stm32f0xx/templates/board.mk.ftl,\ resources/gencfg/schema/boards/stm32f0xx_board.xsd,\ - resources/gencfg/xml/stm32f0board.xml + resources/gencfg/xml/stm32f0board.xml,\ + resources/gencfg/processors/boards/stm32l1xx/templates/board.c.ftl,\ + resources/gencfg/processors/boards/stm32l1xx/templates/board.h.ftl,\ + resources/gencfg/processors/boards/stm32l1xx/templates/board.mk.ftl,\ + resources/gencfg/schema/boards/stm32l1xx_board.xsd,\ + resources/gencfg/xml/stm32l1board.xml diff --git a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32l1xx/templates/board.h.ftl b/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32l1xx/templates/board.h.ftl index 8d61438a7..76db7eb27 100644 --- a/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32l1xx/templates/board.h.ftl +++ b/tools/eclipse/config_wizard/resources/gencfg/processors/boards/stm32l1xx/templates/board.h.ftl @@ -70,12 +70,6 @@ #define STM32_HSE_BYPASS [/#if] -/* - * Board voltages. - * Required for performance limits calculation. - */ -#define STM32_VDD ${doc1.board.clocks.@VDD[0]} - /* * MCU type as defined in the ST header file stm32l1xx.h. */ diff --git a/tools/eclipse/plugins/org.chibios.tools.eclipse.config_1.0.2.jar b/tools/eclipse/plugins/org.chibios.tools.eclipse.config_1.0.3.jar similarity index 99% rename from tools/eclipse/plugins/org.chibios.tools.eclipse.config_1.0.2.jar rename to tools/eclipse/plugins/org.chibios.tools.eclipse.config_1.0.3.jar index 3ecd62c5dd47fa896815875c8b145913e2d2869f..76a03b3c311180e8777ba342bb32b997073f320a 100644 GIT binary patch delta 8867 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 delta 4525 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