|
80 | 80 |
|
81 | 81 | /* Includes ------------------------------------------------------------------*/ |
82 | 82 | #include "bsp_sd.h" |
| 83 | +#include "PeripheralPins.h" |
83 | 84 |
|
84 | 85 | #ifdef SDMMC1 |
85 | 86 | /* Definition for BSP SD */ |
|
99 | 100 | #else |
100 | 101 | #define SD_CLK_DIV SDMMC_TRANSFER_CLK_DIV |
101 | 102 | #endif |
102 | | -/* Definition for MSP SD */ |
103 | | -#define SD_AF GPIO_AF12_SDMMC1 |
104 | 103 | #elif defined(SDIO) |
105 | 104 | /* Definition for BSP SD */ |
106 | 105 | #define SD_INSTANCE SDIO |
|
115 | 114 | #define SD_HW_FLOW_CTRL SDIO_HARDWARE_FLOW_CONTROL_DISABLE |
116 | 115 | #endif |
117 | 116 | #define SD_CLK_DIV SDIO_TRANSFER_CLK_DIV |
118 | | -/* Definition for MSP SD */ |
119 | | -#ifndef STM32F1xx |
120 | | -#define SD_AF GPIO_AF12_SDIO |
121 | | -#endif |
122 | 117 | #else |
123 | 118 | #error "Unknown SD_INSTANCE" |
124 | 119 | #endif |
125 | 120 |
|
126 | | -#ifdef GPIO_SPEED_FREQ_VERY_HIGH |
127 | | -#define SD_GPIO_SPEED GPIO_SPEED_FREQ_VERY_HIGH |
128 | | -#else |
129 | | -#define SD_GPIO_SPEED GPIO_SPEED_FREQ_HIGH |
130 | | -#endif |
131 | | - |
132 | 121 | /* BSP SD Private Variables */ |
133 | 122 | static SD_HandleTypeDef uSdHandle; |
134 | 123 | static uint32_t SD_detect_gpio_pin = GPIO_PIN_All; |
@@ -408,31 +397,16 @@ __weak void BSP_SD_MspInit(SD_HandleTypeDef *hsd, void *Params) |
408 | 397 | { |
409 | 398 | UNUSED(hsd); |
410 | 399 | UNUSED(Params); |
411 | | - GPIO_InitTypeDef gpio_init_structure; |
| 400 | + |
| 401 | + /* Configure SD GPIOs */ |
| 402 | + const PinMap *map = PinMap_SD; |
| 403 | + while (map->pin != NC) { |
| 404 | + pin_function(map->pin, map->function); |
| 405 | + map++; |
| 406 | + } |
412 | 407 |
|
413 | 408 | /* Enable SDIO clock */ |
414 | 409 | SD_CLK_ENABLE(); |
415 | | - |
416 | | - /* Enable GPIOs clock */ |
417 | | - __HAL_RCC_GPIOC_CLK_ENABLE(); |
418 | | - __HAL_RCC_GPIOD_CLK_ENABLE(); |
419 | | - |
420 | | - /* Common GPIO configuration */ |
421 | | - gpio_init_structure.Mode = GPIO_MODE_AF_PP; |
422 | | - gpio_init_structure.Pull = GPIO_PULLUP; |
423 | | - gpio_init_structure.Speed = SD_GPIO_SPEED; |
424 | | -#ifndef STM32F1xx |
425 | | - gpio_init_structure.Alternate = SD_AF; |
426 | | -#endif |
427 | | - /* GPIOC configuration */ |
428 | | - gpio_init_structure.Pin = GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12; |
429 | | - |
430 | | - HAL_GPIO_Init(GPIOC, &gpio_init_structure); |
431 | | - |
432 | | - /* GPIOD configuration */ |
433 | | - gpio_init_structure.Pin = GPIO_PIN_2; |
434 | | - HAL_GPIO_Init(GPIOD, &gpio_init_structure); |
435 | | - |
436 | 410 | } |
437 | 411 |
|
438 | 412 | /** |
|
0 commit comments