xref: /rk3399_ARM-atf/include/drivers/st/stm32_sdmmc2.h (revision 09d40e0e08283a249e7dce0e106c07c5141f9b7e)
18e2e5e8bSYann Gautier /*
28e2e5e8bSYann Gautier  * Copyright (c) 2017-2018, 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 
12*09d40e0eSAntonio Nino Diaz #include <drivers/mmc.h>
13*09d40e0eSAntonio 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;
258e2e5e8bSYann Gautier 	bool			use_dma;
268e2e5e8bSYann Gautier };
278e2e5e8bSYann Gautier 
288e2e5e8bSYann Gautier unsigned long long stm32_sdmmc2_mmc_get_device_size(void);
298e2e5e8bSYann Gautier int stm32_sdmmc2_mmc_init(struct stm32_sdmmc2_params *params);
308e2e5e8bSYann Gautier bool plat_sdmmc2_use_dma(unsigned int instance, unsigned int memory);
318e2e5e8bSYann Gautier 
328e2e5e8bSYann Gautier #endif /* STM32_SDMMC2_H */
33