Skip to content
Snippets Groups Projects
  1. Jan 08, 2015
    • Peng Fan's avatar
      imx:mx6sxsabresd support qspi AHB read · adc0fabf
      Peng Fan authored
      
      Add CONFIG_SYS_FSL_QSPI_AHB in header file to enable AHB in driver.
      In order to count the time, add CONFIG_CMD_TIME.
      
      Using AHB read can improve the the read speed about 30%.
      
      AHB read:
      => time sf read 0x8f800000 0 100000
      SF: 1048576 bytes @ 0x0 Read: OK
      time: 0.174 seconds
      
      => time sf read 0x8f800000 1000000 100000
      SF: 1048576 bytes @ 0x1000000 Read: OK
      time: 0.174 seconds
      
      IP read:
      => time sf read 0x8f800000 0 100000
      SF: 1048576 bytes @ 0x0 Read: OK
      time: 0.227 seconds
      
      => time sf read 0x8f800000 1000000 100000
      SF: 1048576 bytes @ 0x1000000 Read: OK
      time: 0.227 seconds
      
      Note:
      Quad read is not supported in driver, now. In my side, using AHB and Quad read
      can achieve about 16MB/s. Anyway, I have plan to reimplement the driver using
      DTB and DM, then make the code cleaner and more feature can be added.
      
      Signed-off-by: default avatarPeng Fan <Peng.Fan@freescale.com>
      Reviewed-by: default avatarJagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
      adc0fabf
    • Peng Fan's avatar
      qspi:fsl implement AHB read · 5f7f70c1
      Peng Fan authored
      
      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: default avatarPeng Fan <Peng.Fan@freescale.com>
      Reviewed-by: default avatarJagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
      5f7f70c1
    • Axel Lin's avatar
      spi: ftssp010_spi: Simplify code flow in ftssp010_[wait|wait_tx|wait_rx] · 78c80114
      Axel Lin authored
      
      No functional change, just simplify the code a bit.
      
      Signed-off-by: default avatarAxel Lin <axel.lin@ingics.com>
      Reviewed-by: default avatarJagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
      78c80114
  2. Jan 07, 2015
  3. Jan 06, 2015
  4. Jan 05, 2015
  5. Jan 04, 2015
  6. Jan 02, 2015
  7. Jan 01, 2015
  8. Dec 31, 2014
Loading