|
53 | 53 | #endif |
54 | 54 |
|
55 | 55 | #define SD_CLK_EDGE SDMMC_CLOCK_EDGE_RISING |
56 | | - #define SD_CLK_BYPASS SDMMC_CLOCK_BYPASS_DISABLE |
| 56 | + #if defined(SDMMC_CLOCK_BYPASS_DISABLE) |
| 57 | + #define SD_CLK_BYPASS SDMMC_CLOCK_BYPASS_DISABLE |
| 58 | + #endif |
57 | 59 | #define SD_CLK_PWR_SAVE SDMMC_CLOCK_POWER_SAVE_DISABLE |
58 | 60 | #define SD_BUS_WIDE_1B SDMMC_BUS_WIDE_1B |
59 | 61 | #define SD_BUS_WIDE_4B SDMMC_BUS_WIDE_4B |
60 | 62 | #define SD_BUS_WIDE_8B SDMMC_BUS_WIDE_8B |
61 | 63 | #define SD_HW_FLOW_CTRL_ENABLE SDMMC_HARDWARE_FLOW_CONTROL_ENABLE |
62 | 64 | #define SD_HW_FLOW_CTRL_DISABLE SDMMC_HARDWARE_FLOW_CONTROL_DISABLE |
63 | 65 |
|
64 | | - #ifdef STM32H7xx |
65 | | - #define SD_CLK_DIV 1 |
66 | | - #else |
| 66 | + #if defined(SDMMC_TRANSFER_CLK_DIV) |
67 | 67 | #define SD_CLK_DIV SDMMC_TRANSFER_CLK_DIV |
| 68 | + #else |
| 69 | + #define SD_CLK_DIV SDMMC_NSpeed_CLK_DIV |
68 | 70 | #endif |
69 | 71 |
|
70 | 72 | #ifdef SDMMC_TRANSCEIVER_ENABLE |
|
77 | 79 | #define SD_CLK_ENABLE __HAL_RCC_SDIO_CLK_ENABLE |
78 | 80 | #define SD_CLK_DISABLE __HAL_RCC_SDIO_CLK_DISABLE |
79 | 81 | #define SD_CLK_EDGE SDIO_CLOCK_EDGE_RISING |
80 | | - #define SD_CLK_BYPASS SDIO_CLOCK_BYPASS_DISABLE |
| 82 | + #if defined(SDIO_CLOCK_BYPASS_DISABLE) |
| 83 | + #define SD_CLK_BYPASS SDIO_CLOCK_BYPASS_DISABLE |
| 84 | + #endif |
81 | 85 | #define SD_CLK_PWR_SAVE SDIO_CLOCK_POWER_SAVE_DISABLE |
82 | 86 | #define SD_BUS_WIDE_1B SDIO_BUS_WIDE_1B |
83 | 87 | #define SD_BUS_WIDE_4B SDIO_BUS_WIDE_4B |
@@ -132,7 +136,7 @@ uint8_t BSP_SD_Init(void) |
132 | 136 | uSdHandle.Instance = SD_INSTANCE; |
133 | 137 |
|
134 | 138 | uSdHandle.Init.ClockEdge = SD_CLK_EDGE; |
135 | | -#if !defined(STM32L4xx) && !defined(STM32H7xx) |
| 139 | +#if defined(SD_CLK_BYPASS) |
136 | 140 | uSdHandle.Init.ClockBypass = SD_CLK_BYPASS; |
137 | 141 | #endif |
138 | 142 | uSdHandle.Init.ClockPowerSave = SD_CLK_PWR_SAVE; |
|
0 commit comments