[U-Boot] [PATCH 2/2][v4] nxp/ls2080ardb: Add QSPI-boot support

York Sun york.sun at nxp.com
Tue Apr 25 16:03:35 UTC 2017


On 04/25/2017 03:18 AM, Priyanka Jain wrote:
> QSPI-boot is verified on LS20080ARDB RevF board

Typo here. It is LS2080ARDB.

> with LS2088A SoC.
> LS2088ARDB RevF Board has limitation that QIXIS

Is the board marked as LS2088ARDB? Is the limitation on rev F board, or 
the boot method?

> can not be access, so QIXIS flag is kept disabled
>
> Signed-off-by: Priyanka Jain <priyanka.jain at nxp.com>
> Signed-off-by: Suresh Gupta <suresh.gupta at nxp.com>
> ---
>  Changes for v4: Updated copyright
>  Changes for v3: Updated README
>
>  Changes for v2: Incorporated Sun York's comments
>    Introduced another patch to update qixis related code
>

<snip>

> diff --git a/include/configs/ls2080ardb.h b/include/configs/ls2080ardb.h
> index 2155a89..6742816 100644
> --- a/include/configs/ls2080ardb.h
> +++ b/include/configs/ls2080ardb.h
> @@ -1,4 +1,5 @@
>  /*
> + * Copyright (C) 2017 NXP Semiconductors
>   * Copyright 2015 Freescale Semiconductor
>   *
>   * SPDX-License-Identifier:	GPL-2.0+
> @@ -12,6 +13,12 @@
>  #undef CONFIG_CONS_INDEX
>  #define CONFIG_CONS_INDEX       2
>
> +#ifdef CONFIG_FSL_QSPI
> +#undef CONFIG_CMD_IMLS

This is a Kconfig option. Do it properly in your defconfig.

> +#define CONFIG_SYS_I2C_EARLY_INIT
> +#define CONFIG_DISPLAY_BOARDINFO_LATE
> +#endif
> +
>  #define I2C_MUX_CH_VOL_MONITOR		0xa
>  #define I2C_VOL_MONITOR_ADDR		0x38
>  #define CONFIG_VOL_MONITOR_IR36021_READ
> @@ -69,6 +76,7 @@ unsigned long get_board_sys_clk(void);
>  #define CONFIG_SYS_SCSI_MAX_DEVICE		(CONFIG_SYS_SCSI_MAX_SCSI_ID * \
>  						CONFIG_SYS_SCSI_MAX_LUN)
>
> +#ifndef CONFIG_FSL_QSPI
>  /* undefined CONFIG_FSL_DDR_SYNC_REFRESH for simulator */
>
>  #define CONFIG_SYS_NOR0_CSPR_EXT	(0x0)
> @@ -157,7 +165,6 @@ unsigned long get_board_sys_clk(void);
>  #define CONFIG_CMD_NAND
>
>  #define CONFIG_SYS_NAND_BLOCK_SIZE	(512 * 1024)
> -
>  #define CONFIG_FSL_QIXIS	/* use common QIXIS code */
>  #define QIXIS_LBMAP_SWITCH		0x06
>  #define QIXIS_LBMAP_MASK		0x0f
> @@ -250,7 +257,7 @@ unsigned long get_board_sys_clk(void);
>  /* Debug Server firmware */
>  #define CONFIG_SYS_DEBUG_SERVER_FW_IN_NOR
>  #define CONFIG_SYS_DEBUG_SERVER_FW_ADDR	0x580D00000ULL
> -
> +#endif
>  #define CONFIG_SYS_LS_MC_BOOT_TIMEOUT_MS 5000
>
>  /*
> @@ -263,11 +270,18 @@ unsigned long get_board_sys_clk(void);
>  #define I2C_MUX_CH_DEFAULT      0x8
>
>  /* SPI */
> -#ifdef CONFIG_FSL_DSPI
> +#if defined(CONFIG_FSL_QSPI) || defined(CONFIG_FSL_DSPI)
>  #define CONFIG_SPI_FLASH
>  #define CONFIG_SPI_FLASH_BAR
> +#ifdef CONFIG_FSL_DSPI
>  #define CONFIG_SPI_FLASH_STMICRO
>  #endif
> +#ifdef CONFIG_FSL_QSPI
> +#define CONFIG_SPI_FLASH_SPANSION
> +#define FSL_QSPI_FLASH_SIZE		(1 << 26) /* 64MB */
> +#define FSL_QSPI_FLASH_NUM		2
> +#endif
> +#endif
>
>  /*
>   * RTC configuration
> @@ -347,6 +361,27 @@ unsigned long get_board_sys_clk(void);
>  	" 0x580800000 \0"                       \
>  	BOOTENV
>  #else
> +#ifdef CONFIG_QSPI_BOOT
> +#define CONFIG_EXTRA_ENV_SETTINGS		\
> +	"hwconfig=fsl_ddr:bank_intlv=auto\0"	\
> +	"scriptaddr=0x80800000\0"		\
> +	"kernel_addr_r=0x81000000\0"		\
> +	"pxefile_addr_r=0x81000000\0"		\
> +	"fdt_addr_r=0x88000000\0"		\
> +	"ramdisk_addr_r=0x89000000\0"		\
> +	"loadaddr=0x80100000\0"			\
> +	"kernel_addr=0x100000\0"		\
> +	"ramdisk_addr=0x800000\0"		\

Where do you use ramdisk_addr?

> +	"ramdisk_size=0x2000000\0"		\
> +	"fdt_high=0xa0000000\0"			\
> +	"initrd_high=0xffffffffffffffff\0"	\
> +	"kernel_start=0x21100000\0"		\
> +	"mcmemsize=0x40000000\0"		\
> +	"fdtfile=fsl-ls2080a-rdb.dtb\0"		\

Where do you use fdtfile?

York



More information about the U-Boot mailing list