1*8e2e5e8bSYann Gautier /* 2*8e2e5e8bSYann Gautier * Copyright (c) 2017-2018, STMicroelectronics - All Rights Reserved 3*8e2e5e8bSYann Gautier * 4*8e2e5e8bSYann Gautier * SPDX-License-Identifier: BSD-3-Clause 5*8e2e5e8bSYann Gautier */ 6*8e2e5e8bSYann Gautier 7*8e2e5e8bSYann Gautier #ifndef STM32_SDMMC2_H 8*8e2e5e8bSYann Gautier #define STM32_SDMMC2_H 9*8e2e5e8bSYann Gautier 10*8e2e5e8bSYann Gautier #include <mmc.h> 11*8e2e5e8bSYann Gautier #include <stdbool.h> 12*8e2e5e8bSYann Gautier 13*8e2e5e8bSYann Gautier struct stm32_sdmmc2_params { 14*8e2e5e8bSYann Gautier uintptr_t reg_base; 15*8e2e5e8bSYann Gautier unsigned int clk_rate; 16*8e2e5e8bSYann Gautier unsigned int bus_width; 17*8e2e5e8bSYann Gautier unsigned int flags; 18*8e2e5e8bSYann Gautier struct mmc_device_info *device_info; 19*8e2e5e8bSYann Gautier unsigned int pin_ckin; 20*8e2e5e8bSYann Gautier unsigned int negedge; 21*8e2e5e8bSYann Gautier unsigned int dirpol; 22*8e2e5e8bSYann Gautier unsigned int clock_id; 23*8e2e5e8bSYann Gautier unsigned int reset_id; 24*8e2e5e8bSYann Gautier bool use_dma; 25*8e2e5e8bSYann Gautier }; 26*8e2e5e8bSYann Gautier 27*8e2e5e8bSYann Gautier unsigned long long stm32_sdmmc2_mmc_get_device_size(void); 28*8e2e5e8bSYann Gautier int stm32_sdmmc2_mmc_init(struct stm32_sdmmc2_params *params); 29*8e2e5e8bSYann Gautier bool plat_sdmmc2_use_dma(unsigned int instance, unsigned int memory); 30*8e2e5e8bSYann Gautier 31*8e2e5e8bSYann Gautier #endif /* STM32_SDMMC2_H */ 32