[U-Boot] [v2] armv8: ls1012a: enable/disable eSDHC1 through hwconfig for RDB
York Sun
york.sun at nxp.com
Thu Nov 30 17:58:53 UTC 2017
On 11/29/2017 08:44 PM, Y.b. Lu wrote:
> Hi York,
>
> I copied hardware team Kinjalk's explain here.
>
> "Enabling SDHC2 on ‘00’ is not correct on revision D and later boards as the sd wifi is not on there on these revs.
> The IO expander was designed to override the dip switch values. So, the DIP switch values are driven through low strength drivers. The I2C reads of DIP switch settings may not be correct and reliable as the noise margin is very low. If the IO expander is driving CFG than the situation is different and reads will always be reliable."
>
> It seemed ls1012ardb RevD reworked the SDHC2 circuit. The SDIO wifi device was removed and I2C reading of DIP switch setting was not reliable.
> This changes is causing many kernel error messages on RevD boards.
> "mmc1: Controller never released inhibit bit(s)."
> It's safe to disable SDHC2 in default and enable it manually when hardware configuration(DIP switch) is correct for SDHC2 since software doesn’t have way to check.
>
> Do you think this should be fixed by hardware? If so, I will try to suggest that.
Yangbo,
If the hardware can be fixed to operate the same way, please push for a
fix. If rev D board (and later) removes the feature to read DIP
switches, and you can make the code backward-compatible, then we can
accept this change.
Your change is to use hwconfig to determine if eSDHC1 is available. This
will cause all previous boards losing the ability to automatically
select eSDHC1. Is that acceptable to existing users, and clearly documented?
York
More information about the U-Boot
mailing list