[U-Boot] [RFC PATCH v2 00/11] SF: Migrate to Linux SPI NOR framework

Simon Goldschmidt
2018-12-05T06:55:42Z

On Wed, Dec 5, 2018 at 7:51 AM Vignesh R <vigneshr@ti.com> wrote:
>
> On 05/12/18 1:41 AM, Simon Goldschmidt wrote:
> > Am 04.12.2018 um 13:55 schrieb Boris Brezillon:
> >> On Tue, 4 Dec 2018 17:56:48 +0530
> >> Vignesh R <vigneshr@ti.com> wrote:
> >>
> >>> U-Boot SPI NOR support (sf layer) is quite outdated as it does not
> >>> support 4 byte addressing opcodes, SFDP table parsing and different types of
> >>> quad mode enable sequences. Many newer flashes no longer support BANK
> >>> registers used by sf layer to a access >16MB space.
> >>> Also, many SPI controllers have special MMIO interfaces which provide
> >>> accelerated read/write access but require knowledge of flash parameters
> >>> to make use of it. Recent spi-mem layer provides a way to support such
> >>> flashes but sf layer isn't using that.
> >>> This patch series syncs SPI NOR framework from Linux v4.19. It also adds
> >>> spi-mem support on top.
> >>> So, we gain 4byte addressing support and SFDP support. This makes
> >>> migrating to U-Boot MTD framework easier.
> >>
> >> Glad to see that happen sooner than I had expected. Looks like the
> >> patch series is in a good shape already, and I'm happy to see the
> >> u-boot spi-nor layer being based on the Linux one.
>
> >>
> >> Good job, and thanks again for working on that!
> >
> > Right, I do appreciate this!
> >
>
> Thanks!
>
> > I did some compilation tests first and I'm happy to say that with the
> > SPL_SPI_FLASH_TINY option enabled, my SPL is about 1900 byte smaller
> > than before :-)
> >
> > However, my socfpga socrates board does not boot. I'll have to
> > investigate why. I just applied this series and compiled for
> > socfpga_socrates_defconfig. Is there anything else I should have changed
> > to make it work?
> >
>
> Oops, that's unfortunate.
> Just to be sure, does SPL fail to come up or SPL fails to load U-Boot
> from flash? Is this with SPL_SPI_FLASH_TINY enabled?

I tried both TINY and standard. Both are failing to load U-Boot (I get
the standard error message that loading from SPI flash failed).

> Could you enable debug prints at the end of spi_mem_exec_op() in
> drivers/spi/spi-mem.c to see what commands are sent and their responses?

OK, I'll do that.

> I have TI EVM with Cadence QSPI(like SoCFPGA) but with a Spansion flash
> and that seems to work fine with both full and tiny stack.

That's why I thought it could somehow be defconfig-related...?

Regards,
Simon