[U-Boot] [PATCH] sf: Add SPI_FLASH_4BYTE_MODE_ONLY option to support 4-byte mode
Stefan Roese
sr at denx.de
Mon Aug 6 15:36:48 UTC 2018
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. 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.
>
> 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