xref: /rk3399_ARM-atf/include/drivers/st/stm32_sdmmc2.h (revision 8e2e5e8b182abfc2034a4730804b870f0cc2d7f9)
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