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

Vignesh R
2018-12-05T06:51:40Z

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?

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?

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.

--
Regards
Vignesh