Imt.Base C++ API V4.1.1.0
Loading...
Searching...
No Matches
MMC.h
Go to the documentation of this file.
1// (c) IMT - Information Management Technology AG, CH-9470 Buchs, www.imt.ch.
2
3#ifndef IMT_BASE_HAL_STM32F767_MMC_H
4#define IMT_BASE_HAL_STM32F767_MMC_H
5
10
11#include "SDMMC.h"
12
13namespace imt {
14namespace base {
15namespace hal {
16namespace stm32f767 {
17namespace peripherals {
18
23class MMC : public SDMMC {
24public:
25
33
34 // Class operators
35 MMC() = delete;
36 ~MMC() = delete;
37 MMC(const MMC& other) = delete;
38 MMC(const MMC&& other) = delete;
39 MMC& operator=(const MMC& other) = delete;
40 MMC& operator=(const MMC&& other) = delete;
41
42private:
43
51 static SDMMCTypes::Status initPeripheral(Handle& hsd);
52
60 static SDMMCTypes::Error powerOn(Handle& hmmc);
61
67 static SDMMCTypes::Error initCard(Handle& hmmc);
68
76 static SDMMCTypes::Status getCardCSD(Handle& hmmc, CardCSD& pCSD);
77
87 static SDMMCTypes::Status readExtCSD(Handle& hmmc, uint32_t& pFieldData, uint16_t const fieldIndex, uint32_t const timeout);
88
95 static SDMMCTypes::Error cmdSendExtCSD(registers::SDMMCRegisters& SDMMCx, uint32_t const argument);
96
97 // MMC constants
98 static constexpr uint32_t SDMMC_MAX_VOLT_TRIAL = 0x0000FFFFU;
99 static constexpr uint32_t eMMC_HIGH_VOLTAGE_RANGE = 0xC0FF8000U;
100};
101
102} // namespace peripherals
103} // namespace stm32f767
104} // namespace hal
105} // namespace base
106} // namespace imt
107
108#endif // IMT_BASE_HAL_STM32F767_MMC_H
SD/SDIO/MMC card host interface (SDMMC) Reference: ST_CortexM7_STM32F769_TRM_Rev4....
Definition MMC.h:23
MMC & operator=(const MMC &&other)=delete
static SDMMCTypes::Status init(Handle &hsd)
Initializes the SDMMC peripheral according to the specified parameters in the Handle and initiate the...
MMC & operator=(const MMC &other)=delete
SD/SDIO/MMC card host interface (SDMMC) Reference: ST_CortexM7_STM32F769_TRM_Rev4....
Definition SDMMC.h:21
Status
HAL Status structures definition TODO: move to a generic file?
Definition SDMMCTypes.h:110
This is a application specific file which is used to configure Imt.Base.Core.Math.
unsigned __int16 uint16_t
Definition stdint.h:63
unsigned __int32 uint32_t
Definition stdint.h:64
Card Specific Data: CSD Register.
Definition SDMMC.h:150
SD Error status enumeration Structure definition.
Definition SDMMCTypes.h:25
SD/SDIO/MMC card host interface (SDMMC) module register structure.