mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-28 16:14:04 +02:00
Omap35xxPkg/MmcHostDxe: Clean code to respect EDK2 coding convention
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12254 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
ef2455b175
commit
66f47f9fc0
@ -16,9 +16,9 @@
|
||||
#include "MmcHostDxe.h"
|
||||
|
||||
EMBEDDED_EXTERNAL_DEVICE *gTPS65950;
|
||||
UINT8 MaxDataTransferRate = 0;
|
||||
UINT32 Rca = 0;
|
||||
BOOLEAN BitModeSet = FALSE;
|
||||
UINT8 mMaxDataTransferRate = 0;
|
||||
UINT32 mRca = 0;
|
||||
BOOLEAN mBitModeSet = FALSE;
|
||||
|
||||
|
||||
typedef struct {
|
||||
@ -116,16 +116,17 @@ CalculateCardCLKD (
|
||||
UINTN *ClockFrequencySelect
|
||||
)
|
||||
{
|
||||
DEBUG((EFI_D_ERROR, "CalculateCardCLKD()\n"));
|
||||
UINTN TransferRateValue = 0;
|
||||
UINTN TimeValue = 0 ;
|
||||
UINTN Frequency = 0;
|
||||
|
||||
DEBUG ((DEBUG_BLKIO, "CalculateCardCLKD()\n"));
|
||||
|
||||
// For SD Cards we would need to send CMD6 to set
|
||||
// speeds abouve 25MHz. High Speed mode 50 MHz and up
|
||||
|
||||
// Calculate Transfer rate unit (Bits 2:0 of TRAN_SPEED)
|
||||
switch (MaxDataTransferRate & 0x7) { // 2
|
||||
switch (mMaxDataTransferRate & 0x7) { // 2
|
||||
case 0:
|
||||
TransferRateValue = 100 * 1000;
|
||||
break;
|
||||
@ -143,12 +144,13 @@ CalculateCardCLKD (
|
||||
break;
|
||||
|
||||
default:
|
||||
DEBUG((EFI_D_ERROR, "Invalid parameter.\n"));
|
||||
DEBUG ((DEBUG_BLKIO, "Invalid parameter.\n"));
|
||||
ASSERT(FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
//Calculate Time value (Bits 6:3 of TRAN_SPEED)
|
||||
switch ((MaxDataTransferRate >> 3) & 0xF) { // 6
|
||||
switch ((mMaxDataTransferRate >> 3) & 0xF) { // 6
|
||||
case 1:
|
||||
TimeValue = 10;
|
||||
break;
|
||||
@ -210,8 +212,9 @@ CalculateCardCLKD (
|
||||
break;
|
||||
|
||||
default:
|
||||
DEBUG((EFI_D_ERROR, "Invalid parameter.\n"));
|
||||
DEBUG ((DEBUG_BLKIO, "Invalid parameter.\n"));
|
||||
ASSERT(FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
Frequency = TransferRateValue * TimeValue/10;
|
||||
@ -219,7 +222,7 @@ CalculateCardCLKD (
|
||||
// Calculate Clock divider value to program in MMCHS_SYSCTL[CLKD] field.
|
||||
*ClockFrequencySelect = ((MMC_REFERENCE_CLK/Frequency) + 1);
|
||||
|
||||
DEBUG ((EFI_D_INFO, "MaxDataTransferRate: 0x%x, Frequency: %d KHz, ClockFrequencySelect: %x\n", MaxDataTransferRate, Frequency/1000, *ClockFrequencySelect));
|
||||
DEBUG ((DEBUG_BLKIO, "mMaxDataTransferRate: 0x%x, Frequency: %d KHz, ClockFrequencySelect: %x\n", mMaxDataTransferRate, Frequency/1000, *ClockFrequencySelect));
|
||||
}
|
||||
|
||||
VOID
|
||||
@ -227,7 +230,8 @@ UpdateMMCHSClkFrequency (
|
||||
UINTN NewCLKD
|
||||
)
|
||||
{
|
||||
DEBUG((EFI_D_ERROR, "UpdateMMCHSClkFrequency()\n"));
|
||||
DEBUG ((DEBUG_BLKIO, "UpdateMMCHSClkFrequency()\n"));
|
||||
|
||||
// Set Clock enable to 0x0 to not provide the clock to the card
|
||||
MmioAnd32 (MMCHS_SYSCTL, ~CEN);
|
||||
|
||||
@ -246,10 +250,11 @@ InitializeMMCHS (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
DEBUG((EFI_D_ERROR, "InitializeMMCHS()\n"));
|
||||
UINT8 Data = 0;
|
||||
UINT8 Data;
|
||||
EFI_STATUS Status;
|
||||
|
||||
DEBUG ((DEBUG_BLKIO, "InitializeMMCHS()\n"));
|
||||
|
||||
// Select Device group to belong to P1 device group in Power IC.
|
||||
Data = DEV_GRP_P1;
|
||||
Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VMMC1_DEV_GRP), 1, &Data);
|
||||
@ -270,7 +275,6 @@ InitializeMMCHS (
|
||||
Data = CARD_DETECT_ENABLE;
|
||||
gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID2, TPS65950_GPIO_CTRL), 1, &Data);
|
||||
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
@ -279,7 +283,6 @@ MMCIsCardPresent (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
//DEBUG((EFI_D_ERROR, "MMCIsCardPresent()\n"));
|
||||
EFI_STATUS Status;
|
||||
UINT8 Data;
|
||||
|
||||
@ -332,14 +335,15 @@ MMCSendCommand (
|
||||
IN UINT32 Argument
|
||||
)
|
||||
{
|
||||
UINTN MmcStatus;
|
||||
UINTN RetryCount = 0;
|
||||
|
||||
if (IgnoreCommand(MmcCmd))
|
||||
return EFI_SUCCESS;
|
||||
|
||||
MmcCmd = TranslateCommand(MmcCmd);
|
||||
|
||||
//DEBUG ((EFI_D_ERROR, "MMCSendCommand(%d)\n", MmcCmd));
|
||||
UINTN MmcStatus;
|
||||
UINTN RetryCount = 0;
|
||||
|
||||
// Check if command line is in use or not. Poll till command line is available.
|
||||
while ((MmioRead32 (MMCHS_PSTATE) & DATI_MASK) == DATI_NOT_ALLOWED);
|
||||
@ -390,7 +394,7 @@ MMCSendCommand (
|
||||
}
|
||||
|
||||
if (RetryCount == MAX_RETRY_COUNT) {
|
||||
DEBUG((EFI_D_ERROR, "MMCSendCommand: Timeout\n"));
|
||||
DEBUG ((DEBUG_BLKIO, "MMCSendCommand: Timeout\n"));
|
||||
return EFI_TIMEOUT;
|
||||
}
|
||||
|
||||
@ -403,18 +407,19 @@ MMCNotifyState (
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
UINTN freqSel;
|
||||
UINTN FreqSel;
|
||||
|
||||
switch(State) {
|
||||
case MmcInvalidState:
|
||||
ASSERT(0);
|
||||
break;
|
||||
case MmcHwInitializationState:
|
||||
BitModeSet = FALSE;
|
||||
mBitModeSet = FALSE;
|
||||
|
||||
DEBUG((EFI_D_ERROR, "MMCHwInitializationState()\n"));
|
||||
DEBUG ((DEBUG_BLKIO, "MMCHwInitializationState()\n"));
|
||||
Status = InitializeMMCHS ();
|
||||
if (EFI_ERROR(Status)) {
|
||||
DEBUG ((EFI_D_ERROR, "Initialize MMC host controller fails. Status: %x\n", Status));
|
||||
DEBUG ((DEBUG_BLKIO, "Initialize MMC host controller fails. Status: %x\n", Status));
|
||||
return Status;
|
||||
}
|
||||
|
||||
@ -488,20 +493,20 @@ MMCNotifyState (
|
||||
case MmcIdentificationState:
|
||||
break;
|
||||
case MmcStandByState:
|
||||
CalculateCardCLKD(&freqSel);
|
||||
UpdateMMCHSClkFrequency(freqSel);
|
||||
CalculateCardCLKD (&FreqSel);
|
||||
UpdateMMCHSClkFrequency (FreqSel);
|
||||
break;
|
||||
case MmcTransferState:
|
||||
if (!BitModeSet) {
|
||||
Status = MMCSendCommand (CMD55, Rca << 16);
|
||||
if (!mBitModeSet) {
|
||||
Status = MMCSendCommand (This, CMD55, mRca << 16);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
// set device into 4-bit data bus mode
|
||||
Status = MMCSendCommand (ACMD6, 0x2);
|
||||
// Set device into 4-bit data bus mode
|
||||
Status = MMCSendCommand (This, ACMD6, 0x2);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
// Set host controler into 4-bit mode
|
||||
MmioOr32 (MMCHS_HCTL, DTW_4_BIT);
|
||||
DEBUG ((EFI_D_INFO, "SD Memory Card set to 4-bit mode\n"));
|
||||
BitModeSet = TRUE;
|
||||
DEBUG ((DEBUG_BLKIO, "SD Memory Card set to 4-bit mode\n"));
|
||||
mBitModeSet = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -525,9 +530,7 @@ MMCReceiveResponse (
|
||||
IN UINT32* Buffer
|
||||
)
|
||||
{
|
||||
//DEBUG((EFI_D_ERROR, "MMCReceiveResponse()\n"));
|
||||
if (Buffer == NULL) {
|
||||
DEBUG((EFI_D_ERROR, "Buffer was NULL\n"));
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
@ -541,9 +544,9 @@ MMCReceiveResponse (
|
||||
}
|
||||
|
||||
if (Type == MMC_RESPONSE_TYPE_CSD) {
|
||||
MaxDataTransferRate = Buffer[3] & 0xFF;
|
||||
mMaxDataTransferRate = Buffer[3] & 0xFF;
|
||||
} else if (Type == MMC_RESPONSE_TYPE_RCA) {
|
||||
Rca = Buffer[0] >> 16;
|
||||
mRca = Buffer[0] >> 16;
|
||||
}
|
||||
|
||||
return EFI_SUCCESS;
|
||||
@ -556,13 +559,12 @@ MMCReadBlockData (
|
||||
IN UINT32* Buffer
|
||||
)
|
||||
{
|
||||
//DEBUG((EFI_D_ERROR, "MMCReadBlockData(LBA: 0x%x, ", Lba));
|
||||
//DEBUG((EFI_D_ERROR, "Length: 0x%x, ", Length));
|
||||
//DEBUG((EFI_D_ERROR, "Buffer: 0x%x)\n", Buffer));
|
||||
UINTN MmcStatus;
|
||||
UINTN Count;
|
||||
UINTN RetryCount = 0;
|
||||
|
||||
DEBUG ((DEBUG_BLKIO, "MMCReadBlockData(LBA: 0x%x, Length: 0x%x, Buffer: 0x%x)\n", Lba, Length, Buffer));
|
||||
|
||||
// Check controller status to make sure there is no error.
|
||||
while (RetryCount < MAX_RETRY_COUNT) {
|
||||
do {
|
||||
@ -649,10 +651,11 @@ MMCInitialize (
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
)
|
||||
{
|
||||
DEBUG((EFI_D_ERROR, "MMCInitialize()\n"));
|
||||
EFI_STATUS Status;
|
||||
EFI_HANDLE Handle = NULL;
|
||||
|
||||
DEBUG ((DEBUG_BLKIO, "MMCInitialize()\n"));
|
||||
|
||||
Status = gBS->LocateProtocol (&gEmbeddedExternalDeviceProtocolGuid, NULL, (VOID **)&gTPS65950);
|
||||
ASSERT_EFI_ERROR(Status);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user