qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

board.h (49441B)


      1 /*
      2     ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
      3 
      4     Licensed under the Apache License, Version 2.0 (the "License");
      5     you may not use this file except in compliance with the License.
      6     You may obtain a copy of the License at
      7 
      8         http://www.apache.org/licenses/LICENSE-2.0
      9 
     10     Unless required by applicable law or agreed to in writing, software
     11     distributed under the License is distributed on an "AS IS" BASIS,
     12     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13     See the License for the specific language governing permissions and
     14     limitations under the License.
     15 */
     16 
     17 /*
     18  * This file has been automatically generated using ChibiStudio board
     19  * generator plugin. Do not edit manually.
     20  */
     21 
     22 #ifndef BOARD_H
     23 #define BOARD_H
     24 
     25 /*===========================================================================*/
     26 /* Driver constants.                                                         */
     27 /*===========================================================================*/
     28 
     29 /*
     30  * Setup for ST STM32F0-Discovery board.
     31  */
     32 
     33 /*
     34  * Board identifier.
     35  */
     36 #define BOARD_GENERIC_STM32_F042X6
     37 #define BOARD_NAME                  "Chavdai40"
     38 
     39 /*
     40  * Board oscillators-related settings.
     41  * NOTE: LSE not fitted.
     42  * NOTE: HSE not fitted.
     43  */
     44 #if !defined(STM32_LSECLK)
     45 #define STM32_LSECLK                0U
     46 #endif
     47 
     48 #define STM32_LSEDRV                (3U << 3U)
     49 
     50 #if !defined(STM32_HSECLK)
     51 #define STM32_HSECLK                0U
     52 #endif
     53 
     54 #define STM32_HSE_BYPASS
     55 
     56 /*
     57  * MCU type as defined in the ST header.
     58  */
     59 #define STM32F042x6
     60 
     61 /*
     62  * IO pins assignments.
     63  */
     64 #define GPIOA_BUTTON                0U
     65 #define GPIOA_PIN1                  1U
     66 #define GPIOA_PIN2                  2U
     67 #define GPIOA_PIN3                  3U
     68 #define GPIOA_PIN4                  4U
     69 #define GPIOA_PIN5                  5U
     70 #define GPIOA_PIN6                  6U
     71 #define GPIOA_PIN7                  7U
     72 #define GPIOA_PIN8                  8U
     73 #define GPIOA_PIN9                  9U
     74 #define GPIOA_PIN10                 10U
     75 #define GPIOA_PIN11                 11U
     76 #define GPIOA_PIN12                 12U
     77 #define GPIOA_SWDAT                 13U
     78 #define GPIOA_SWCLK                 14U
     79 #define GPIOA_PIN15                 15U
     80 
     81 #define GPIOB_PIN0                  0U
     82 #define GPIOB_PIN1                  1U
     83 #define GPIOB_PIN2                  2U
     84 #define GPIOB_PIN3                  3U
     85 #define GPIOB_PIN4                  4U
     86 #define GPIOB_PIN5                  5U
     87 #define GPIOB_PIN6                  6U
     88 #define GPIOB_PIN7                  7U
     89 #define GPIOB_PIN8                  8U
     90 #define GPIOB_PIN9                  9U
     91 #define GPIOB_PIN10                 10U
     92 #define GPIOB_PIN11                 11U
     93 #define GPIOB_PIN12                 12U
     94 #define GPIOB_PIN13                 13U
     95 #define GPIOB_PIN14                 14U
     96 #define GPIOB_PIN15                 15U
     97 
     98 #define GPIOC_PIN0                  0U
     99 #define GPIOC_PIN1                  1U
    100 #define GPIOC_PIN2                  2U
    101 #define GPIOC_PIN3                  3U
    102 #define GPIOC_PIN4                  4U
    103 #define GPIOC_PIN5                  5U
    104 #define GPIOC_PIN6                  6U
    105 #define GPIOC_PIN7                  7U
    106 #define GPIOC_LED4                  8U
    107 #define GPIOC_LED3                  9U
    108 #define GPIOC_PIN10                 10U
    109 #define GPIOC_PIN11                 11U
    110 #define GPIOC_PIN12                 12U
    111 #define GPIOC_PIN13                 13U
    112 #define GPIOC_OSC32_IN              14U
    113 #define GPIOC_OSC32_OUT             15U
    114 
    115 #define GPIOD_PIN0                  0U
    116 #define GPIOD_PIN1                  1U
    117 #define GPIOD_PIN2                  2U
    118 #define GPIOD_PIN3                  3U
    119 #define GPIOD_PIN4                  4U
    120 #define GPIOD_PIN5                  5U
    121 #define GPIOD_PIN6                  6U
    122 #define GPIOD_PIN7                  7U
    123 #define GPIOD_PIN8                  8U
    124 #define GPIOD_PIN9                  9U
    125 #define GPIOD_PIN10                 10U
    126 #define GPIOD_PIN11                 11U
    127 #define GPIOD_PIN12                 12U
    128 #define GPIOD_PIN13                 13U
    129 #define GPIOD_PIN14                 14U
    130 #define GPIOD_PIN15                 15U
    131 
    132 // #define GPIOF_OSC_IN                0U
    133 // #define GPIOF_OSC_OUT               1U
    134 #define GPIOF_I2C1_SDA              0U
    135 #define GPIOF_I2C1_SCL              1U
    136 #define GPIOF_PIN2                  2U
    137 #define GPIOF_PIN3                  3U
    138 #define GPIOF_PIN4                  4U
    139 #define GPIOF_PIN5                  5U
    140 #define GPIOF_PIN6                  6U
    141 #define GPIOF_PIN7                  7U
    142 #define GPIOF_PIN8                  8U
    143 #define GPIOF_PIN9                  9U
    144 #define GPIOF_PIN10                 10U
    145 #define GPIOF_PIN11                 11U
    146 #define GPIOF_PIN12                 12U
    147 #define GPIOF_PIN13                 13U
    148 #define GPIOF_PIN14                 14U
    149 #define GPIOF_PIN15                 15U
    150 
    151 /*
    152  * IO lines assignments.
    153  */
    154 #define LINE_BUTTON                 PAL_LINE(GPIOA, 0U)
    155 #define LINE_SWDAT                  PAL_LINE(GPIOA, 13U)
    156 #define LINE_SWCLK                  PAL_LINE(GPIOA, 14U)
    157 #define LINE_LED4                   PAL_LINE(GPIOC, 8U)
    158 #define LINE_LED3                   PAL_LINE(GPIOC, 9U)
    159 #define LINE_OSC32_IN               PAL_LINE(GPIOC, 14U)
    160 #define LINE_OSC32_OUT              PAL_LINE(GPIOC, 15U)
    161 //#define LINE_OSC_IN                 PAL_LINE(GPIOF, 0U)
    162 //#define LINE_OSC_OUT                PAL_LINE(GPIOF, 1U)
    163 #define LINE_I2C1_SDA               PAL_LINE(GPIOF, 0U)
    164 #define LINE_I2C1_SCL               PAL_LINE(GPIOF, 1U)
    165 
    166 /*===========================================================================*/
    167 /* Driver pre-compile time settings.                                         */
    168 /*===========================================================================*/
    169 
    170 /*===========================================================================*/
    171 /* Derived constants and error checks.                                       */
    172 /*===========================================================================*/
    173 
    174 /*===========================================================================*/
    175 /* Driver data structures and types.                                         */
    176 /*===========================================================================*/
    177 
    178 /*===========================================================================*/
    179 /* Driver macros.                                                            */
    180 /*===========================================================================*/
    181 
    182 /*
    183  * I/O ports initial setup, this configuration is established soon after reset
    184  * in the initialization code.
    185  * Please refer to the STM32 Reference Manual for details.
    186  */
    187 #define PIN_MODE_INPUT(n)           (0U << ((n) * 2U))
    188 #define PIN_MODE_OUTPUT(n)          (1U << ((n) * 2U))
    189 #define PIN_MODE_ALTERNATE(n)       (2U << ((n) * 2U))
    190 #define PIN_MODE_ANALOG(n)          (3U << ((n) * 2U))
    191 #define PIN_ODR_LOW(n)              (0U << (n))
    192 #define PIN_ODR_HIGH(n)             (1U << (n))
    193 #define PIN_OTYPE_PUSHPULL(n)       (0U << (n))
    194 #define PIN_OTYPE_OPENDRAIN(n)      (1U << (n))
    195 #define PIN_OSPEED_VERYLOW(n)       (0U << ((n) * 2U))
    196 #define PIN_OSPEED_LOW(n)           (1U << ((n) * 2U))
    197 #define PIN_OSPEED_MEDIUM(n)        (2U << ((n) * 2U))
    198 #define PIN_OSPEED_HIGH(n)          (3U << ((n) * 2U))
    199 #define PIN_PUPDR_FLOATING(n)       (0U << ((n) * 2U))
    200 #define PIN_PUPDR_PULLUP(n)         (1U << ((n) * 2U))
    201 #define PIN_PUPDR_PULLDOWN(n)       (2U << ((n) * 2U))
    202 #define PIN_AFIO_AF(n, v)           ((v) << (((n) % 8U) * 4U))
    203 
    204 /*
    205  * GPIOA setup:
    206  *
    207  * PA0  - BUTTON                    (input floating).
    208  * PA1  - PIN1                      (input pullup).
    209  * PA2  - PIN2                      (input pullup).
    210  * PA3  - PIN3                      (input pullup).
    211  * PA4  - PIN4                      (input pullup).
    212  * PA5  - PIN5                      (input pullup).
    213  * PA6  - PIN6                      (input pullup).
    214  * PA7  - PIN7                      (input pullup).
    215  * PA8  - PIN8                      (input pullup).
    216  * PA9  - PIN9                      (input pullup).
    217  * PA10 - PIN10                     (input pullup).
    218  * PA11 - PIN11                     (input pullup).
    219  * PA12 - PIN12                     (input pullup).
    220  * PA13 - SWDAT                     (alternate 0).
    221  * PA14 - SWCLK                     (alternate 0).
    222  * PA15 - PIN15                     (input pullup).
    223  */
    224 #define VAL_GPIOA_MODER             (PIN_MODE_INPUT(GPIOA_BUTTON) |         \
    225                                      PIN_MODE_INPUT(GPIOA_PIN1) |           \
    226                                      PIN_MODE_INPUT(GPIOA_PIN2) |           \
    227                                      PIN_MODE_INPUT(GPIOA_PIN3) |           \
    228                                      PIN_MODE_INPUT(GPIOA_PIN4) |           \
    229                                      PIN_MODE_INPUT(GPIOA_PIN5) |           \
    230                                      PIN_MODE_INPUT(GPIOA_PIN6) |           \
    231                                      PIN_MODE_INPUT(GPIOA_PIN7) |           \
    232                                      PIN_MODE_INPUT(GPIOA_PIN8) |           \
    233                                      PIN_MODE_INPUT(GPIOA_PIN9) |           \
    234                                      PIN_MODE_INPUT(GPIOA_PIN10) |          \
    235                                      PIN_MODE_INPUT(GPIOA_PIN11) |          \
    236                                      PIN_MODE_INPUT(GPIOA_PIN12) |          \
    237                                      PIN_MODE_ALTERNATE(GPIOA_SWDAT) |      \
    238                                      PIN_MODE_ALTERNATE(GPIOA_SWCLK) |      \
    239                                      PIN_MODE_INPUT(GPIOA_PIN15))
    240 #define VAL_GPIOA_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOA_BUTTON) |     \
    241                                      PIN_OTYPE_PUSHPULL(GPIOA_PIN1) |       \
    242                                      PIN_OTYPE_PUSHPULL(GPIOA_PIN2) |       \
    243                                      PIN_OTYPE_PUSHPULL(GPIOA_PIN3) |       \
    244                                      PIN_OTYPE_PUSHPULL(GPIOA_PIN4) |       \
    245                                      PIN_OTYPE_PUSHPULL(GPIOA_PIN5) |       \
    246                                      PIN_OTYPE_PUSHPULL(GPIOA_PIN6) |       \
    247                                      PIN_OTYPE_PUSHPULL(GPIOA_PIN7) |       \
    248                                      PIN_OTYPE_PUSHPULL(GPIOA_PIN8) |       \
    249                                      PIN_OTYPE_PUSHPULL(GPIOA_PIN9) |       \
    250                                      PIN_OTYPE_PUSHPULL(GPIOA_PIN10) |      \
    251                                      PIN_OTYPE_PUSHPULL(GPIOA_PIN11) |      \
    252                                      PIN_OTYPE_PUSHPULL(GPIOA_PIN12) |      \
    253                                      PIN_OTYPE_PUSHPULL(GPIOA_SWDAT) |      \
    254                                      PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) |      \
    255                                      PIN_OTYPE_PUSHPULL(GPIOA_PIN15))
    256 #define VAL_GPIOA_OSPEEDR           (PIN_OSPEED_VERYLOW(GPIOA_BUTTON) |     \
    257                                      PIN_OSPEED_VERYLOW(GPIOA_PIN1) |       \
    258                                      PIN_OSPEED_VERYLOW(GPIOA_PIN2) |       \
    259                                      PIN_OSPEED_VERYLOW(GPIOA_PIN3) |       \
    260                                      PIN_OSPEED_VERYLOW(GPIOA_PIN4) |       \
    261                                      PIN_OSPEED_VERYLOW(GPIOA_PIN5) |       \
    262                                      PIN_OSPEED_VERYLOW(GPIOA_PIN6) |       \
    263                                      PIN_OSPEED_VERYLOW(GPIOA_PIN7) |       \
    264                                      PIN_OSPEED_VERYLOW(GPIOA_PIN8) |       \
    265                                      PIN_OSPEED_VERYLOW(GPIOA_PIN9) |       \
    266                                      PIN_OSPEED_VERYLOW(GPIOA_PIN10) |      \
    267                                      PIN_OSPEED_VERYLOW(GPIOA_PIN11) |      \
    268                                      PIN_OSPEED_VERYLOW(GPIOA_PIN12) |      \
    269                                      PIN_OSPEED_HIGH(GPIOA_SWDAT) |         \
    270                                      PIN_OSPEED_HIGH(GPIOA_SWCLK) |         \
    271                                      PIN_OSPEED_HIGH(GPIOA_PIN15))
    272 #define VAL_GPIOA_PUPDR             (PIN_PUPDR_FLOATING(GPIOA_BUTTON) |     \
    273                                      PIN_PUPDR_PULLUP(GPIOA_PIN1) |         \
    274                                      PIN_PUPDR_PULLUP(GPIOA_PIN2) |         \
    275                                      PIN_PUPDR_PULLUP(GPIOA_PIN3) |         \
    276                                      PIN_PUPDR_PULLUP(GPIOA_PIN4) |         \
    277                                      PIN_PUPDR_PULLUP(GPIOA_PIN5) |         \
    278                                      PIN_PUPDR_PULLUP(GPIOA_PIN6) |         \
    279                                      PIN_PUPDR_PULLUP(GPIOA_PIN7) |         \
    280                                      PIN_PUPDR_PULLUP(GPIOA_PIN8) |         \
    281                                      PIN_PUPDR_PULLUP(GPIOA_PIN9) |         \
    282                                      PIN_PUPDR_PULLUP(GPIOA_PIN10) |        \
    283                                      PIN_PUPDR_PULLUP(GPIOA_PIN11) |        \
    284                                      PIN_PUPDR_PULLUP(GPIOA_PIN12) |        \
    285                                      PIN_PUPDR_PULLUP(GPIOA_SWDAT) |        \
    286                                      PIN_PUPDR_PULLDOWN(GPIOA_SWCLK) |      \
    287                                      PIN_PUPDR_PULLUP(GPIOA_PIN15))
    288 #define VAL_GPIOA_ODR               (PIN_ODR_HIGH(GPIOA_BUTTON) |           \
    289                                      PIN_ODR_HIGH(GPIOA_PIN1) |             \
    290                                      PIN_ODR_HIGH(GPIOA_PIN2) |             \
    291                                      PIN_ODR_HIGH(GPIOA_PIN3) |             \
    292                                      PIN_ODR_HIGH(GPIOA_PIN4) |             \
    293                                      PIN_ODR_HIGH(GPIOA_PIN5) |             \
    294                                      PIN_ODR_HIGH(GPIOA_PIN6) |             \
    295                                      PIN_ODR_HIGH(GPIOA_PIN7) |             \
    296                                      PIN_ODR_HIGH(GPIOA_PIN8) |             \
    297                                      PIN_ODR_HIGH(GPIOA_PIN9) |             \
    298                                      PIN_ODR_HIGH(GPIOA_PIN10) |            \
    299                                      PIN_ODR_HIGH(GPIOA_PIN11) |            \
    300                                      PIN_ODR_HIGH(GPIOA_PIN12) |            \
    301                                      PIN_ODR_HIGH(GPIOA_SWDAT) |            \
    302                                      PIN_ODR_HIGH(GPIOA_SWCLK) |            \
    303                                      PIN_ODR_HIGH(GPIOA_PIN15))
    304 #define VAL_GPIOA_AFRL              (PIN_AFIO_AF(GPIOA_BUTTON, 0U) |        \
    305                                      PIN_AFIO_AF(GPIOA_PIN1, 0U) |          \
    306                                      PIN_AFIO_AF(GPIOA_PIN2, 0U) |          \
    307                                      PIN_AFIO_AF(GPIOA_PIN3, 0U) |          \
    308                                      PIN_AFIO_AF(GPIOA_PIN4, 0U) |          \
    309                                      PIN_AFIO_AF(GPIOA_PIN5, 0U) |          \
    310                                      PIN_AFIO_AF(GPIOA_PIN6, 0U) |          \
    311                                      PIN_AFIO_AF(GPIOA_PIN7, 0U))
    312 #define VAL_GPIOA_AFRH              (PIN_AFIO_AF(GPIOA_PIN8, 0U) |          \
    313                                      PIN_AFIO_AF(GPIOA_PIN9, 0U) |          \
    314                                      PIN_AFIO_AF(GPIOA_PIN10, 0U) |         \
    315                                      PIN_AFIO_AF(GPIOA_PIN11, 0U) |         \
    316                                      PIN_AFIO_AF(GPIOA_PIN12, 0U) |         \
    317                                      PIN_AFIO_AF(GPIOA_SWDAT, 0U) |         \
    318                                      PIN_AFIO_AF(GPIOA_SWCLK, 0U) |         \
    319                                      PIN_AFIO_AF(GPIOA_PIN15, 0U))
    320 
    321 /*
    322  * GPIOB setup:
    323  *
    324  * PB0  - PIN0                      (input pullup).
    325  * PB1  - PIN1                      (input pullup).
    326  * PB2  - PIN2                      (input pullup).
    327  * PB3  - PIN3                      (input pullup).
    328  * PB4  - PIN4                      (input pullup).
    329  * PB5  - PIN5                      (input pullup).
    330  * PB6  - PIN6                      (input pullup).
    331  * PB7  - PIN7                      (input pullup).
    332  * PB8  - PIN8                      (input pullup).
    333  * PB9  - PIN9                      (input pullup).
    334  * PB10 - PIN10                     (input pullup).
    335  * PB11 - PIN11                     (input pullup).
    336  * PB12 - PIN12                     (input pullup).
    337  * PB13 - PIN13                     (input pullup).
    338  * PB14 - PIN14                     (input pullup).
    339  * PB15 - PIN15                     (input pullup).
    340  */
    341 #define VAL_GPIOB_MODER             (PIN_MODE_INPUT(GPIOB_PIN0) |           \
    342                                      PIN_MODE_INPUT(GPIOB_PIN1) |           \
    343                                      PIN_MODE_INPUT(GPIOB_PIN2) |           \
    344                                      PIN_MODE_INPUT(GPIOB_PIN3) |           \
    345                                      PIN_MODE_INPUT(GPIOB_PIN4) |           \
    346                                      PIN_MODE_INPUT(GPIOB_PIN5) |           \
    347                                      PIN_MODE_INPUT(GPIOB_PIN6) |           \
    348                                      PIN_MODE_INPUT(GPIOB_PIN7) |           \
    349                                      PIN_MODE_INPUT(GPIOB_PIN8) |           \
    350                                      PIN_MODE_INPUT(GPIOB_PIN9) |           \
    351                                      PIN_MODE_INPUT(GPIOB_PIN10) |          \
    352                                      PIN_MODE_INPUT(GPIOB_PIN11) |          \
    353                                      PIN_MODE_INPUT(GPIOB_PIN12) |          \
    354                                      PIN_MODE_INPUT(GPIOB_PIN13) |          \
    355                                      PIN_MODE_INPUT(GPIOB_PIN14) |          \
    356                                      PIN_MODE_INPUT(GPIOB_PIN15))
    357 #define VAL_GPIOB_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOB_PIN0) |       \
    358                                      PIN_OTYPE_PUSHPULL(GPIOB_PIN1) |       \
    359                                      PIN_OTYPE_PUSHPULL(GPIOB_PIN2) |       \
    360                                      PIN_OTYPE_PUSHPULL(GPIOB_PIN3) |       \
    361                                      PIN_OTYPE_PUSHPULL(GPIOB_PIN4) |       \
    362                                      PIN_OTYPE_PUSHPULL(GPIOB_PIN5) |       \
    363                                      PIN_OTYPE_PUSHPULL(GPIOB_PIN6) |       \
    364                                      PIN_OTYPE_PUSHPULL(GPIOB_PIN7) |       \
    365                                      PIN_OTYPE_PUSHPULL(GPIOB_PIN8) |       \
    366                                      PIN_OTYPE_PUSHPULL(GPIOB_PIN9) |       \
    367                                      PIN_OTYPE_PUSHPULL(GPIOB_PIN10) |      \
    368                                      PIN_OTYPE_PUSHPULL(GPIOB_PIN11) |      \
    369                                      PIN_OTYPE_PUSHPULL(GPIOB_PIN12) |      \
    370                                      PIN_OTYPE_PUSHPULL(GPIOB_PIN13) |      \
    371                                      PIN_OTYPE_PUSHPULL(GPIOB_PIN14) |      \
    372                                      PIN_OTYPE_PUSHPULL(GPIOB_PIN15))
    373 #define VAL_GPIOB_OSPEEDR           (PIN_OSPEED_VERYLOW(GPIOB_PIN0) |       \
    374                                      PIN_OSPEED_VERYLOW(GPIOB_PIN1) |       \
    375                                      PIN_OSPEED_HIGH(GPIOB_PIN2) |          \
    376                                      PIN_OSPEED_HIGH(GPIOB_PIN3) |          \
    377                                      PIN_OSPEED_HIGH(GPIOB_PIN4) |          \
    378                                      PIN_OSPEED_VERYLOW(GPIOB_PIN5) |       \
    379                                      PIN_OSPEED_VERYLOW(GPIOB_PIN6) |       \
    380                                      PIN_OSPEED_VERYLOW(GPIOB_PIN7) |       \
    381                                      PIN_OSPEED_VERYLOW(GPIOB_PIN8) |       \
    382                                      PIN_OSPEED_VERYLOW(GPIOB_PIN9) |       \
    383                                      PIN_OSPEED_VERYLOW(GPIOB_PIN10) |      \
    384                                      PIN_OSPEED_VERYLOW(GPIOB_PIN11) |      \
    385                                      PIN_OSPEED_VERYLOW(GPIOB_PIN12) |      \
    386                                      PIN_OSPEED_VERYLOW(GPIOB_PIN13) |      \
    387                                      PIN_OSPEED_VERYLOW(GPIOB_PIN14) |      \
    388                                      PIN_OSPEED_VERYLOW(GPIOB_PIN15))
    389 #define VAL_GPIOB_PUPDR             (PIN_PUPDR_PULLUP(GPIOB_PIN0) |         \
    390                                      PIN_PUPDR_PULLUP(GPIOB_PIN1) |         \
    391                                      PIN_PUPDR_PULLUP(GPIOB_PIN2) |         \
    392                                      PIN_PUPDR_PULLUP(GPIOB_PIN3) |         \
    393                                      PIN_PUPDR_PULLUP(GPIOB_PIN4) |         \
    394                                      PIN_PUPDR_PULLUP(GPIOB_PIN5) |         \
    395                                      PIN_PUPDR_PULLUP(GPIOB_PIN6) |         \
    396                                      PIN_PUPDR_PULLUP(GPIOB_PIN7) |         \
    397                                      PIN_PUPDR_PULLUP(GPIOB_PIN8) |         \
    398                                      PIN_PUPDR_PULLUP(GPIOB_PIN9) |         \
    399                                      PIN_PUPDR_PULLUP(GPIOB_PIN10) |        \
    400                                      PIN_PUPDR_PULLUP(GPIOB_PIN11) |        \
    401                                      PIN_PUPDR_PULLUP(GPIOB_PIN12) |        \
    402                                      PIN_PUPDR_PULLUP(GPIOB_PIN13) |        \
    403                                      PIN_PUPDR_PULLUP(GPIOB_PIN14) |        \
    404                                      PIN_PUPDR_PULLUP(GPIOB_PIN15))
    405 #define VAL_GPIOB_ODR               (PIN_ODR_HIGH(GPIOB_PIN0) |             \
    406                                      PIN_ODR_HIGH(GPIOB_PIN1) |             \
    407                                      PIN_ODR_HIGH(GPIOB_PIN2) |             \
    408                                      PIN_ODR_HIGH(GPIOB_PIN3) |             \
    409                                      PIN_ODR_HIGH(GPIOB_PIN4) |             \
    410                                      PIN_ODR_HIGH(GPIOB_PIN5) |             \
    411                                      PIN_ODR_HIGH(GPIOB_PIN6) |             \
    412                                      PIN_ODR_HIGH(GPIOB_PIN7) |             \
    413                                      PIN_ODR_HIGH(GPIOB_PIN8) |             \
    414                                      PIN_ODR_HIGH(GPIOB_PIN9) |             \
    415                                      PIN_ODR_HIGH(GPIOB_PIN10) |            \
    416                                      PIN_ODR_HIGH(GPIOB_PIN11) |            \
    417                                      PIN_ODR_HIGH(GPIOB_PIN12) |            \
    418                                      PIN_ODR_HIGH(GPIOB_PIN13) |            \
    419                                      PIN_ODR_HIGH(GPIOB_PIN14) |            \
    420                                      PIN_ODR_HIGH(GPIOB_PIN15))
    421 #define VAL_GPIOB_AFRL              (PIN_AFIO_AF(GPIOB_PIN0, 0U) |          \
    422                                      PIN_AFIO_AF(GPIOB_PIN1, 0U) |          \
    423                                      PIN_AFIO_AF(GPIOB_PIN2, 0U) |          \
    424                                      PIN_AFIO_AF(GPIOB_PIN3, 0U) |          \
    425                                      PIN_AFIO_AF(GPIOB_PIN4, 0U) |          \
    426                                      PIN_AFIO_AF(GPIOB_PIN5, 0U) |          \
    427                                      PIN_AFIO_AF(GPIOB_PIN6, 0U) |          \
    428                                      PIN_AFIO_AF(GPIOB_PIN7, 0U))
    429 #define VAL_GPIOB_AFRH              (PIN_AFIO_AF(GPIOB_PIN8, 0U) |          \
    430                                      PIN_AFIO_AF(GPIOB_PIN9, 0U) |          \
    431                                      PIN_AFIO_AF(GPIOB_PIN10, 0U) |         \
    432                                      PIN_AFIO_AF(GPIOB_PIN11, 0U) |         \
    433                                      PIN_AFIO_AF(GPIOB_PIN12, 0U) |         \
    434                                      PIN_AFIO_AF(GPIOB_PIN13, 0U) |         \
    435                                      PIN_AFIO_AF(GPIOB_PIN14, 0U) |         \
    436                                      PIN_AFIO_AF(GPIOB_PIN15, 0U))
    437 
    438 /*
    439  * GPIOC setup:
    440  *
    441  * PC0  - PIN0                      (input pullup).
    442  * PC1  - PIN1                      (input pullup).
    443  * PC2  - PIN2                      (input pullup).
    444  * PC3  - PIN3                      (input pullup).
    445  * PC4  - PIN4                      (input pullup).
    446  * PC5  - PIN5                      (input pullup).
    447  * PC6  - PIN6                      (input pullup).
    448  * PC7  - PIN7                      (input pullup).
    449  * PC8  - LED4                      (output pushpull maximum).
    450  * PC9  - LED3                      (output pushpull maximum).
    451  * PC10 - PIN10                     (input pullup).
    452  * PC11 - PIN11                     (input pullup).
    453  * PC12 - PIN12                     (input pullup).
    454  * PC13 - PIN13                     (input pullup).
    455  * PC14 - OSC32_IN                  (input floating).
    456  * PC15 - OSC32_OUT                 (input floating).
    457  */
    458 #define VAL_GPIOC_MODER             (PIN_MODE_INPUT(GPIOC_PIN0) |           \
    459                                      PIN_MODE_INPUT(GPIOC_PIN1) |           \
    460                                      PIN_MODE_INPUT(GPIOC_PIN2) |           \
    461                                      PIN_MODE_INPUT(GPIOC_PIN3) |           \
    462                                      PIN_MODE_INPUT(GPIOC_PIN4) |           \
    463                                      PIN_MODE_INPUT(GPIOC_PIN5) |           \
    464                                      PIN_MODE_INPUT(GPIOC_PIN6) |           \
    465                                      PIN_MODE_INPUT(GPIOC_PIN7) |           \
    466                                      PIN_MODE_OUTPUT(GPIOC_LED4) |          \
    467                                      PIN_MODE_OUTPUT(GPIOC_LED3) |          \
    468                                      PIN_MODE_INPUT(GPIOC_PIN10) |          \
    469                                      PIN_MODE_INPUT(GPIOC_PIN11) |          \
    470                                      PIN_MODE_INPUT(GPIOC_PIN12) |          \
    471                                      PIN_MODE_INPUT(GPIOC_PIN13) |          \
    472                                      PIN_MODE_INPUT(GPIOC_OSC32_IN) |       \
    473                                      PIN_MODE_INPUT(GPIOC_OSC32_OUT))
    474 #define VAL_GPIOC_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOC_PIN0) |       \
    475                                      PIN_OTYPE_PUSHPULL(GPIOC_PIN1) |       \
    476                                      PIN_OTYPE_PUSHPULL(GPIOC_PIN2) |       \
    477                                      PIN_OTYPE_PUSHPULL(GPIOC_PIN3) |       \
    478                                      PIN_OTYPE_PUSHPULL(GPIOC_PIN4) |       \
    479                                      PIN_OTYPE_PUSHPULL(GPIOC_PIN5) |       \
    480                                      PIN_OTYPE_PUSHPULL(GPIOC_PIN6) |       \
    481                                      PIN_OTYPE_PUSHPULL(GPIOC_PIN7) |       \
    482                                      PIN_OTYPE_PUSHPULL(GPIOC_LED4) |       \
    483                                      PIN_OTYPE_PUSHPULL(GPIOC_LED3) |       \
    484                                      PIN_OTYPE_PUSHPULL(GPIOC_PIN10) |      \
    485                                      PIN_OTYPE_PUSHPULL(GPIOC_PIN11) |      \
    486                                      PIN_OTYPE_PUSHPULL(GPIOC_PIN12) |      \
    487                                      PIN_OTYPE_PUSHPULL(GPIOC_PIN13) |      \
    488                                      PIN_OTYPE_PUSHPULL(GPIOC_OSC32_IN) |   \
    489                                      PIN_OTYPE_PUSHPULL(GPIOC_OSC32_OUT))
    490 #define VAL_GPIOC_OSPEEDR           (PIN_OSPEED_VERYLOW(GPIOC_PIN0) |       \
    491                                      PIN_OSPEED_VERYLOW(GPIOC_PIN1) |       \
    492                                      PIN_OSPEED_VERYLOW(GPIOC_PIN2) |       \
    493                                      PIN_OSPEED_VERYLOW(GPIOC_PIN3) |       \
    494                                      PIN_OSPEED_VERYLOW(GPIOC_PIN4) |       \
    495                                      PIN_OSPEED_VERYLOW(GPIOC_PIN5) |       \
    496                                      PIN_OSPEED_VERYLOW(GPIOC_PIN6) |       \
    497                                      PIN_OSPEED_VERYLOW(GPIOC_PIN7) |       \
    498                                      PIN_OSPEED_HIGH(GPIOC_LED4) |          \
    499                                      PIN_OSPEED_HIGH(GPIOC_LED3) |          \
    500                                      PIN_OSPEED_VERYLOW(GPIOC_PIN10) |      \
    501                                      PIN_OSPEED_VERYLOW(GPIOC_PIN11) |      \
    502                                      PIN_OSPEED_VERYLOW(GPIOC_PIN12) |      \
    503                                      PIN_OSPEED_VERYLOW(GPIOC_PIN13) |      \
    504                                      PIN_OSPEED_HIGH(GPIOC_OSC32_IN) |      \
    505                                      PIN_OSPEED_HIGH(GPIOC_OSC32_OUT))
    506 #define VAL_GPIOC_PUPDR             (PIN_PUPDR_PULLUP(GPIOC_PIN0) |         \
    507                                      PIN_PUPDR_PULLUP(GPIOC_PIN1) |         \
    508                                      PIN_PUPDR_PULLUP(GPIOC_PIN2) |         \
    509                                      PIN_PUPDR_PULLUP(GPIOC_PIN3) |         \
    510                                      PIN_PUPDR_PULLUP(GPIOC_PIN4) |         \
    511                                      PIN_PUPDR_PULLUP(GPIOC_PIN5) |         \
    512                                      PIN_PUPDR_PULLUP(GPIOC_PIN6) |         \
    513                                      PIN_PUPDR_PULLUP(GPIOC_PIN7) |         \
    514                                      PIN_PUPDR_FLOATING(GPIOC_LED4) |       \
    515                                      PIN_PUPDR_FLOATING(GPIOC_LED3) |       \
    516                                      PIN_PUPDR_PULLUP(GPIOC_PIN10) |        \
    517                                      PIN_PUPDR_PULLUP(GPIOC_PIN11) |        \
    518                                      PIN_PUPDR_PULLUP(GPIOC_PIN12) |        \
    519                                      PIN_PUPDR_PULLUP(GPIOC_PIN13) |        \
    520                                      PIN_PUPDR_FLOATING(GPIOC_OSC32_IN) |   \
    521                                      PIN_PUPDR_FLOATING(GPIOC_OSC32_OUT))
    522 #define VAL_GPIOC_ODR               (PIN_ODR_HIGH(GPIOC_PIN0) |             \
    523                                      PIN_ODR_HIGH(GPIOC_PIN1) |             \
    524                                      PIN_ODR_HIGH(GPIOC_PIN2) |             \
    525                                      PIN_ODR_HIGH(GPIOC_PIN3) |             \
    526                                      PIN_ODR_HIGH(GPIOC_PIN4) |             \
    527                                      PIN_ODR_HIGH(GPIOC_PIN5) |             \
    528                                      PIN_ODR_HIGH(GPIOC_PIN6) |             \
    529                                      PIN_ODR_HIGH(GPIOC_PIN7) |             \
    530                                      PIN_ODR_LOW(GPIOC_LED4) |              \
    531                                      PIN_ODR_LOW(GPIOC_LED3) |              \
    532                                      PIN_ODR_HIGH(GPIOC_PIN10) |            \
    533                                      PIN_ODR_HIGH(GPIOC_PIN11) |            \
    534                                      PIN_ODR_HIGH(GPIOC_PIN12) |            \
    535                                      PIN_ODR_HIGH(GPIOC_PIN13) |            \
    536                                      PIN_ODR_HIGH(GPIOC_OSC32_IN) |         \
    537                                      PIN_ODR_HIGH(GPIOC_OSC32_OUT))
    538 #define VAL_GPIOC_AFRL              (PIN_AFIO_AF(GPIOC_PIN0, 0U) |          \
    539                                      PIN_AFIO_AF(GPIOC_PIN1, 0U) |          \
    540                                      PIN_AFIO_AF(GPIOC_PIN2, 0U) |          \
    541                                      PIN_AFIO_AF(GPIOC_PIN3, 0U) |          \
    542                                      PIN_AFIO_AF(GPIOC_PIN4, 0U) |          \
    543                                      PIN_AFIO_AF(GPIOC_PIN5, 0U) |          \
    544                                      PIN_AFIO_AF(GPIOC_PIN6, 0U) |          \
    545                                      PIN_AFIO_AF(GPIOC_PIN7, 0U))
    546 #define VAL_GPIOC_AFRH              (PIN_AFIO_AF(GPIOC_LED4, 0U) |          \
    547                                      PIN_AFIO_AF(GPIOC_LED3, 0U) |          \
    548                                      PIN_AFIO_AF(GPIOC_PIN10, 0U) |         \
    549                                      PIN_AFIO_AF(GPIOC_PIN11, 0U) |         \
    550                                      PIN_AFIO_AF(GPIOC_PIN12, 0U) |         \
    551                                      PIN_AFIO_AF(GPIOC_PIN13, 0U) |         \
    552                                      PIN_AFIO_AF(GPIOC_OSC32_IN, 0U) |      \
    553                                      PIN_AFIO_AF(GPIOC_OSC32_OUT, 0U))
    554 
    555 /*
    556  * GPIOD setup:
    557  *
    558  * PD0  - PIN0                      (input pullup).
    559  * PD1  - PIN1                      (input pullup).
    560  * PD2  - PIN2                      (input pullup).
    561  * PD3  - PIN3                      (input pullup).
    562  * PD4  - PIN4                      (input pullup).
    563  * PD5  - PIN5                      (input pullup).
    564  * PD6  - PIN6                      (input pullup).
    565  * PD7  - PIN7                      (input pullup).
    566  * PD8  - PIN8                      (input pullup).
    567  * PD9  - PIN9                      (input pullup).
    568  * PD10 - PIN10                     (input pullup).
    569  * PD11 - PIN11                     (input pullup).
    570  * PD12 - PIN12                     (input pullup).
    571  * PD13 - PIN13                     (input pullup).
    572  * PD14 - PIN14                     (input pullup).
    573  * PD15 - PIN15                     (input pullup).
    574  */
    575 #define VAL_GPIOD_MODER             (PIN_MODE_INPUT(GPIOD_PIN0) |           \
    576                                      PIN_MODE_INPUT(GPIOD_PIN1) |           \
    577                                      PIN_MODE_INPUT(GPIOD_PIN2) |           \
    578                                      PIN_MODE_INPUT(GPIOD_PIN3) |           \
    579                                      PIN_MODE_INPUT(GPIOD_PIN4) |           \
    580                                      PIN_MODE_INPUT(GPIOD_PIN5) |           \
    581                                      PIN_MODE_INPUT(GPIOD_PIN6) |           \
    582                                      PIN_MODE_INPUT(GPIOD_PIN7) |           \
    583                                      PIN_MODE_INPUT(GPIOD_PIN8) |           \
    584                                      PIN_MODE_INPUT(GPIOD_PIN9) |           \
    585                                      PIN_MODE_INPUT(GPIOD_PIN10) |          \
    586                                      PIN_MODE_INPUT(GPIOD_PIN11) |          \
    587                                      PIN_MODE_INPUT(GPIOD_PIN12) |          \
    588                                      PIN_MODE_INPUT(GPIOD_PIN13) |          \
    589                                      PIN_MODE_INPUT(GPIOD_PIN14) |          \
    590                                      PIN_MODE_INPUT(GPIOD_PIN15))
    591 #define VAL_GPIOD_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOD_PIN0) |       \
    592                                      PIN_OTYPE_PUSHPULL(GPIOD_PIN1) |       \
    593                                      PIN_OTYPE_PUSHPULL(GPIOD_PIN2) |       \
    594                                      PIN_OTYPE_PUSHPULL(GPIOD_PIN3) |       \
    595                                      PIN_OTYPE_PUSHPULL(GPIOD_PIN4) |       \
    596                                      PIN_OTYPE_PUSHPULL(GPIOD_PIN5) |       \
    597                                      PIN_OTYPE_PUSHPULL(GPIOD_PIN6) |       \
    598                                      PIN_OTYPE_PUSHPULL(GPIOD_PIN7) |       \
    599                                      PIN_OTYPE_PUSHPULL(GPIOD_PIN8) |       \
    600                                      PIN_OTYPE_PUSHPULL(GPIOD_PIN9) |       \
    601                                      PIN_OTYPE_PUSHPULL(GPIOD_PIN10) |      \
    602                                      PIN_OTYPE_PUSHPULL(GPIOD_PIN11) |      \
    603                                      PIN_OTYPE_PUSHPULL(GPIOD_PIN12) |      \
    604                                      PIN_OTYPE_PUSHPULL(GPIOD_PIN13) |      \
    605                                      PIN_OTYPE_PUSHPULL(GPIOD_PIN14) |      \
    606                                      PIN_OTYPE_PUSHPULL(GPIOD_PIN15))
    607 #define VAL_GPIOD_OSPEEDR           (PIN_OSPEED_VERYLOW(GPIOD_PIN0) |       \
    608                                      PIN_OSPEED_VERYLOW(GPIOD_PIN1) |       \
    609                                      PIN_OSPEED_VERYLOW(GPIOD_PIN2) |       \
    610                                      PIN_OSPEED_VERYLOW(GPIOD_PIN3) |       \
    611                                      PIN_OSPEED_VERYLOW(GPIOD_PIN4) |       \
    612                                      PIN_OSPEED_VERYLOW(GPIOD_PIN5) |       \
    613                                      PIN_OSPEED_VERYLOW(GPIOD_PIN6) |       \
    614                                      PIN_OSPEED_VERYLOW(GPIOD_PIN7) |       \
    615                                      PIN_OSPEED_VERYLOW(GPIOD_PIN8) |       \
    616                                      PIN_OSPEED_VERYLOW(GPIOD_PIN9) |       \
    617                                      PIN_OSPEED_VERYLOW(GPIOD_PIN10) |      \
    618                                      PIN_OSPEED_VERYLOW(GPIOD_PIN11) |      \
    619                                      PIN_OSPEED_VERYLOW(GPIOD_PIN12) |      \
    620                                      PIN_OSPEED_VERYLOW(GPIOD_PIN13) |      \
    621                                      PIN_OSPEED_VERYLOW(GPIOD_PIN14) |      \
    622                                      PIN_OSPEED_VERYLOW(GPIOD_PIN15))
    623 #define VAL_GPIOD_PUPDR             (PIN_PUPDR_PULLUP(GPIOD_PIN0) |         \
    624                                      PIN_PUPDR_PULLUP(GPIOD_PIN1) |         \
    625                                      PIN_PUPDR_PULLUP(GPIOD_PIN2) |         \
    626                                      PIN_PUPDR_PULLUP(GPIOD_PIN3) |         \
    627                                      PIN_PUPDR_PULLUP(GPIOD_PIN4) |         \
    628                                      PIN_PUPDR_PULLUP(GPIOD_PIN5) |         \
    629                                      PIN_PUPDR_PULLUP(GPIOD_PIN6) |         \
    630                                      PIN_PUPDR_PULLUP(GPIOD_PIN7) |         \
    631                                      PIN_PUPDR_PULLUP(GPIOD_PIN8) |         \
    632                                      PIN_PUPDR_PULLUP(GPIOD_PIN9) |         \
    633                                      PIN_PUPDR_PULLUP(GPIOD_PIN10) |        \
    634                                      PIN_PUPDR_PULLUP(GPIOD_PIN11) |        \
    635                                      PIN_PUPDR_PULLUP(GPIOD_PIN12) |        \
    636                                      PIN_PUPDR_PULLUP(GPIOD_PIN13) |        \
    637                                      PIN_PUPDR_PULLUP(GPIOD_PIN14) |        \
    638                                      PIN_PUPDR_PULLUP(GPIOD_PIN15))
    639 #define VAL_GPIOD_ODR               (PIN_ODR_HIGH(GPIOD_PIN0) |             \
    640                                      PIN_ODR_HIGH(GPIOD_PIN1) |             \
    641                                      PIN_ODR_HIGH(GPIOD_PIN2) |             \
    642                                      PIN_ODR_HIGH(GPIOD_PIN3) |             \
    643                                      PIN_ODR_HIGH(GPIOD_PIN4) |             \
    644                                      PIN_ODR_HIGH(GPIOD_PIN5) |             \
    645                                      PIN_ODR_HIGH(GPIOD_PIN6) |             \
    646                                      PIN_ODR_HIGH(GPIOD_PIN7) |             \
    647                                      PIN_ODR_HIGH(GPIOD_PIN8) |             \
    648                                      PIN_ODR_HIGH(GPIOD_PIN9) |             \
    649                                      PIN_ODR_HIGH(GPIOD_PIN10) |            \
    650                                      PIN_ODR_HIGH(GPIOD_PIN11) |            \
    651                                      PIN_ODR_HIGH(GPIOD_PIN12) |            \
    652                                      PIN_ODR_HIGH(GPIOD_PIN13) |            \
    653                                      PIN_ODR_HIGH(GPIOD_PIN14) |            \
    654                                      PIN_ODR_HIGH(GPIOD_PIN15))
    655 #define VAL_GPIOD_AFRL              (PIN_AFIO_AF(GPIOD_PIN0, 0U) |          \
    656                                      PIN_AFIO_AF(GPIOD_PIN1, 0U) |          \
    657                                      PIN_AFIO_AF(GPIOD_PIN2, 0U) |          \
    658                                      PIN_AFIO_AF(GPIOD_PIN3, 0U) |          \
    659                                      PIN_AFIO_AF(GPIOD_PIN4, 0U) |          \
    660                                      PIN_AFIO_AF(GPIOD_PIN5, 0U) |          \
    661                                      PIN_AFIO_AF(GPIOD_PIN6, 0U) |          \
    662                                      PIN_AFIO_AF(GPIOD_PIN7, 0U))
    663 #define VAL_GPIOD_AFRH              (PIN_AFIO_AF(GPIOD_PIN8, 0U) |          \
    664                                      PIN_AFIO_AF(GPIOD_PIN9, 0U) |          \
    665                                      PIN_AFIO_AF(GPIOD_PIN10, 0U) |         \
    666                                      PIN_AFIO_AF(GPIOD_PIN11, 0U) |         \
    667                                      PIN_AFIO_AF(GPIOD_PIN12, 0U) |         \
    668                                      PIN_AFIO_AF(GPIOD_PIN13, 0U) |         \
    669                                      PIN_AFIO_AF(GPIOD_PIN14, 0U) |         \
    670                                      PIN_AFIO_AF(GPIOD_PIN15, 0U))
    671 
    672 /*
    673  * GPIOF setup:
    674  *
    675  ******** PF0  - OSC_IN                    (input floating).
    676  ******** PF1  - OSC_OUT                   (input floating).
    677  * PF0  - I2C1_SDA                  (alternate 0).
    678  * PF1  - I2C1_SCL                  (alternate 0).
    679  * PF2  - PIN2                      (input pullup).
    680  * PF3  - PIN3                      (input pullup).
    681  * PF4  - PIN4                      (input pullup).
    682  * PF5  - PIN5                      (input pullup).
    683  * PF6  - PIN6                      (input pullup).
    684  * PF7  - PIN7                      (input pullup).
    685  * PF8  - PIN8                      (input pullup).
    686  * PF9  - PIN9                      (input pullup).
    687  * PF10 - PIN10                     (input pullup).
    688  * PF11 - PIN11                     (input pullup).
    689  * PF12 - PIN12                     (input pullup).
    690  * PF13 - PIN13                     (input pullup).
    691  * PF14 - PIN14                     (input pullup).
    692  * PF15 - PIN15                     (input pullup).
    693  */
    694 #define VAL_GPIOF_MODER             (PIN_MODE_ALTERNATE(GPIOF_I2C1_SDA) |         \
    695                                      PIN_MODE_ALTERNATE(GPIOF_I2C1_SCL) |        \
    696                                      PIN_MODE_INPUT(GPIOF_PIN2) |           \
    697                                      PIN_MODE_INPUT(GPIOF_PIN3) |           \
    698                                      PIN_MODE_INPUT(GPIOF_PIN4) |           \
    699                                      PIN_MODE_INPUT(GPIOF_PIN5) |           \
    700                                      PIN_MODE_INPUT(GPIOF_PIN6) |           \
    701                                      PIN_MODE_INPUT(GPIOF_PIN7) |           \
    702                                      PIN_MODE_INPUT(GPIOF_PIN8) |           \
    703                                      PIN_MODE_INPUT(GPIOF_PIN9) |           \
    704                                      PIN_MODE_INPUT(GPIOF_PIN10) |          \
    705                                      PIN_MODE_INPUT(GPIOF_PIN11) |          \
    706                                      PIN_MODE_INPUT(GPIOF_PIN12) |          \
    707                                      PIN_MODE_INPUT(GPIOF_PIN13) |          \
    708                                      PIN_MODE_INPUT(GPIOF_PIN14) |          \
    709                                      PIN_MODE_INPUT(GPIOF_PIN15))
    710 #define VAL_GPIOF_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOF_I2C1_SDA) |     \
    711                                      PIN_OTYPE_PUSHPULL(GPIOF_I2C1_SCL) |    \
    712                                      PIN_OTYPE_PUSHPULL(GPIOF_PIN2) |       \
    713                                      PIN_OTYPE_PUSHPULL(GPIOF_PIN3) |       \
    714                                      PIN_OTYPE_PUSHPULL(GPIOF_PIN4) |       \
    715                                      PIN_OTYPE_PUSHPULL(GPIOF_PIN5) |       \
    716                                      PIN_OTYPE_PUSHPULL(GPIOF_PIN6) |       \
    717                                      PIN_OTYPE_PUSHPULL(GPIOF_PIN7) |       \
    718                                      PIN_OTYPE_PUSHPULL(GPIOF_PIN8) |       \
    719                                      PIN_OTYPE_PUSHPULL(GPIOF_PIN9) |       \
    720                                      PIN_OTYPE_PUSHPULL(GPIOF_PIN10) |      \
    721                                      PIN_OTYPE_PUSHPULL(GPIOF_PIN11) |      \
    722                                      PIN_OTYPE_PUSHPULL(GPIOF_PIN12) |      \
    723                                      PIN_OTYPE_PUSHPULL(GPIOF_PIN13) |      \
    724                                      PIN_OTYPE_PUSHPULL(GPIOF_PIN14) |      \
    725                                      PIN_OTYPE_PUSHPULL(GPIOF_PIN15))
    726 #define VAL_GPIOF_OSPEEDR           (PIN_OSPEED_HIGH(GPIOF_I2C1_SDA) |     \
    727                                      PIN_OSPEED_HIGH(GPIOF_I2C1_SCL) |    \
    728                                      PIN_OSPEED_VERYLOW(GPIOF_PIN2) |       \
    729                                      PIN_OSPEED_VERYLOW(GPIOF_PIN3) |       \
    730                                      PIN_OSPEED_VERYLOW(GPIOF_PIN4) |       \
    731                                      PIN_OSPEED_VERYLOW(GPIOF_PIN5) |       \
    732                                      PIN_OSPEED_VERYLOW(GPIOF_PIN6) |       \
    733                                      PIN_OSPEED_VERYLOW(GPIOF_PIN7) |       \
    734                                      PIN_OSPEED_VERYLOW(GPIOF_PIN8) |       \
    735                                      PIN_OSPEED_VERYLOW(GPIOF_PIN9) |       \
    736                                      PIN_OSPEED_VERYLOW(GPIOF_PIN10) |      \
    737                                      PIN_OSPEED_VERYLOW(GPIOF_PIN11) |      \
    738                                      PIN_OSPEED_VERYLOW(GPIOF_PIN12) |      \
    739                                      PIN_OSPEED_VERYLOW(GPIOF_PIN13) |      \
    740                                      PIN_OSPEED_VERYLOW(GPIOF_PIN14) |      \
    741                                      PIN_OSPEED_VERYLOW(GPIOF_PIN15))
    742 #define VAL_GPIOF_PUPDR             (PIN_PUPDR_PULLUP(GPIOF_I2C1_SDA) |     \
    743                                      PIN_PUPDR_PULLUP(GPIOF_I2C1_SCL) |    \
    744                                      PIN_PUPDR_PULLUP(GPIOF_PIN2) |         \
    745                                      PIN_PUPDR_PULLUP(GPIOF_PIN3) |         \
    746                                      PIN_PUPDR_PULLUP(GPIOF_PIN4) |         \
    747                                      PIN_PUPDR_PULLUP(GPIOF_PIN5) |         \
    748                                      PIN_PUPDR_PULLUP(GPIOF_PIN6) |         \
    749                                      PIN_PUPDR_PULLUP(GPIOF_PIN7) |         \
    750                                      PIN_PUPDR_PULLUP(GPIOF_PIN8) |         \
    751                                      PIN_PUPDR_PULLUP(GPIOF_PIN9) |         \
    752                                      PIN_PUPDR_PULLUP(GPIOF_PIN10) |        \
    753                                      PIN_PUPDR_PULLUP(GPIOF_PIN11) |        \
    754                                      PIN_PUPDR_PULLUP(GPIOF_PIN12) |        \
    755                                      PIN_PUPDR_PULLUP(GPIOF_PIN13) |        \
    756                                      PIN_PUPDR_PULLUP(GPIOF_PIN14) |        \
    757                                      PIN_PUPDR_PULLUP(GPIOF_PIN15))
    758 #define VAL_GPIOF_ODR               (PIN_ODR_HIGH(GPIOF_I2C1_SDA) |           \
    759                                      PIN_ODR_HIGH(GPIOF_I2C1_SCL) |          \
    760                                      PIN_ODR_HIGH(GPIOF_PIN2) |             \
    761                                      PIN_ODR_HIGH(GPIOF_PIN3) |             \
    762                                      PIN_ODR_HIGH(GPIOF_PIN4) |             \
    763                                      PIN_ODR_HIGH(GPIOF_PIN5) |             \
    764                                      PIN_ODR_HIGH(GPIOF_PIN6) |             \
    765                                      PIN_ODR_HIGH(GPIOF_PIN7) |             \
    766                                      PIN_ODR_HIGH(GPIOF_PIN8) |             \
    767                                      PIN_ODR_HIGH(GPIOF_PIN9) |             \
    768                                      PIN_ODR_HIGH(GPIOF_PIN10) |            \
    769                                      PIN_ODR_HIGH(GPIOF_PIN11) |            \
    770                                      PIN_ODR_HIGH(GPIOF_PIN12) |            \
    771                                      PIN_ODR_HIGH(GPIOF_PIN13) |            \
    772                                      PIN_ODR_HIGH(GPIOF_PIN14) |            \
    773                                      PIN_ODR_HIGH(GPIOF_PIN15))
    774 #define VAL_GPIOF_AFRL              (PIN_AFIO_AF(GPIOF_I2C1_SDA, 0U) |        \
    775                                      PIN_AFIO_AF(GPIOF_I2C1_SCL, 0U) |       \
    776                                      PIN_AFIO_AF(GPIOF_PIN2, 0U) |          \
    777                                      PIN_AFIO_AF(GPIOF_PIN3, 0U) |          \
    778                                      PIN_AFIO_AF(GPIOF_PIN4, 0U) |          \
    779                                      PIN_AFIO_AF(GPIOF_PIN5, 0U) |          \
    780                                      PIN_AFIO_AF(GPIOF_PIN6, 0U) |          \
    781                                      PIN_AFIO_AF(GPIOF_PIN7, 0U))
    782 #define VAL_GPIOF_AFRH              (PIN_AFIO_AF(GPIOF_PIN8, 0U) |          \
    783                                      PIN_AFIO_AF(GPIOF_PIN9, 0U) |          \
    784                                      PIN_AFIO_AF(GPIOF_PIN10, 0U) |         \
    785                                      PIN_AFIO_AF(GPIOF_PIN11, 0U) |         \
    786                                      PIN_AFIO_AF(GPIOF_PIN12, 0U) |         \
    787                                      PIN_AFIO_AF(GPIOF_PIN13, 0U) |         \
    788                                      PIN_AFIO_AF(GPIOF_PIN14, 0U) |         \
    789                                      PIN_AFIO_AF(GPIOF_PIN15, 0U))
    790 
    791 /*===========================================================================*/
    792 /* External declarations.                                                    */
    793 /*===========================================================================*/
    794 
    795 #if !defined(_FROM_ASM_)
    796 #ifdef __cplusplus
    797 extern "C" {
    798 #endif
    799   void boardInit(void);
    800 #ifdef __cplusplus
    801 }
    802 #endif
    803 #endif /* _FROM_ASM_ */
    804 
    805 #endif /* BOARD_H */