|
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