
On Sun, Apr 25, 2021 at 3:30 PM Andre Przywara andre.przywara@arm.com wrote:
On Fri, 16 Apr 2021 12:08:09 +0100 Andre Przywara andre.przywara@arm.com wrote:
Hi,
Commit 2243d19e5618 ("mmc: mmc-uclass: Use dev_seq() to read aliases node's index") now actually enforces U-Boot's device enumeration policy, where explicitly named devices come first, then any other non-named devices follow, without filling gaps.
For quite a while we have had an "mmc1 = &mmc2;" alias in our sunxi-u-boot.dtsi, which now leads to the problem that the SD card (which was always mmc device 0) now gets to be number 2. I guess this breaks quite some boot scripts, and is confusing at least.
Just add an explicit mmc0 alias in the very same file to fix this and restore the old behaviour.
Can someone please say if this is the right solution? I think the SD card has always been mmc device 0 in U-Boot, so I think it's worth keeping that. Just not sure if this is the right way of fixing that?
Playing with aliases always gets confused and might get a different behavior, IMHO. Detect the dev number by U-Boot itself and look at traverse bootenv by all possible dev numbers in sunxi-common.h, but this has one slide effect that we mark mmc2 as devnum 1 for the sake of fastboot so if we mark fastboot number for specific board properly (by static or runtime) then explicit aliases wouldn't required.
Jagan.