summaryrefslogtreecommitdiffstats
path: root/drivers/core
diff options
context:
space:
mode:
authorPeng Fan <Peng.Fan@freescale.com>2015-01-08 10:40:20 +0800
committerJagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>2015-01-09 00:03:28 +0530
commit5f7f70c1718b74df12724724f6ec72fa1894d49c (patch)
treebe9216d47305a02def2945ad347a2f4479797d89 /drivers/core
parent78c80114b5f7f31b4a1c09bfd0db61ded24b1f6b (diff)
downloadtalos-obmc-uboot-5f7f70c1718b74df12724724f6ec72fa1894d49c.tar.gz
talos-obmc-uboot-5f7f70c1718b74df12724724f6ec72fa1894d49c.zip
qspi:fsl implement AHB read
The QSPI controller in i.MX 6SoloX and Vybrid supports reading data using IP register and AHB bus. The original driver only supports reading data from IP interface. The IC team suggests to use AHB read which is faster then IP read. Using AHB read, we can directly memcpy, a "missed" access to the buffer will cause the controller to clear the buffer and use the SEQID stored in bfgencr register to initiate a read from flash device. Since AHB bus is 64 bit width, we can not set MCR register using 32bit. In order to minimize code change, redefine QSPI_MCR_END_CFD_LE to 64bit Little endian but not 32bit Little endia. Introduce a new configuration option CONFIG_SYS_FSL_QSPI_AHB. If want to use AHB read, just define CONFIG_SYS_FSL_QSPI_AHB. If not, just ignore it. Actually if Vybrid is migrated to use AHB read, this option can be removed and IP read function can be discared. The reason to introduce this option is that only i.MX SOC is tested in my side, no Vybrid platform for me. In spi_setup_slave, the original piece code to set AHB is deleted, since Vybrid platform does not use this to intiate AHB read. Instead, add qspi_init_ahb_read function if defined CONFIG_SYS_FSL_QSPI_AHB. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
Diffstat (limited to 'drivers/core')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud