forked from CTCaer/hekate
bdk: sdmmc: allow max power limit to be set
Even if it defaults to 1.44W. Some cards' firmware maybe be bugged. The 3.3V regulator on all SKUs allow more than 800mA current anyway.
This commit is contained in:
parent
25be98b7e3
commit
b7164a629f
@ -998,43 +998,34 @@ static void _sd_storage_set_power_limit(sdmmc_storage_t *storage, u16 power_limi
|
||||
{
|
||||
u32 pwr = SD_SET_POWER_LIMIT_0_72;
|
||||
|
||||
// If UHS-I only, anything above 1.44W defaults to 1.44W.
|
||||
#if SDMMC_UHS2_SUPPORT
|
||||
// If UHS-I only, anything above 1.44W defaults to 1.44W.
|
||||
if (power_limit & SD_MAX_POWER_2_88)
|
||||
pwr = SD_SET_POWER_LIMIT_2_88;
|
||||
else if (power_limit & SD_MAX_POWER_2_16)
|
||||
pwr = SD_SET_POWER_LIMIT_2_16;
|
||||
else if (power_limit & SD_MAX_POWER_1_44)
|
||||
pwr = SD_SET_POWER_LIMIT_1_44;
|
||||
#else
|
||||
if (power_limit & SD_MAX_POWER_1_44)
|
||||
pwr = SD_SET_POWER_LIMIT_1_44;
|
||||
#endif
|
||||
|
||||
_sd_storage_switch(storage, buf, SD_SWITCH_SET, SD_SWITCH_GRP_PWRLIM, pwr);
|
||||
|
||||
if (((buf[15] >> 4) & 0x0F) == pwr)
|
||||
switch ((buf[15] >> 4) & 0x0F)
|
||||
{
|
||||
switch (pwr)
|
||||
{
|
||||
#if SDMMC_UHS2_SUPPORT
|
||||
case SD_SET_POWER_LIMIT_2_88:
|
||||
DPRINTF("[SD] power limit raised to 2880 mW\n");
|
||||
break;
|
||||
case SD_SET_POWER_LIMIT_2_88:
|
||||
DPRINTF("[SD] power limit raised to 2880 mW\n");
|
||||
break;
|
||||
|
||||
case SD_SET_POWER_LIMIT_2_16:
|
||||
DPRINTF("[SD] power limit raised to 2160 mW\n");
|
||||
break;
|
||||
#endif
|
||||
case SD_SET_POWER_LIMIT_1_44:
|
||||
DPRINTF("[SD] power limit raised to 1440 mW\n");
|
||||
break;
|
||||
case SD_SET_POWER_LIMIT_2_16:
|
||||
DPRINTF("[SD] power limit raised to 2160 mW\n");
|
||||
break;
|
||||
|
||||
default:
|
||||
case SD_SET_POWER_LIMIT_0_72:
|
||||
DPRINTF("[SD] power limit defaulted to 720 mW\n");
|
||||
break;
|
||||
}
|
||||
case SD_SET_POWER_LIMIT_1_44:
|
||||
DPRINTF("[SD] power limit raised to 1440 mW\n");
|
||||
break;
|
||||
|
||||
default:
|
||||
case SD_SET_POWER_LIMIT_0_72:
|
||||
DPRINTF("[SD] power limit defaulted to 720 mW\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user