diff options
Diffstat (limited to 'board.c')
-rw-r--r-- | board.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/board.c b/board.c new file mode 100644 index 00000000..77ca6e90 --- /dev/null +++ b/board.c @@ -0,0 +1,50 @@ +#include "ch.h" +#include "hal.h" + +/** +* @brief PAL setup. +* @details Digital I/O ports static configuration as defined in @p board.h. +* This variable is used by the HAL when initializing the PAL driver. +*/ +#if HAL_USE_PAL || defined(__DOXYGEN__) +const PALConfig pal_default_config = +{ + {VAL_GPIOAODR, VAL_GPIOACRL, VAL_GPIOACRH}, + {VAL_GPIOBODR, VAL_GPIOBCRL, VAL_GPIOBCRH}, + {VAL_GPIOCODR, VAL_GPIOCCRL, VAL_GPIOCCRH}, + {VAL_GPIODODR, VAL_GPIODCRL, VAL_GPIODCRH}, + {VAL_GPIOEODR, VAL_GPIOECRL, VAL_GPIOECRH}, +}; +#endif + +#if HAL_USE_MMC_SPI +/* Board-related functions related to the MMC_SPI driver.*/ +bool_t mmc_lld_is_card_inserted(MMCDriver *mmcp) { + (void)mmcp; + return !palReadPad(GPIOA, GPIOA_MMCCP); +} + +bool_t mmc_lld_is_write_protected(MMCDriver *mmcp) { + (void)mmcp; + return 0; +} +#endif + +/* + * Early initialization code. + * This initialization must be performed just after stack setup and before + * any other initialization. + */ +void __early_init(void) { + stm32_clock_init(); +} + +void boardInit(void) { + palClearPad(GPIOD, GPIOD_LED1); + palClearPad(GPIOD, GPIOD_LED2); + palClearPad(GPIOD, GPIOD_LED3); + palClearPad(GPIOD, GPIOD_LED4); + + palSetPad(GPIOC, GPIOC_USBPWR); +} + |