
Hi Simon,
On Tue, Mar 24, 2020 at 9:45 PM Simon Glass sjg@chromium.org wrote:
At present we query the memory map on boards which don't support it. Fix this by only doing it on Apollo Lake.
This fixes booting on chromebook_link.
Signed-off-by: Simon Glass sjg@chromium.org Fixes: 92842147c31 ("spi: ich: Add support for get_mmap() method")
drivers/spi/ich.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/spi/ich.c b/drivers/spi/ich.c index a9d7715a55..9f8af45242 100644 --- a/drivers/spi/ich.c +++ b/drivers/spi/ich.c @@ -637,7 +637,10 @@ static int ich_get_mmap(struct udevice *dev, ulong *map_basep, uint *map_sizep, uint *offsetp) { struct udevice *bus = dev_get_parent(dev);
struct ich_spi_platdata *plat = dev_get_platdata(bus);
if (plat->ich_version != ICHV_APL)
return -ENOENT; return ich_get_mmap_bus(bus, map_basep, map_sizep, offsetp);
}
Although the check added here is correct, it is still an incomplete fix.
I don't understand why chromebook_link boot failure is caused by this because as I mentioned before in mrccache_get_region() the call to uclass_find_first_device(UCLASS_SPI_FLASH, &dev) already returns hence there is no chance to execute dm_spi_get_mmap() on link.
Regards, Bin