On 07/04/2018 09:34 AM, Emmanuel Vadot wrote:
On Wed, 4 Jul 2018 09:25:16 +0200
Alexander Graf <ag...@suse.de> wrote:

On 07/04/2018 09:08 AM, Emmanuel Vadot wrote:
When running with special configuration (OF_BOARD and mmc overlay)
RPI have the SD card as id 1.
This make device enumeration fails when using the API.

Signed-off-by: Emmanuel Vadot <m...@freebsd.org>
Could you please elaborate a bit? From the commit message I don't fully
understand which problem you're trying to solve.


Thanks,

Alex
  Sure,

  When using the dtb from the rpi fundation and the mmc overlay (which
switch back the sd card to use the SDHCI controller and not the SDHOST
one) and using OF_BOARD so u-boot uses it/pass it to the OS the device
id for the sd is 1 :
U-Boot> mmc list
mmc@7e300000: 1

  This cause the API (see api/api_storage.c) code to never expose this
device to the consumer as the default value for
CONFIG_SYS_MMC_MAX_DEVICE is 1.

Ouch, that whole file assumes that you know the number of devices present in your system. That's terrible.

I think the real fix would be to convert api_storage.c to instead use dm native routines to loop through all available devices and not explicitly depend on any maximum number of possible devices.

Simon, do you potentially have a patch lying around for that in a branch already?


Alex

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to