File indexing completed on 2025-05-11 08:23:38
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 #ifdef HAVE_CONFIG_H
0029 #include "config.h"
0030 #endif
0031
0032 #include <stm32h7/hal.h>
0033
0034 static const stm32h7_gpio_config gpiob = {
0035 .regs = GPIOB,
0036 .config = {
0037 .Pin = GPIO_PIN_8 | GPIO_PIN_9,
0038 .Mode = GPIO_MODE_AF_PP,
0039 .Pull = GPIO_NOPULL,
0040 .Speed = GPIO_SPEED_FREQ_VERY_HIGH,
0041 .Alternate = GPIO_AF7_SDMMC1
0042 }
0043 };
0044
0045 static const stm32h7_gpio_config gpioc_af12 = {
0046 .regs = GPIOC,
0047 .config = {
0048 .Pin = GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12,
0049 .Mode = GPIO_MODE_AF_PP,
0050 .Pull = GPIO_NOPULL,
0051 .Speed = GPIO_SPEED_FREQ_VERY_HIGH,
0052 .Alternate = GPIO_AF12_SDMMC1
0053 }
0054 };
0055
0056 static const stm32h7_gpio_config gpioc_af8 = {
0057 .regs = GPIOC,
0058 .config = {
0059 .Pin = GPIO_PIN_6 | GPIO_PIN_7,
0060 .Mode = GPIO_MODE_AF_PP,
0061 .Pull = GPIO_NOPULL,
0062 .Speed = GPIO_SPEED_FREQ_VERY_HIGH,
0063 .Alternate = GPIO_AF8_SDMMC1
0064 }
0065 };
0066
0067 static const stm32h7_gpio_config gpiod = {
0068 .regs = GPIOD,
0069 .config = {
0070 .Pin = GPIO_PIN_2,
0071 .Mode = GPIO_MODE_AF_PP,
0072 .Pull = GPIO_NOPULL,
0073 .Speed = GPIO_SPEED_FREQ_VERY_HIGH,
0074 .Alternate = GPIO_AF12_SDMMC1
0075 }
0076 };
0077
0078 void
0079 HAL_SD_MspInit(SD_HandleTypeDef *hsd)
0080 {
0081 stm32h7_clk_enable(STM32H7_MODULE_SDMMC1);
0082 stm32h7_gpio_init(&gpiob);
0083 stm32h7_gpio_init(&gpioc_af12);
0084 stm32h7_gpio_init(&gpioc_af8);
0085 stm32h7_gpio_init(&gpiod);
0086 __HAL_RCC_SDMMC1_FORCE_RESET();
0087 __HAL_RCC_SDMMC1_RELEASE_RESET();
0088 }