Hi BIn, On Tue, 19 Nov 2019 at 07:37, Bin Meng <[email protected]> wrote: > > Hi Simon, > > On Mon, Oct 21, 2019 at 11:40 AM Simon Glass <[email protected]> wrote: > > > > Add this method so that the memory-mapped location of the SPI flash can > > be queried. > > > > Signed-off-by: Simon Glass <[email protected]> > > --- > > > > Changes in v3: None > > Changes in v2: None > > > > drivers/spi/ich.c | 32 ++++++++++++++++++++++++++++++++ > > 1 file changed, 32 insertions(+) > > > > diff --git a/drivers/spi/ich.c b/drivers/spi/ich.c > > index ae1dc64bde8..ec0f77f6e40 100644 > > --- a/drivers/spi/ich.c > > +++ b/drivers/spi/ich.c > > @@ -610,6 +610,37 @@ static int ich_spi_exec_op(struct spi_slave *slave, > > const struct spi_mem_op *op) > > return ret; > > } > > > > +static int ich_get_mmap_bus(struct udevice *bus, ulong *map_basep, > > + uint *map_sizep, uint *offsetp) > > +{ > > + pci_dev_t spi_bdf; > > + > > +#if !CONFIG_IS_ENABLED(OF_PLATDATA) > > + struct pci_child_platdata *pplat = dev_get_parent_platdata(bus); > > + > > + spi_bdf = pplat->devfn; > > +#else > > + struct ich_spi_platdata *plat = dev_get_platdata(bus); > > + > > + /* > > + * We cannot rely on plat->bdf being set up yet since this method > > can > > + * be called before the device is probed. Use the of-platdata > > directly > > + * instead. > > + */ > > + spi_bdf = pci_x86_ofplat_get_devfn(plat->dtplat.reg[0]); > > +#endif > > + > > + return fast_spi_get_bios_mmap(spi_bdf, map_basep, map_sizep, > > offsetp); > > I think we should move fast_spi_get_bios_mmap() to this driver, > instead of having the ICH driver depend on something external.
The problem is that this function is needed in APL's cpu_spl.c to cache the BIOS region.and also by rom_load_image() to read from the mapped SPI flash. This driver is in fact not normally included in TPL, since it is quite large and not needed. So we have to call these functions from outside the driver and therefore it is best to have them in the arch-specific code. It is in intel_common so is shared. Regards, Simon _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

