diff options
| author | Joel Challis <[email protected]> | 2020-02-13 19:39:22 +0000 | 
|---|---|---|
| committer | GitHub <[email protected]> | 2020-02-13 19:39:22 +0000 | 
| commit | 014ad1d747d1688dc12a690282deae00a8efb88c (patch) | |
| tree | 6907527114244b0c79da7847451a5c2d85853e56 | |
| parent | 1a77abfe64f08a0b72f4f328418b4f4dc138ac8d (diff) | |
| download | qmk_firmware-014ad1d747d1688dc12a690282deae00a8efb88c.tar.gz qmk_firmware-014ad1d747d1688dc12a690282deae00a8efb88c.zip | |
Fix RESET keycode on some STM32F072 keyboards (#8134)
* Add f072 board files with 'enter_bootloader_mode_if_requested' support
* rename default f072 board file to GENERIC_STM32_F072XB
* Remove board files
* Add bootloader def
* Update generic f072 board paths
* Revert wrong deletion
| -rw-r--r-- | drivers/boards/GENERIC_STM32_F072XB/board.c | 109 | ||||
| -rw-r--r-- | drivers/boards/GENERIC_STM32_F072XB/board.h | 923 | ||||
| -rw-r--r-- | drivers/boards/GENERIC_STM32_F072XB/board.mk | 5 | ||||
| -rw-r--r-- | drivers/boards/GENERIC_STM32_F072XB/bootloader_defs.h (renamed from keyboards/handwired/ck4x4/bootloader_defs.h) | 0 | ||||
| -rw-r--r-- | drivers/boards/GENERIC_STM32_F072XB/cfg/board.chcfg | 703 | ||||
| -rw-r--r-- | keyboards/at_at/660m/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/candybar/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/cannonkeys/an_c/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/cannonkeys/chimera65/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/cannonkeys/instant60/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/cannonkeys/iron165/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/cannonkeys/satisfaction75/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/cannonkeys/savage65/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/cannonkeys/tmov2/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/projectkb/alice/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/xiaomi/mk02/rules.mk | 1 | ||||
| -rw-r--r-- | quantum/mcu_selection.mk | 2 | 
17 files changed, 1752 insertions, 1 deletions
| diff --git a/drivers/boards/GENERIC_STM32_F072XB/board.c b/drivers/boards/GENERIC_STM32_F072XB/board.c new file mode 100644 index 0000000000..2ad6d744be --- /dev/null +++ b/drivers/boards/GENERIC_STM32_F072XB/board.c @@ -0,0 +1,109 @@ +/* +    ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio + +    Licensed under the Apache License, Version 2.0 (the "License"); +    you may not use this file except in compliance with the License. +    You may obtain a copy of the License at + +        http://www.apache.org/licenses/LICENSE-2.0 + +    Unless required by applicable law or agreed to in writing, software +    distributed under the License is distributed on an "AS IS" BASIS, +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +    See the License for the specific language governing permissions and +    limitations under the License. +*/ + +/* + * This file has been automatically generated using ChibiStudio board + * generator plugin. Do not edit manually. + */ + +#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. + */ +const PALConfig pal_default_config = { +#if STM32_HAS_GPIOA +  {VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR, +   VAL_GPIOA_ODR,   VAL_GPIOA_AFRL,   VAL_GPIOA_AFRH}, +#endif +#if STM32_HAS_GPIOB +  {VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR, +   VAL_GPIOB_ODR,   VAL_GPIOB_AFRL,   VAL_GPIOB_AFRH}, +#endif +#if STM32_HAS_GPIOC +  {VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR, +   VAL_GPIOC_ODR,   VAL_GPIOC_AFRL,   VAL_GPIOC_AFRH}, +#endif +#if STM32_HAS_GPIOD +  {VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR, +   VAL_GPIOD_ODR,   VAL_GPIOD_AFRL,   VAL_GPIOD_AFRH}, +#endif +#if STM32_HAS_GPIOE +  {VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR, +   VAL_GPIOE_ODR,   VAL_GPIOE_AFRL,   VAL_GPIOE_AFRH}, +#endif +#if STM32_HAS_GPIOF +  {VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR, +   VAL_GPIOF_ODR,   VAL_GPIOF_AFRL,   VAL_GPIOF_AFRH}, +#endif +#if STM32_HAS_GPIOG +  {VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR, +   VAL_GPIOG_ODR,   VAL_GPIOG_AFRL,   VAL_GPIOG_AFRH}, +#endif +#if STM32_HAS_GPIOH +  {VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR, +   VAL_GPIOH_ODR,   VAL_GPIOH_AFRL,   VAL_GPIOH_AFRH}, +#endif +#if STM32_HAS_GPIOI +  {VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR, +   VAL_GPIOI_ODR,   VAL_GPIOI_AFRL,   VAL_GPIOI_AFRH} +#endif +}; +#endif + +__attribute__((weak)) void enter_bootloader_mode_if_requested(void) {} + +/** + * @brief   Early initialization code. + * @details This initialization must be performed just after stack setup + *          and before any other initialization. + */ +void __early_init(void) { +  enter_bootloader_mode_if_requested(); +  stm32_clock_init(); +} + +#if HAL_USE_MMC_SPI || defined(__DOXYGEN__) +/** + * @brief   MMC_SPI card detection. + */ +bool mmc_lld_is_card_inserted(MMCDriver *mmcp) { + +  (void)mmcp; +  /* TODO: Fill the implementation.*/ +  return true; +} + +/** + * @brief   MMC_SPI card write protection detection. + */ +bool 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/drivers/boards/GENERIC_STM32_F072XB/board.h b/drivers/boards/GENERIC_STM32_F072XB/board.h new file mode 100644 index 0000000000..379e690a64 --- /dev/null +++ b/drivers/boards/GENERIC_STM32_F072XB/board.h @@ -0,0 +1,923 @@ +/* +    ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio + +    Licensed under the Apache License, Version 2.0 (the "License"); +    you may not use this file except in compliance with the License. +    You may obtain a copy of the License at + +        http://www.apache.org/licenses/LICENSE-2.0 + +    Unless required by applicable law or agreed to in writing, software +    distributed under the License is distributed on an "AS IS" BASIS, +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +    See the License for the specific language governing permissions and +    limitations under the License. +*/ + +/* + * This file has been automatically generated using ChibiStudio board + * generator plugin. Do not edit manually. + */ + +#ifndef BOARD_H +#define BOARD_H + +/* + * Setup for Generic STM32_F072 Board + */ + +/* + * Board identifier. + */ +#define BOARD_GENERIC_STM32_F072XB +#define BOARD_NAME "STM32_F072" + +/* + * Board oscillators-related settings. + * NOTE: LSE not fitted. + * NOTE: HSE not fitted. + */ +#if !defined(STM32_LSECLK) +#define STM32_LSECLK                0U +#endif + +#define STM32_LSEDRV                (3U << 3U) + +#if !defined(STM32_HSECLK) +#define STM32_HSECLK                0U +#endif + +#define STM32_HSE_BYPASS + +/* + * MCU type as defined in the ST header. + */ +#define STM32F072xB + +/* + * IO pins assignments. + */ +#define GPIOA_BUTTON                0U +#define GPIOA_PIN1                  1U +#define GPIOA_PIN2                  2U +#define GPIOA_PIN3                  3U +#define GPIOA_PIN4                  4U +#define GPIOA_PIN5                  5U +#define GPIOA_PIN6                  6U +#define GPIOA_PIN7                  7U +#define GPIOA_PIN8                  8U +#define GPIOA_PIN9                  9U +#define GPIOA_PIN10                 10U +#define GPIOA_USB_DM                11U +#define GPIOA_USB_DP                12U +#define GPIOA_SWDIO                 13U +#define GPIOA_SWCLK                 14U +#define GPIOA_PIN15                 15U + +#define GPIOB_PIN0                  0U +#define GPIOB_PIN1                  1U +#define GPIOB_PIN2                  2U +#define GPIOB_PIN3                  3U +#define GPIOB_PIN4                  4U +#define GPIOB_PIN5                  5U +#define GPIOB_PIN6                  6U +#define GPIOB_PIN7                  7U +#define GPIOB_PIN8                  8U +#define GPIOB_PIN9                  9U +#define GPIOB_PIN10                 10U +#define GPIOB_PIN11                 11U +#define GPIOB_PIN12                 12U +#define GPIOB_SPI2_SCK              13U +#define GPIOB_SPI2_MISO             14U +#define GPIOB_SPI2_MOSI             15U + +#define GPIOC_MEMS_CS               0U +#define GPIOC_PIN1                  1U +#define GPIOC_PIN2                  2U +#define GPIOC_PIN3                  3U +#define GPIOC_PIN4                  4U +#define GPIOC_PIN5                  5U +#define GPIOC_LED_RED               6U +#define GPIOC_LED_BLUE              7U +#define GPIOC_LED_ORANGE            8U +#define GPIOC_LED_GREEN             9U +#define GPIOC_PIN10                 10U +#define GPIOC_PIN11                 11U +#define GPIOC_PIN12                 12U +#define GPIOC_PIN13                 13U +#define GPIOC_OSC32_IN              14U +#define GPIOC_OSC32_OUT             15U + +#define GPIOD_PIN0                  0U +#define GPIOD_PIN1                  1U +#define GPIOD_PIN2                  2U +#define GPIOD_PIN3                  3U +#define GPIOD_PIN4                  4U +#define GPIOD_PIN5                  5U +#define GPIOD_PIN6                  6U +#define GPIOD_PIN7                  7U +#define GPIOD_PIN8                  8U +#define GPIOD_PIN9                  9U +#define GPIOD_PIN10                 10U +#define GPIOD_PIN11                 11U +#define GPIOD_PIN12                 12U +#define GPIOD_PIN13                 13U +#define GPIOD_PIN14                 14U +#define GPIOD_PIN15                 15U + +#define GPIOE_PIN0                  0U +#define GPIOE_PIN1                  1U +#define GPIOE_PIN2                  2U +#define GPIOE_PIN3                  3U +#define GPIOE_PIN4                  4U +#define GPIOE_PIN5                  5U +#define GPIOE_PIN6                  6U +#define GPIOE_PIN7                  7U +#define GPIOE_PIN8                  8U +#define GPIOE_PIN9                  9U +#define GPIOE_PIN10                 10U +#define GPIOE_PIN11                 11U +#define GPIOE_PIN12                 12U +#define GPIOE_PIN13                 13U +#define GPIOE_PIN14                 14U +#define GPIOE_PIN15                 15U + +#define GPIOF_OSC_IN                0U +#define GPIOF_OSC_OUT               1U +#define GPIOF_PIN2                  2U +#define GPIOF_PIN3                  3U +#define GPIOF_PIN4                  4U +#define GPIOF_PIN5                  5U +#define GPIOF_PIN6                  6U +#define GPIOF_PIN7                  7U +#define GPIOF_PIN8                  8U +#define GPIOF_PIN9                  9U +#define GPIOF_PIN10                 10U +#define GPIOF_PIN11                 11U +#define GPIOF_PIN12                 12U +#define GPIOF_PIN13                 13U +#define GPIOF_PIN14                 14U +#define GPIOF_PIN15                 15U + +/* + * IO lines assignments. + */ +#define LINE_BUTTON                 PAL_LINE(GPIOA, 0U) +#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_SPI2_SCK               PAL_LINE(GPIOB, 13U) +#define LINE_SPI2_MISO              PAL_LINE(GPIOB, 14U) +#define LINE_SPI2_MOSI              PAL_LINE(GPIOB, 15U) + +#define LINE_MEMS_CS                PAL_LINE(GPIOC, 0U) +#define LINE_LED_RED                PAL_LINE(GPIOC, 6U) +#define LINE_LED_BLUE               PAL_LINE(GPIOC, 7U) +#define LINE_LED_ORANGE             PAL_LINE(GPIOC, 8U) +#define LINE_LED_GREEN              PAL_LINE(GPIOC, 9U) +#define LINE_OSC32_IN               PAL_LINE(GPIOC, 14U) +#define LINE_OSC32_OUT              PAL_LINE(GPIOC, 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. + */ +#define PIN_MODE_INPUT(n)           (0U << ((n) * 2U)) +#define PIN_MODE_OUTPUT(n)          (1U << ((n) * 2U)) +#define PIN_MODE_ALTERNATE(n)       (2U << ((n) * 2U)) +#define PIN_MODE_ANALOG(n)          (3U << ((n) * 2U)) +#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_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)) +#define PIN_AFIO_AF(n, v)           ((v) << (((n) % 8U) * 4U)) + +/* + * 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 - USB_DM                    (input floating). + * PA12 - USB_DP                    (input floating). + * PA13 - SWDIO                     (alternate 0). + * PA14 - SWCLK                     (alternate 0). + * PA15 - PIN15                     (input pullup). + */ +#define VAL_GPIOA_MODER             (PIN_MODE_INPUT(GPIOA_BUTTON) |         \ +                                     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_USB_DM) |         \ +                                     PIN_MODE_INPUT(GPIOA_USB_DP) |         \ +                                     PIN_MODE_ALTERNATE(GPIOA_SWDIO) |      \ +                                     PIN_MODE_ALTERNATE(GPIOA_SWCLK) |      \ +                                     PIN_MODE_INPUT(GPIOA_PIN15)) +#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_USB_DM) |     \ +                                     PIN_OTYPE_PUSHPULL(GPIOA_USB_DP) |     \ +                                     PIN_OTYPE_PUSHPULL(GPIOA_SWDIO) |      \ +                                     PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) |      \ +                                     PIN_OTYPE_PUSHPULL(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_VERYLOW(GPIOA_PIN5) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOA_PIN6) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOA_PIN7) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOA_PIN8) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOA_PIN9) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOA_PIN10) |      \ +                                     PIN_OSPEED_VERYLOW(GPIOA_USB_DM) |     \ +                                     PIN_OSPEED_VERYLOW(GPIOA_USB_DP) |     \ +                                     PIN_OSPEED_HIGH(GPIOA_SWDIO) |         \ +                                     PIN_OSPEED_HIGH(GPIOA_SWCLK) |         \ +                                     PIN_OSPEED_HIGH(GPIOA_PIN15)) +#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_FLOATING(GPIOA_USB_DM) |     \ +                                     PIN_PUPDR_FLOATING(GPIOA_USB_DP) |     \ +                                     PIN_PUPDR_PULLUP(GPIOA_SWDIO) |        \ +                                     PIN_PUPDR_PULLDOWN(GPIOA_SWCLK) |      \ +                                     PIN_PUPDR_PULLUP(GPIOA_PIN15)) +#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_USB_DM) |           \ +                                     PIN_ODR_HIGH(GPIOA_USB_DP) |           \ +                                     PIN_ODR_HIGH(GPIOA_SWDIO) |            \ +                                     PIN_ODR_HIGH(GPIOA_SWCLK) |            \ +                                     PIN_ODR_HIGH(GPIOA_PIN15)) +#define VAL_GPIOA_AFRL              (PIN_AFIO_AF(GPIOA_BUTTON, 0U) |        \ +                                     PIN_AFIO_AF(GPIOA_PIN1, 0U) |          \ +                                     PIN_AFIO_AF(GPIOA_PIN2, 0U) |          \ +                                     PIN_AFIO_AF(GPIOA_PIN3, 0U) |          \ +                                     PIN_AFIO_AF(GPIOA_PIN4, 0U) |          \ +                                     PIN_AFIO_AF(GPIOA_PIN5, 0U) |          \ +                                     PIN_AFIO_AF(GPIOA_PIN6, 0U) |          \ +                                     PIN_AFIO_AF(GPIOA_PIN7, 0U)) +#define VAL_GPIOA_AFRH              (PIN_AFIO_AF(GPIOA_PIN8, 0U) |          \ +                                     PIN_AFIO_AF(GPIOA_PIN9, 0U) |          \ +                                     PIN_AFIO_AF(GPIOA_PIN10, 0U) |         \ +                                     PIN_AFIO_AF(GPIOA_USB_DM, 0U) |        \ +                                     PIN_AFIO_AF(GPIOA_USB_DP, 0U) |        \ +                                     PIN_AFIO_AF(GPIOA_SWDIO, 0U) |         \ +                                     PIN_AFIO_AF(GPIOA_SWCLK, 0U) |         \ +                                     PIN_AFIO_AF(GPIOA_PIN15, 0U)) + +/* + * GPIOB setup: + * + * PB0  - PIN0                      (input pullup). + * PB1  - PIN1                      (input pullup). + * PB2  - PIN2                      (input pullup). + * PB3  - PIN3                      (input pullup). + * PB4  - PIN4                      (input pullup). + * PB5  - PIN5                      (input pullup). + * PB6  - PIN6                      (input pullup). + * PB7  - PIN7                      (input pullup). + * PB8  - PIN8                      (input pullup). + * PB9  - PIN9                      (input pullup). + * PB10 - PIN10                     (input pullup). + * PB11 - PIN11                     (input pullup). + * PB12 - PIN12                     (input pullup). + * PB13 - SPI2_SCK                  (alternate 0). + * PB14 - SPI2_MISO                 (alternate 0). + * PB15 - SPI2_MOSI                 (alternate 0). + */ +#define VAL_GPIOB_MODER             (PIN_MODE_INPUT(GPIOB_PIN0) |           \ +                                     PIN_MODE_INPUT(GPIOB_PIN1) |           \ +                                     PIN_MODE_INPUT(GPIOB_PIN2) |           \ +                                     PIN_MODE_INPUT(GPIOB_PIN3) |           \ +                                     PIN_MODE_INPUT(GPIOB_PIN4) |           \ +                                     PIN_MODE_INPUT(GPIOB_PIN5) |           \ +                                     PIN_MODE_INPUT(GPIOB_PIN6) |           \ +                                     PIN_MODE_INPUT(GPIOB_PIN7) |           \ +                                     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_ALTERNATE(GPIOB_SPI2_SCK) |   \ +                                     PIN_MODE_ALTERNATE(GPIOB_SPI2_MISO) |  \ +                                     PIN_MODE_ALTERNATE(GPIOB_SPI2_MOSI)) +#define VAL_GPIOB_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOB_PIN0) |       \ +                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN1) |       \ +                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN2) |       \ +                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN3) |       \ +                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN4) |       \ +                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN5) |       \ +                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN6) |       \ +                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN7) |       \ +                                     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_SPI2_SCK) |   \ +                                     PIN_OTYPE_PUSHPULL(GPIOB_SPI2_MISO) |  \ +                                     PIN_OTYPE_PUSHPULL(GPIOB_SPI2_MOSI)) +#define VAL_GPIOB_OSPEEDR           (PIN_OSPEED_VERYLOW(GPIOB_PIN0) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOB_PIN1) |       \ +                                     PIN_OSPEED_HIGH(GPIOB_PIN2) |          \ +                                     PIN_OSPEED_HIGH(GPIOB_PIN3) |          \ +                                     PIN_OSPEED_HIGH(GPIOB_PIN4) |          \ +                                     PIN_OSPEED_VERYLOW(GPIOB_PIN5) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOB_PIN6) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOB_PIN7) |       \ +                                     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_SPI2_SCK) |   \ +                                     PIN_OSPEED_VERYLOW(GPIOB_SPI2_MISO) |  \ +                                     PIN_OSPEED_VERYLOW(GPIOB_SPI2_MOSI)) +#define VAL_GPIOB_PUPDR             (PIN_PUPDR_PULLUP(GPIOB_PIN0) |         \ +                                     PIN_PUPDR_PULLUP(GPIOB_PIN1) |         \ +                                     PIN_PUPDR_PULLUP(GPIOB_PIN2) |         \ +                                     PIN_PUPDR_PULLUP(GPIOB_PIN3) |         \ +                                     PIN_PUPDR_PULLUP(GPIOB_PIN4) |         \ +                                     PIN_PUPDR_PULLUP(GPIOB_PIN5) |         \ +                                     PIN_PUPDR_PULLUP(GPIOB_PIN6) |         \ +                                     PIN_PUPDR_PULLUP(GPIOB_PIN7) |         \ +                                     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_FLOATING(GPIOB_SPI2_SCK) |   \ +                                     PIN_PUPDR_FLOATING(GPIOB_SPI2_MISO) |  \ +                                     PIN_PUPDR_FLOATING(GPIOB_SPI2_MOSI)) +#define VAL_GPIOB_ODR               (PIN_ODR_HIGH(GPIOB_PIN0) |             \ +                                     PIN_ODR_HIGH(GPIOB_PIN1) |             \ +                                     PIN_ODR_HIGH(GPIOB_PIN2) |             \ +                                     PIN_ODR_HIGH(GPIOB_PIN3) |             \ +                                     PIN_ODR_HIGH(GPIOB_PIN4) |             \ +                                     PIN_ODR_HIGH(GPIOB_PIN5) |             \ +                                     PIN_ODR_HIGH(GPIOB_PIN6) |             \ +                                     PIN_ODR_HIGH(GPIOB_PIN7) |             \ +                                     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_SPI2_SCK) |         \ +                                     PIN_ODR_HIGH(GPIOB_SPI2_MISO) |        \ +                                     PIN_ODR_HIGH(GPIOB_SPI2_MOSI)) +#define VAL_GPIOB_AFRL              (PIN_AFIO_AF(GPIOB_PIN0, 0U) |          \ +                                     PIN_AFIO_AF(GPIOB_PIN1, 0U) |          \ +                                     PIN_AFIO_AF(GPIOB_PIN2, 0U) |          \ +                                     PIN_AFIO_AF(GPIOB_PIN3, 0U) |          \ +                                     PIN_AFIO_AF(GPIOB_PIN4, 0U) |          \ +                                     PIN_AFIO_AF(GPIOB_PIN5, 0U) |          \ +                                     PIN_AFIO_AF(GPIOB_PIN6, 0U) |          \ +                                     PIN_AFIO_AF(GPIOB_PIN7, 0U)) +#define VAL_GPIOB_AFRH              (PIN_AFIO_AF(GPIOB_PIN8, 0U) |          \ +                                     PIN_AFIO_AF(GPIOB_PIN9, 0U) |          \ +                                     PIN_AFIO_AF(GPIOB_PIN10, 0U) |         \ +                                     PIN_AFIO_AF(GPIOB_PIN11, 0U) |         \ +                                     PIN_AFIO_AF(GPIOB_PIN12, 0U) |         \ +                                     PIN_AFIO_AF(GPIOB_SPI2_SCK, 0U) |      \ +                                     PIN_AFIO_AF(GPIOB_SPI2_MISO, 0U) |     \ +                                     PIN_AFIO_AF(GPIOB_SPI2_MOSI, 0U)) + +/* + * GPIOC setup: + * + * PC0  - MEMS_CS                   (output pushpull maximum). + * PC1  - PIN1                      (input pullup). + * PC2  - PIN2                      (input pullup). + * PC3  - PIN3                      (input pullup). + * PC4  - PIN4                      (input pullup). + * PC5  - PIN5                      (input pullup). + * PC6  - LED_RED                   (output pushpull maximum). + * PC7  - LED_BLUE                  (output pushpull maximum). + * PC8  - LED_ORANGE                (output pushpull maximum). + * PC9  - LED_GREEN                 (output pushpull maximum). + * 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_OUTPUT(GPIOC_MEMS_CS) |       \ +                                     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_OUTPUT(GPIOC_LED_RED) |       \ +                                     PIN_MODE_OUTPUT(GPIOC_LED_BLUE) |      \ +                                     PIN_MODE_OUTPUT(GPIOC_LED_ORANGE) |    \ +                                     PIN_MODE_OUTPUT(GPIOC_LED_GREEN) |     \ +                                     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_MEMS_CS) |    \ +                                     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_LED_RED) |    \ +                                     PIN_OTYPE_PUSHPULL(GPIOC_LED_BLUE) |   \ +                                     PIN_OTYPE_PUSHPULL(GPIOC_LED_ORANGE) | \ +                                     PIN_OTYPE_PUSHPULL(GPIOC_LED_GREEN) |  \ +                                     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_HIGH(GPIOC_MEMS_CS) |       \ +                                     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_HIGH(GPIOC_LED_RED) |       \ +                                     PIN_OSPEED_HIGH(GPIOC_LED_BLUE) |      \ +                                     PIN_OSPEED_HIGH(GPIOC_LED_ORANGE) |    \ +                                     PIN_OSPEED_HIGH(GPIOC_LED_GREEN) |     \ +                                     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_FLOATING(GPIOC_MEMS_CS) |    \ +                                     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_FLOATING(GPIOC_LED_RED) |    \ +                                     PIN_PUPDR_FLOATING(GPIOC_LED_BLUE) |   \ +                                     PIN_PUPDR_FLOATING(GPIOC_LED_ORANGE) | \ +                                     PIN_PUPDR_FLOATING(GPIOC_LED_GREEN) |  \ +                                     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_MEMS_CS) |          \ +                                     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_LOW(GPIOC_LED_RED) |           \ +                                     PIN_ODR_LOW(GPIOC_LED_BLUE) |          \ +                                     PIN_ODR_LOW(GPIOC_LED_ORANGE) |        \ +                                     PIN_ODR_LOW(GPIOC_LED_GREEN) |         \ +                                     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_MEMS_CS, 0U) |       \ +                                     PIN_AFIO_AF(GPIOC_PIN1, 0U) |          \ +                                     PIN_AFIO_AF(GPIOC_PIN2, 0U) |          \ +                                     PIN_AFIO_AF(GPIOC_PIN3, 0U) |          \ +                                     PIN_AFIO_AF(GPIOC_PIN4, 0U) |          \ +                                     PIN_AFIO_AF(GPIOC_PIN5, 0U) |          \ +                                     PIN_AFIO_AF(GPIOC_LED_RED, 0U) |       \ +                                     PIN_AFIO_AF(GPIOC_LED_BLUE, 0U)) +#define VAL_GPIOC_AFRH              (PIN_AFIO_AF(GPIOC_LED_ORANGE, 0U) |    \ +                                     PIN_AFIO_AF(GPIOC_LED_GREEN, 0U) |     \ +                                     PIN_AFIO_AF(GPIOC_PIN10, 0U) |         \ +                                     PIN_AFIO_AF(GPIOC_PIN11, 0U) |         \ +                                     PIN_AFIO_AF(GPIOC_PIN12, 0U) |         \ +                                     PIN_AFIO_AF(GPIOC_PIN13, 0U) |         \ +                                     PIN_AFIO_AF(GPIOC_OSC32_IN, 0U) |      \ +                                     PIN_AFIO_AF(GPIOC_OSC32_OUT, 0U)) + +/* + * 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(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_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) |         \ +                                     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, 0U) |          \ +                                     PIN_AFIO_AF(GPIOD_PIN1, 0U) |          \ +                                     PIN_AFIO_AF(GPIOD_PIN2, 0U) |          \ +                                     PIN_AFIO_AF(GPIOD_PIN3, 0U) |          \ +                                     PIN_AFIO_AF(GPIOD_PIN4, 0U) |          \ +                                     PIN_AFIO_AF(GPIOD_PIN5, 0U) |          \ +                                     PIN_AFIO_AF(GPIOD_PIN6, 0U) |          \ +                                     PIN_AFIO_AF(GPIOD_PIN7, 0U)) +#define VAL_GPIOD_AFRH              (PIN_AFIO_AF(GPIOD_PIN8, 0U) |          \ +                                     PIN_AFIO_AF(GPIOD_PIN9, 0U) |          \ +                                     PIN_AFIO_AF(GPIOD_PIN10, 0U) |         \ +                                     PIN_AFIO_AF(GPIOD_PIN11, 0U) |         \ +                                     PIN_AFIO_AF(GPIOD_PIN12, 0U) |         \ +                                     PIN_AFIO_AF(GPIOD_PIN13, 0U) |         \ +                                     PIN_AFIO_AF(GPIOD_PIN14, 0U) |         \ +                                     PIN_AFIO_AF(GPIOD_PIN15, 0U)) + +/* + * 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(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_VERYLOW(GPIOE_PIN0) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOE_PIN1) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOE_PIN2) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOE_PIN3) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOE_PIN4) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOE_PIN5) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOE_PIN6) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOE_PIN7) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOE_PIN8) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOE_PIN9) |       \ +                                     PIN_OSPEED_VERYLOW(GPIOE_PIN10) |      \ +                                     PIN_OSPEED_VERYLOW(GPIOE_PIN11) |      \ +                                     PIN_OSPEED_VERYLOW(GPIOE_PIN12) |      \ +                                     PIN_OSPEED_VERYLOW(GPIOE_PIN13) |      \ +                                     PIN_OSPEED_VERYLOW(GPIOE_PIN14) |      \ +                                     PIN_OSPEED_VERYLOW(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, 0U) |          \ +                                     PIN_AFIO_AF(GPIOE_PIN1, 0U) |          \ +                                     PIN_AFIO_AF(GPIOE_PIN2, 0U) |          \ +                                     PIN_AFIO_AF(GPIOE_PIN3, 0U) |          \ +                                     PIN_AFIO_AF(GPIOE_PIN4, 0U) |          \ +                                     PIN_AFIO_AF(GPIOE_PIN5, 0U) |          \ +                                     PIN_AFIO_AF(GPIOE_PIN6, 0U) |          \ +                                     PIN_AFIO_AF(GPIOE_PIN7, 0U)) +#define VAL_GPIOE_AFRH              (PIN_AFIO_AF(GPIOE_PIN8, 0U) |          \ +                                     PIN_AFIO_AF(GPIOE_PIN9, 0U) |          \ +                                     PIN_AFIO_AF(GPIOE_PIN10, 0U) |         \ +                                     PIN_AFIO_AF(GPIOE_PIN11, 0U) |         \ +                                     PIN_AFIO_AF(GPIOE_PIN12, 0U) |         \ +                                     PIN_AFIO_AF(GPIOE_PIN13, 0U) |         \ +                                     PIN_AFIO_AF(GPIOE_PIN14, 0U) |         \ +                                     PIN_AFIO_AF(GPIOE_PIN15, 0U)) + +/* + * GPIOF setup: + * + * PF0  - OSC_IN                    (input floating). + * PF1  - OSC_OUT                   (input floating). + * PF2  - PIN2                      (input pullup). + * PF3  - PIN3                      (input pullup). + * PF4  - PIN4                      (input pullup). + * PF5  - PIN5                      (input pullup). + * PF6  - PIN6                      (input pullup). + * PF7  - PIN7                      (input pullup). + * PF8  - PIN8                      (input pullup). + * PF9  - PIN9                      (input pullup). + * PF10 - PIN10                     (input pullup). + * PF11 - PIN11                     (input pullup). + * PF12 - PIN12                     (input pullup). + * PF13 - PIN13                     (input pullup). + * PF14 - PIN14                     (input pullup). + * PF15 - PIN15                     (input pullup). + */ +#define VAL_GPIOF_MODER             (PIN_MODE_INPUT(GPIOF_OSC_IN) |         \ +                                     PIN_MODE_INPUT(GPIOF_OSC_OUT) |        \ +                                     PIN_MODE_INPUT(GPIOF_PIN2) |           \ +                                     PIN_MODE_INPUT(GPIOF_PIN3) |           \ +                                     PIN_MODE_INPUT(GPIOF_PIN4) |           \ +                                     PIN_MODE_INPUT(GPIOF_PIN5) |           \ +                                     PIN_MODE_INPUT(GPIOF_PIN6) |           \ +                                     PIN_MODE_INPUT(GPIOF_PIN7) |           \ +                                     PIN_MODE_INPUT(GPIOF_PIN8) |           \ +                                     PIN_MODE_INPUT(GPIOF_PIN9) |           \ +                                     PIN_MODE_INPUT(GPIOF_PIN10) |          \ +                                     PIN_MODE_INPUT(GPIOF_PIN11) |          \ +                                     PIN_MODE_INPUT(GPIOF_PIN12) |          \ +                                     PIN_MODE_INPUT(GPIOF_PIN13) |          \ +                                     PIN_MODE_INPUT(GPIOF_PIN14) |          \ +                                     PIN_MODE_INPUT(GPIOF_PIN15)) +#define VAL_GPIOF_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOF_OSC_IN) |     \ +                                     PIN_OTYPE_PUSHPULL(GPIOF_OSC_OUT) |    \ +                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN2) |       \ +                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN3) |       \ +                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN4) |       \ +                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN5) |       \ +                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN6) |       \ +                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN7) |       \ +                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN8) |       \ +                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN9) |       \ +                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN10) |      \ +                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN11) |      \ +                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN12) |      \ +                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN13) |      \ +                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN14) |      \ +                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN15)) +#define VAL_GPIOF_OSPEEDR           (PIN_OSPEED_VERYLOW(GPIOF_OSC_IN) |     \ +                                     PIN_OSPEED_VERYLOW(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) |         \ +                                     PIN_PUPDR_PULLUP(GPIOF_PIN3) |         \ +                                     PIN_PUPDR_PULLUP(GPIOF_PIN4) |         \ +                                     PIN_PUPDR_PULLUP(GPIOF_PIN5) |         \ +                                     PIN_PUPDR_PULLUP(GPIOF_PIN6) |         \ +                                     PIN_PUPDR_PULLUP(GPIOF_PIN7) |         \ +                                     PIN_PUPDR_PULLUP(GPIOF_PIN8) |         \ +                                     PIN_PUPDR_PULLUP(GPIOF_PIN9) |         \ +                                     PIN_PUPDR_PULLUP(GPIOF_PIN10) |        \ +                                     PIN_PUPDR_PULLUP(GPIOF_PIN11) |        \ +                                     PIN_PUPDR_PULLUP(GPIOF_PIN12) |        \ +                                     PIN_PUPDR_PULLUP(GPIOF_PIN13) |        \ +                                     PIN_PUPDR_PULLUP(GPIOF_PIN14) |        \ +                                     PIN_PUPDR_PULLUP(GPIOF_PIN15)) +#define VAL_GPIOF_ODR               (PIN_ODR_HIGH(GPIOF_OSC_IN) |           \ +                                     PIN_ODR_HIGH(GPIOF_OSC_OUT) |          \ +                                     PIN_ODR_HIGH(GPIOF_PIN2) |             \ +                                     PIN_ODR_HIGH(GPIOF_PIN3) |             \ +                                     PIN_ODR_HIGH(GPIOF_PIN4) |             \ +                                     PIN_ODR_HIGH(GPIOF_PIN5) |             \ +                                     PIN_ODR_HIGH(GPIOF_PIN6) |             \ +                                     PIN_ODR_HIGH(GPIOF_PIN7) |             \ +                                     PIN_ODR_HIGH(GPIOF_PIN8) |             \ +                                     PIN_ODR_HIGH(GPIOF_PIN9) |             \ +                                     PIN_ODR_HIGH(GPIOF_PIN10) |            \ +                                     PIN_ODR_HIGH(GPIOF_PIN11) |            \ +                                     PIN_ODR_HIGH(GPIOF_PIN12) |            \ +                                     PIN_ODR_HIGH(GPIOF_PIN13) |            \ +                                     PIN_ODR_HIGH(GPIOF_PIN14) |            \ +                                     PIN_ODR_HIGH(GPIOF_PIN15)) +#define VAL_GPIOF_AFRL              (PIN_AFIO_AF(GPIOF_OSC_IN, 0U) |        \ +                                     PIN_AFIO_AF(GPIOF_OSC_OUT, 0U) |       \ +                                     PIN_AFIO_AF(GPIOF_PIN2, 0U) |          \ +                                     PIN_AFIO_AF(GPIOF_PIN3, 0U) |          \ +                                     PIN_AFIO_AF(GPIOF_PIN4, 0U) |          \ +                                     PIN_AFIO_AF(GPIOF_PIN5, 0U) |          \ +                                     PIN_AFIO_AF(GPIOF_PIN6, 0U) |          \ +                                     PIN_AFIO_AF(GPIOF_PIN7, 0U)) +#define VAL_GPIOF_AFRH              (PIN_AFIO_AF(GPIOF_PIN8, 0U) |          \ +                                     PIN_AFIO_AF(GPIOF_PIN9, 0U) |          \ +                                     PIN_AFIO_AF(GPIOF_PIN10, 0U) |         \ +                                     PIN_AFIO_AF(GPIOF_PIN11, 0U) |         \ +                                     PIN_AFIO_AF(GPIOF_PIN12, 0U) |         \ +                                     PIN_AFIO_AF(GPIOF_PIN13, 0U) |         \ +                                     PIN_AFIO_AF(GPIOF_PIN14, 0U) |         \ +                                     PIN_AFIO_AF(GPIOF_PIN15, 0U)) + + +#if !defined(_FROM_ASM_) +#ifdef __cplusplus +extern "C" { +#endif +  void boardInit(void); +#ifdef __cplusplus +} +#endif +#endif /* _FROM_ASM_ */ + +#endif /* BOARD_H */ diff --git a/drivers/boards/GENERIC_STM32_F072XB/board.mk b/drivers/boards/GENERIC_STM32_F072XB/board.mk new file mode 100644 index 0000000000..c136f705a6 --- /dev/null +++ b/drivers/boards/GENERIC_STM32_F072XB/board.mk @@ -0,0 +1,5 @@ +# List of all the board related files. +BOARDSRC = $(BOARD_PATH)/boards/GENERIC_STM32_F072XB/board.c + +# Required include directories +BOARDINC = $(BOARD_PATH)/boards/GENERIC_STM32_F072XB diff --git a/keyboards/handwired/ck4x4/bootloader_defs.h b/drivers/boards/GENERIC_STM32_F072XB/bootloader_defs.h index 02c48c4e6d..02c48c4e6d 100644 --- a/keyboards/handwired/ck4x4/bootloader_defs.h +++ b/drivers/boards/GENERIC_STM32_F072XB/bootloader_defs.h diff --git a/drivers/boards/GENERIC_STM32_F072XB/cfg/board.chcfg b/drivers/boards/GENERIC_STM32_F072XB/cfg/board.chcfg new file mode 100644 index 0000000000..9c7cf4fd76 --- /dev/null +++ b/drivers/boards/GENERIC_STM32_F072XB/cfg/board.chcfg @@ -0,0 +1,703 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- STM32F0xx board Template --> +<board +  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +  xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/boards/stm32f0xx_board.xsd"> +  <configuration_settings> +    <templates_path>resources/gencfg/processors/boards/stm32f0xx/templates</templates_path> +    <output_path>..</output_path> +    <hal_version>3.0.x</hal_version> +  </configuration_settings> +  <board_name>ST STM32F072B-Discovery</board_name> +  <board_id>ST_STM32F072B_DISCOVERY</board_id> +  <board_functions></board_functions> +  <subtype>STM32F072xB</subtype> +  <clocks HSEFrequency="0" HSEBypass="true" LSEFrequency="0" +  	LSEBypass="false" LSEDrive="3 High Drive (default)" /> +  <ports> +    <GPIOA> +      <pin0 +        ID="BUTTON" +        Type="PushPull" +        Speed="Minimum" +        Resistor="Floating" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin1 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin2 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin3 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin4 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin5 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin6 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin7 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin8 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin9 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin10 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin11 +        ID="USB_DM" +        Type="PushPull" +        Speed="Minimum" +        Resistor="Floating" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin12 +        ID="USB_DP" +        Type="PushPull" +        Speed="Minimum" +        Resistor="Floating" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin13 +        ID="SWDIO" +        Type="PushPull" +        Speed="Maximum" +        Resistor="PullUp" +        Level="High" +        Mode="Alternate" +        Alternate="0" /> +      <pin14 +        ID="SWCLK" +        Type="PushPull" +        Speed="Maximum" +        Resistor="PullDown" +        Level="High" +        Mode="Alternate" +        Alternate="0" /> +      <pin15 +        ID="" +        Type="PushPull" +        Speed="Maximum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +    </GPIOA> +    <GPIOB> +      <pin0 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin1 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin2 +        ID="" +        Type="PushPull" +        Speed="Maximum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin3 +        ID="" +        Type="PushPull" +        Speed="Maximum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin4 +        ID="" +        Type="PushPull" +        Speed="Maximum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin5 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin6 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin7 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin8 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin9 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin10 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin11 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin12 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin13 +        ID="SPI2_SCK" +        Type="PushPull" +        Speed="Minimum" +        Resistor="Floating" +        Level="High" +        Mode="Alternate" +        Alternate="0" /> +      <pin14 +        ID="SPI2_MISO" +        Type="PushPull" +        Speed="Minimum" +        Resistor="Floating" +        Level="High" +        Mode="Alternate" +        Alternate="0" /> +      <pin15 +        ID="SPI2_MOSI" +        Type="PushPull" +        Speed="Minimum" +        Resistor="Floating" +        Level="High" +        Mode="Alternate" +        Alternate="0" /> +    </GPIOB> +    <GPIOC> +      <pin0 +        ID="MEMS_CS" +        Type="PushPull" +        Speed="Maximum" +        Resistor="Floating" +        Level="High" +        Mode="Output" +        Alternate="0" /> +      <pin1 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin2 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin3 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin4 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin5 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin6 +        ID="LED_RED" +        Type="PushPull" +        Speed="Maximum" +        Resistor="Floating" +        Level="Low" +        Mode="Output" +        Alternate="0" /> +      <pin7 +        ID="LED_BLUE" +        Type="PushPull" +        Speed="Maximum" +        Resistor="Floating" +        Level="Low" +        Mode="Output" +        Alternate="0" /> +      <pin8 +        ID="LED_ORANGE" +        Type="PushPull" +        Speed="Maximum" +        Resistor="Floating" +        Level="Low" +        Mode="Output" +        Alternate="0" ></pin8> +      <pin9 +        ID="LED_GREEN" +        Type="PushPull" +        Speed="Maximum" +        Resistor="Floating" +        Level="Low" +        Mode="Output" +        Alternate="0" /> +      <pin10 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin11 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin12 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin13 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin14 +        ID="OSC32_IN" +        Type="PushPull" +        Speed="Maximum" +        Resistor="Floating" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin15 +        ID="OSC32_OUT" +        Type="PushPull" +        Speed="Maximum" +        Resistor="Floating" +        Level="High" +        Mode="Input" +        Alternate="0" /> +    </GPIOC> +    <GPIOD> +      <pin0 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin1 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin2 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin3 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin4 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin5 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin6 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin7 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin8 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin9 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin10 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin11 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin12 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin13 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin14 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin15 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +    </GPIOD> +    <GPIOE> +    	<pin0 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" +    		Level="High" Mode="Input" Alternate="0" /> +    	<pin1 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" +    		Level="High" Mode="Input" Alternate="0" /> +    	<pin2 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" +    		Level="High" Mode="Input" Alternate="0" /> +    	<pin3 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" +    		Level="High" Mode="Input" Alternate="0" /> +    	<pin4 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" +    		Level="High" Mode="Input" Alternate="0" /> +    	<pin5 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" +    		Level="High" Mode="Input" Alternate="0" /> +    	<pin6 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" +    		Level="High" Mode="Input" Alternate="0" /> +    	<pin7 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" +    		Level="High" Mode="Input" Alternate="0" /> +    	<pin8 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" +    		Level="High" Mode="Input" Alternate="0" /> +    	<pin9 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" +    		Level="High" Mode="Input" Alternate="0" /> +    	<pin10 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" +    		Level="High" Mode="Input" Alternate="0" /> +    	<pin11 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" +    		Level="High" Mode="Input" Alternate="0" /> +    	<pin12 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" +    		Level="High" Mode="Input" Alternate="0" /> +    	<pin13 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" +    		Level="High" Mode="Input" Alternate="0" /> +    	<pin14 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" +    		Level="High" Mode="Input" Alternate="0" /> +    	<pin15 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" +    		Level="High" Mode="Input" Alternate="0" /> +    </GPIOE> +    <GPIOF> +      <pin0 +        ID="OSC_IN" +        Type="PushPull" +        Speed="Minimum" +        Resistor="Floating" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin1 +        ID="OSC_OUT" +        Type="PushPull" +        Speed="Minimum" +        Resistor="Floating" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin2 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin3 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin4 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin5 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin6 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin7 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin8 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin9 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin10 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin11 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin12 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin13 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin14 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +      <pin15 +        ID="" +        Type="PushPull" +        Speed="Minimum" +        Resistor="PullUp" +        Level="High" +        Mode="Input" +        Alternate="0" /> +    </GPIOF> +  </ports> +</board> diff --git a/keyboards/at_at/660m/rules.mk b/keyboards/at_at/660m/rules.mk index 0b3685f09e..8c69ff7e24 100644 --- a/keyboards/at_at/660m/rules.mk +++ b/keyboards/at_at/660m/rules.mk @@ -1,5 +1,6 @@  # MCU name  MCU = STM32F072 +BOARD = ST_STM32F072B_DISCOVERY  # Build Options  #   comment out to disable the options. diff --git a/keyboards/candybar/rules.mk b/keyboards/candybar/rules.mk index cb1b832886..4e89dbf477 100644 --- a/keyboards/candybar/rules.mk +++ b/keyboards/candybar/rules.mk @@ -1,5 +1,6 @@  # MCU name  MCU = STM32F072 +BOARD = ST_STM32F072B_DISCOVERY  # Build Options  #   comment out to disable the options. diff --git a/keyboards/cannonkeys/an_c/rules.mk b/keyboards/cannonkeys/an_c/rules.mk index 2050ba34c4..faaed5c1ab 100644 --- a/keyboards/cannonkeys/an_c/rules.mk +++ b/keyboards/cannonkeys/an_c/rules.mk @@ -1,5 +1,6 @@  # MCU name  MCU = STM32F072 +BOARD = ST_STM32F072B_DISCOVERY  # Build Options  #   comment out to disable the options. diff --git a/keyboards/cannonkeys/chimera65/rules.mk b/keyboards/cannonkeys/chimera65/rules.mk index 9b1ab58991..7476e5f007 100644 --- a/keyboards/cannonkeys/chimera65/rules.mk +++ b/keyboards/cannonkeys/chimera65/rules.mk @@ -1,5 +1,6 @@  # MCU name  MCU = STM32F072 +BOARD = ST_STM32F072B_DISCOVERY  # Build Options  #   comment out to disable the options. diff --git a/keyboards/cannonkeys/instant60/rules.mk b/keyboards/cannonkeys/instant60/rules.mk index 0b4afd8da8..7ae14c4986 100644 --- a/keyboards/cannonkeys/instant60/rules.mk +++ b/keyboards/cannonkeys/instant60/rules.mk @@ -1,5 +1,6 @@  # MCU name  MCU = STM32F072 +BOARD = ST_STM32F072B_DISCOVERY  # Build Options  #   comment out to disable the options. diff --git a/keyboards/cannonkeys/iron165/rules.mk b/keyboards/cannonkeys/iron165/rules.mk index 33529718eb..795e2baf8d 100644 --- a/keyboards/cannonkeys/iron165/rules.mk +++ b/keyboards/cannonkeys/iron165/rules.mk @@ -1,5 +1,6 @@  # MCU name  MCU = STM32F072 +BOARD = ST_STM32F072B_DISCOVERY  # Build Options  #   comment out to disable the options. diff --git a/keyboards/cannonkeys/satisfaction75/rules.mk b/keyboards/cannonkeys/satisfaction75/rules.mk index 5fd8018194..6584bb5ff3 100644 --- a/keyboards/cannonkeys/satisfaction75/rules.mk +++ b/keyboards/cannonkeys/satisfaction75/rules.mk @@ -1,5 +1,6 @@  # MCU name  MCU = STM32F072 +BOARD = ST_STM32F072B_DISCOVERY  # Build Options  #   comment out to disable the options. diff --git a/keyboards/cannonkeys/savage65/rules.mk b/keyboards/cannonkeys/savage65/rules.mk index 1c1c4c2ec4..bf4b9a2897 100644 --- a/keyboards/cannonkeys/savage65/rules.mk +++ b/keyboards/cannonkeys/savage65/rules.mk @@ -1,5 +1,6 @@  # MCU name  MCU = STM32F072 +BOARD = ST_STM32F072B_DISCOVERY  # Build Options  #   comment out to disable the options. diff --git a/keyboards/cannonkeys/tmov2/rules.mk b/keyboards/cannonkeys/tmov2/rules.mk index 646288504c..7d29079c37 100644 --- a/keyboards/cannonkeys/tmov2/rules.mk +++ b/keyboards/cannonkeys/tmov2/rules.mk @@ -1,5 +1,6 @@  # MCU name  MCU = STM32F072 +BOARD = ST_STM32F072B_DISCOVERY  # Build Options  #   comment out to disable the options. diff --git a/keyboards/projectkb/alice/rules.mk b/keyboards/projectkb/alice/rules.mk index 97fcc754da..503bc7ad70 100644 --- a/keyboards/projectkb/alice/rules.mk +++ b/keyboards/projectkb/alice/rules.mk @@ -1,5 +1,6 @@  # MCU name  MCU = STM32F072 +BOARD = ST_STM32F072B_DISCOVERY  # Build Options  #   comment out to disable the options. diff --git a/keyboards/xiaomi/mk02/rules.mk b/keyboards/xiaomi/mk02/rules.mk index 93ff487dc8..730fb0a894 100644 --- a/keyboards/xiaomi/mk02/rules.mk +++ b/keyboards/xiaomi/mk02/rules.mk @@ -1,5 +1,6 @@  # MCU name  MCU = STM32F072 +BOARD = ST_STM32F072B_DISCOVERY  MCU_LDSCRIPT = STM32F072_0x2000_bootloader  DFU_ARGS = -d 0483:df11 -a 0 -s 0x08002000:leave diff --git a/quantum/mcu_selection.mk b/quantum/mcu_selection.mk index bddafa6a4c..f41a9e8215 100644 --- a/quantum/mcu_selection.mk +++ b/quantum/mcu_selection.mk @@ -55,7 +55,7 @@ ifneq ($(findstring STM32F072, $(MCU)),)    # Board: it should exist either in <chibios>/os/hal/boards/,    # <keyboard_dir>/boards/, or drivers/boards/ -  BOARD ?= ST_STM32F072B_DISCOVERY +  BOARD ?= GENERIC_STM32_F072XB    USE_FPU ?= no | 
