[U-Boot] [PATCH] sf: Add SPI_FLASH_4BYTE_MODE_ONLY option to support 4-byte mode

Simon Goldschmidt simon.k.r.goldschmidt at gmail.com
Mon Aug 6 15:38:57 UTC 2018


Stefan Roese <sr at denx.de> schrieb am Mo., 6. Aug. 2018, 17:36:

> On 06.08.2018 17:33, Simon Goldschmidt wrote:
> >
> >
> > Stefan Roese <sr at denx.de <mailto:sr at denx.de>> schrieb am Mo., 6. Aug.
> > 2018, 17:29:
> >
> >
> >
> >     On 06.08.2018 17:27, Simon Goldschmidt wrote:
> >      >
> >      >
> >      > Stefan Roese <sr at denx.de <mailto:sr at denx.de> <mailto:sr at denx.de
> >     <mailto:sr at denx.de>>> schrieb am Mo., 6. Aug.
> >      > 2018, 17:23:
> >      >
> >      >     Hi Simon,
> >      >
> >      >     On 06.08.2018 17:15, Simon Goldschmidt wrote:
> >      >      >
> >      >      >
> >      >      > Stefan Roese <sr at denx.de <mailto:sr at denx.de>
> >     <mailto:sr at denx.de <mailto:sr at denx.de>> <mailto:sr at denx.de
> >     <mailto:sr at denx.de>
> >      >     <mailto:sr at denx.de <mailto:sr at denx.de>>>> schrieb am Mo., 6.
> Aug.
> >      >      > 2018, 16:34:
> >      >      >
> >      >      >     Some SPI NOR chips only support 4-byte mode
> >     addressing. Here
> >      >     the default
> >      >      >     3-byte mode does not work and leads to incorrect
> accesses.
> >      >     Setting this
> >      >      >     option enables the use of such SPI NOR chips, that only
> >      >     support this
> >      >      >     4-byte mode.
> >      >      >
> >      >      >
> >      >      > I think it would make more sense to enable 4-byte mode or
> >     4-byte
> >      >     opcodes
> >      >      > on all chips with more than 16 mbyte rather than having to
> >     select at
> >      >      > compile time.
> >      >
> >      >     We need to be careful here. As setting the chip into 4-byte
> mode
> >      >     unconditionally (for bigger devices) will very likely cause
> boot
> >      >     problems with internal bootROMs expecting 3-byte mode.
> >      >
> >      >
> >      > I have a similar problem on socfpga where Linux 4.9 sets the chip
> >     into
> >      > 4-byte mode and SPL cannot use it on warm reboot. However, the
> >     bootROM
> >      > does not run on warm reboot on this platform.
> >
> >     So in your "warm reboot" case, my option b) below would help, right?
> >
> >
> > Yes, I guess it would.
> >
> > An even better idea would be to use stateless 4-byte opcodes. That's
> > what Linux does in more recent versions. But that would be a larger
> > patch, I guess. And with Jagan's bigger rework in his queue, I can't
> > tell if this is a good time to do so.
>
> Yes, this is definitely out of scope for me, reworking this 4-byte
> support to this stateless version.


Right. For me too.

Sorry. But if we agree that the
> option b) is helpful and harmless (which I think it is), then I
> can rework this patch and re-send a version which should also work
> for you - as described below.
>

That would be cool. I'd test this on my socrates board.

Thanks,
Simon


> >
> >     b)
> >     Another idea would be to check the 3-byte / 4-byte mode of the SPI
> >     NOR device upon SPI NOR driver loading and use the selected mode
> >     accordingly. This could be done without compile time options but
> >     it would not help in general for users with bigger SPI NOR devices
> >     that support both modes.
> >
> >     Thanks,
> >     Stefan
> >
>
>
> Thanks,
> Stefan
>


More information about the U-Boot mailing list