On Tue, Dec 22, 2020 at 2:30 PM Bin Meng <bmeng...@gmail.com> wrote: > > On Thu, Dec 17, 2020 at 1:28 PM Bin Meng <bmeng...@gmail.com> wrote: > > > > From: Bin Meng <bin.m...@windriver.com> > > > > For the ECSPIx_CONREG register BURST_LENGTH field, the manual says: > > > > 0x020 A SPI burst contains the 1 LSB in first word and all 32 bits in > > second word. > > 0x021 A SPI burst contains the 2 LSB in first word and all 32 bits in > > second word. > > > > Current logic uses either s->burst_length or 32, whichever smaller, > > to determine how many bits it should read from the tx fifo each time. > > For example, for a 48 bit burst length, current logic transfers the > > first 32 bit from the first word in the tx fifo, followed by a 16 > > bit from the second word in the tx fifo, which is wrong. The correct > > logic should be: transfer the first 16 bit from the first word in > > the tx fifo, followed by a 32 bit from the second word in the tx fifo. > > > > With this change, SPI flash can be successfully probed by U-Boot on > > imx6 sabrelite board. > > > > => sf probe > > SF: Detected sst25vf016b with page size 256 Bytes, erase size 4 KiB, > > total 2 MiB > > > > Fixes: c906a3a01582 ("i.MX: Add the Freescale SPI Controller") > > Signed-off-by: Bin Meng <bin.m...@windriver.com> > > --- > > > > hw/ssi/imx_spi.c | 5 ++++- > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > Ping?
Ping?