|
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