diff mbox

[U-Boot,2/2] imx:mx6sxsabresd support qspi AHB read

Message ID 1420684821-23988-3-git-send-email-Peng.Fan@freescale.com
State Accepted
Delegated to: Jagannadha Sutradharudu Teki
Headers show

Commit Message

Peng Fan Jan. 8, 2015, 2:40 a.m. UTC
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: Peng Fan <Peng.Fan@freescale.com>
---
 include/configs/mx6sxsabresd.h | 3 +++
 1 file changed, 3 insertions(+)

Comments

Jagan Teki Jan. 8, 2015, 6:35 p.m. UTC | #1
On 8 January 2015 at 08:10, Peng Fan <Peng.Fan@freescale.com> wrote:
> 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: Peng Fan <Peng.Fan@freescale.com>
> ---
>  include/configs/mx6sxsabresd.h | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/include/configs/mx6sxsabresd.h b/include/configs/mx6sxsabresd.h
> index b40dc19..fbaae3f 100644
> --- a/include/configs/mx6sxsabresd.h
> +++ b/include/configs/mx6sxsabresd.h
> @@ -235,6 +235,8 @@
>  /* FLASH and environment organization */
>  #define CONFIG_SYS_NO_FLASH
>
> +#define CONFIG_CMD_TIME
> +
>  #define CONFIG_FSL_QSPI
>
>  #ifdef CONFIG_FSL_QSPI
> @@ -244,6 +246,7 @@
>  #define CONFIG_SPI_FLASH_SPANSION
>  #define CONFIG_SPI_FLASH_STMICRO
>  #define CONFIG_SYS_FSL_QSPI_LE
> +#define CONFIG_SYS_FSL_QSPI_AHB
>  #ifdef CONFIG_MX6SX_SABRESD_REVA
>  #define FSL_QSPI_FLASH_SIZE            SZ_16M
>  #else
> --
> 1.8.4
>
>

Applied to u-boot-spi/master

thanks!
diff mbox

Patch

diff --git a/include/configs/mx6sxsabresd.h b/include/configs/mx6sxsabresd.h
index b40dc19..fbaae3f 100644
--- a/include/configs/mx6sxsabresd.h
+++ b/include/configs/mx6sxsabresd.h
@@ -235,6 +235,8 @@ 
 /* FLASH and environment organization */
 #define CONFIG_SYS_NO_FLASH
 
+#define CONFIG_CMD_TIME
+
 #define CONFIG_FSL_QSPI
 
 #ifdef CONFIG_FSL_QSPI
@@ -244,6 +246,7 @@ 
 #define CONFIG_SPI_FLASH_SPANSION
 #define CONFIG_SPI_FLASH_STMICRO
 #define CONFIG_SYS_FSL_QSPI_LE
+#define CONFIG_SYS_FSL_QSPI_AHB
 #ifdef CONFIG_MX6SX_SABRESD_REVA
 #define FSL_QSPI_FLASH_SIZE		SZ_16M
 #else