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

Stefan Roese sr at denx.de
Sat Dec 15 06:31:51 UTC 2018


On 14.12.18 17:27, Vignesh R wrote:
> 
> 
> On 14-Dec-18 9:44 PM, Simon Goldschmidt wrote:
>>
>>
>> Am Fr., 14. Dez. 2018, 16:59 hat Vignesh R <vigneshr at ti.com
>> <mailto:vigneshr at ti.com>> geschrieben:
>>
>>      On 14/12/18 3:43 PM, Jagan Teki wrote:
>>      > On Wed, Dec 12, 2018 at 11:02 PM Vignesh R <vigneshr at ti.com
>>      <mailto:vigneshr at 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.
>>      >>
>>      >> Tested with few Spansion, micron and macronix flashes with TI's
>>      dra7xx,
>>      >> k2g, am43xx EVMs. I dont have access to flashes from other
>>      vendors. So,
>>      >> I would greatly appreciate testing on other platforms. Complete
>>      series
>>      >> with dependencies here[1]
>>      >>
>>      >> For clean build on some platforms, depends on CONFIG_SPI_FLASH
>>      migration
>>      >> to defconfigs [2]
>>      >>
>>      >> [1] https://github.com/r-vignesh/u-boot.git  branch:
>>      spi-nor-mig-patch-v1
>>      >> [2] https://patchwork.ozlabs.org/patch/1007485/
>>      >>
>>      >> Patch 12-15 are compile tested.
>>      >
>>      > Fist of all thanks for your time and work on this.
>>      >
>>      > Since most of the discussion on the individual patches seems similar,
>>      > repeat and never ended. I'm trying to summarize my comments here.
>>      > 1) You can sync or add new features by grabbing the code from Linux,
>>      > but I don't recommend __UBOOT macro or any Linux specific stuff  in
>>      > drivers/mtd/spi
>>
>>      I am fine either way.
>>
>>      > 2) For BAR support, lets place it as it is and support via spi-nor
>>
>>      Problem is, it not desirable to use BAR as default because its not
>>      stateless and does not work with all flash parts. OTOH, it seems like 4
>>      byte addressing (stateless dedicated opcode or with enter/exit 4 byte
>>      mode) seems to be standard.
>>      Also, Linux doesn't support BAR and haven't seen any request for BAR
>>      support. Why support additional feature and burden of maintaining when
>>      it may not be needed.
>>
>>      But if you insist, I just have to add BAR support back.
>>
>>
>> But if we do that, could we please have a config option so that I can
>> somehow ensure only 4 byte opcoses are used that don't change some state
>> in the chip?
>>
> 
> I am afraid BAR support would be the default as Jagan suggests not to
> change existing behavior. You would have to disable SPI_FLASH_BAR to use
> 4 Byte addressing opcodes.

Please don't make SPI_FLASH_BAR support the default. It never was enabled
per default until now IIRC.

Thanks,
Stefan


More information about the U-Boot mailing list