18e2e5e8bSYann Gautier /* 2*2c2c9f1eSYann Gautier * Copyright (c) 2017-2019, STMicroelectronics - All Rights Reserved 38e2e5e8bSYann Gautier * 48e2e5e8bSYann Gautier * SPDX-License-Identifier: BSD-3-Clause 58e2e5e8bSYann Gautier */ 68e2e5e8bSYann Gautier 78e2e5e8bSYann Gautier #ifndef STM32_SDMMC2_H 88e2e5e8bSYann Gautier #define STM32_SDMMC2_H 98e2e5e8bSYann Gautier 108e2e5e8bSYann Gautier #include <stdbool.h> 118e2e5e8bSYann Gautier 1209d40e0eSAntonio Nino Diaz #include <drivers/mmc.h> 1309d40e0eSAntonio Nino Diaz 148e2e5e8bSYann Gautier struct stm32_sdmmc2_params { 158e2e5e8bSYann Gautier uintptr_t reg_base; 168e2e5e8bSYann Gautier unsigned int clk_rate; 178e2e5e8bSYann Gautier unsigned int bus_width; 188e2e5e8bSYann Gautier unsigned int flags; 198e2e5e8bSYann Gautier struct mmc_device_info *device_info; 208e2e5e8bSYann Gautier unsigned int pin_ckin; 218e2e5e8bSYann Gautier unsigned int negedge; 228e2e5e8bSYann Gautier unsigned int dirpol; 238e2e5e8bSYann Gautier unsigned int clock_id; 248e2e5e8bSYann Gautier unsigned int reset_id; 25*2c2c9f1eSYann Gautier unsigned int max_freq; 268e2e5e8bSYann Gautier bool use_dma; 278e2e5e8bSYann Gautier }; 288e2e5e8bSYann Gautier 298e2e5e8bSYann Gautier unsigned long long stm32_sdmmc2_mmc_get_device_size(void); 308e2e5e8bSYann Gautier int stm32_sdmmc2_mmc_init(struct stm32_sdmmc2_params *params); 318e2e5e8bSYann Gautier bool plat_sdmmc2_use_dma(unsigned int instance, unsigned int memory); 328e2e5e8bSYann Gautier 338e2e5e8bSYann Gautier #endif /* STM32_SDMMC2_H */ 34