[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