[PATCH v2 2/7] mmc: sdhci-pxav3: Fix Armada 38x controller's caps according to erratum ERR-7878951

Marcin Wojtas mw at semihalf.com
Fri Jan 23 03:12:59 PST 2015


Hi Mark

2015-01-23 12:03 GMT+01:00 Mark Rutland <mark.rutland at arm.com>:
> [...]
>
>> +     /*
>> +      * According to erratum 'ERR-7878951' Armada 38x SDHCI
>> +      * controller has different capabilities than the ones shown
>> +      * in its registers
>> +      */
>> +     host->caps = sdhci_readl(host, SDHCI_CAPABILITIES);
>> +     if (of_get_property(np, "no-1-8-v", NULL)) {
>
> Please use of_property_read_bool(np, "no-1-8-v")
>
>> +             host->caps &= ~SDHCI_CAN_VDD_180;
>> +             host->mmc->caps &= ~MMC_CAP_1_8V_DDR;
>
> Is SDHCI_CAN_VDD_330 always set elsewhere in this case?

Yes, it's always set in SDHCI_CAPABILITIES register of Armada 38x
(assigned to host->caps few lines above), as well as
SDHCI_CAN_VDD_180. The point is, that in reality they can't be used
simultaneously for this device, i.e. voltage switching is impossible.

Thanks,
Marcin

>
>> +     } else
>> +             host->caps &= ~SDHCI_CAN_VDD_330;
>



More information about the linux-arm-kernel mailing list