[U-Boot] [PATCH v3 6/8] mtd: vf610_nfc: add Freescale NFC controller configs to Kconfig

Stefano Babic sbabic at denx.de
Mon May 11 09:51:32 CEST 2015


Hi Stefan,

On 08/05/2015 19:07, Stefan Agner wrote:
> This commit allows users to enable/disable the Freescale NFC
> controller found in systems like Vybrid (VF610), MPC5125, MCF54418
> or Kinetis K70 via Kconfig with more detailed help docs.
> 
> Signed-off-by: Stefan Agner <stefan at agner.ch>
> ---
>  configs/colibri_vf_defconfig |  2 ++
>  configs/vf610twr_defconfig   |  2 ++
>  doc/README.nand              | 18 ------------------
>  drivers/mtd/nand/Kconfig     | 30 ++++++++++++++++++++++++++++++
>  include/configs/colibri_vf.h |  2 --
>  include/configs/vf610twr.h   |  3 ---
>  6 files changed, 34 insertions(+), 23 deletions(-)
> 
> diff --git a/configs/colibri_vf_defconfig b/configs/colibri_vf_defconfig
> index cef5a9e..cdee835 100644
> --- a/configs/colibri_vf_defconfig
> +++ b/configs/colibri_vf_defconfig
> @@ -1,3 +1,5 @@
>  CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri_vf/imximage.cfg,ENV_IS_IN_NAND,IMX_NAND"
>  CONFIG_ARM=y
>  CONFIG_TARGET_COLIBRI_VF=y
> +CONFIG_NAND_VF610_NFC=y
> +CONFIG_SYS_NAND_VF610_NFC_60_ECC_BYTES=y
> \ No newline at end of file
> diff --git a/configs/vf610twr_defconfig b/configs/vf610twr_defconfig
> index 7de374a..5e0ac9f 100644
> --- a/configs/vf610twr_defconfig
> +++ b/configs/vf610twr_defconfig
> @@ -1,3 +1,5 @@
>  CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/vf610twr/imximage.cfg,ENV_IS_IN_MMC"
>  CONFIG_ARM=y
>  CONFIG_TARGET_VF610TWR=y
> +CONFIG_NAND_VF610_NFC=y
> +CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
> diff --git a/doc/README.nand b/doc/README.nand
> index 46d7edd..0ff5633 100644
> --- a/doc/README.nand
> +++ b/doc/README.nand
> @@ -188,24 +188,6 @@ Configuration Options:
>  	This is used by SoC platforms which do not have built-in ELM
>  	hardware engine required for BCH ECC correction.
>  
> -   CONFIG_SYS_NAND_BUSWIDTH_16BIT
> -	Indicates that NAND device has 16-bit wide data-bus. In absence of this
> -	config, bus-width of NAND device is assumed to be either 8-bit and later
> -	determined by reading ONFI params.
> -	Above config is useful when NAND device's bus-width information cannot
> -	be determined from on-chip ONFI params, like in following scenarios:
> -	- SPL boot does not support reading of ONFI parameters. This is done to
> -	  keep SPL code foot-print small.
> -	- In current U-Boot flow using nand_init(), driver initialization
> -	  happens in board_nand_init() which is called before any device probe
> -	  (nand_scan_ident + nand_scan_tail), thus device's ONFI parameters are
> -	  not available while configuring controller. So a static CONFIG_NAND_xx
> -	  is needed to know the device's bus-width in advance.
> -	Some drivers using above config are:
> -	drivers/mtd/nand/mxc_nand.c
> -	drivers/mtd/nand/ndfc.c
> -	drivers/mtd/nand/omap_gpmc.c
> -
>  
>  Platform specific options
>  =========================
> diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
> index 72825c3..0a9e96f 100644
> --- a/drivers/mtd/nand/Kconfig
> +++ b/drivers/mtd/nand/Kconfig
> @@ -32,6 +32,36 @@ config NAND_DENALI_SPARE_AREA_SKIP_BYTES
>  	  of OOB area before last ECC sector data starts.  This is potentially
>  	  used to preserve the bad block marker in the OOB area.
>  
> +config NAND_VF610_NFC
> +	bool "Support for Freescale NFC for VF610/MPC5125"
> +	select SYS_NAND_SELF_INIT
> +	help
> +	  Enables support for NAND Flash Controller on some Freescale
> +	  processors like the VF610, MPC5125, MCF54418 or Kinetis K70.
> +	  The driver supports a maximum 2k page size. The driver
> +	  currently does not support hardware ECC.
> +
> +comment "Generic NAND options"
> +
> +# Enhance depends when converting drivers to Kconfig which use this config
> +# option (mxc_nand, ndfc, omap_gpmc).
> +config SYS_NAND_BUSWIDTH_16BIT
> +	bool "Use 16-bit NAND interface"
> +	depends on NAND_VF610_NFC
> +	help
> +	  Indicates that NAND device has 16-bit wide data-bus. In absence of this
> +	  config, bus-width of NAND device is assumed to be either 8-bit and later
> +	  determined by reading ONFI params.
> +	  Above config is useful when NAND device's bus-width information cannot
> +	  be determined from on-chip ONFI params, like in following scenarios:
> +	  - SPL boot does not support reading of ONFI parameters. This is done to
> +	    keep SPL code foot-print small.
> +	  - In current U-Boot flow using nand_init(), driver initialization
> +	    happens in board_nand_init() which is called before any device probe
> +	    (nand_scan_ident + nand_scan_tail), thus device's ONFI parameters are
> +	    not available while configuring controller. So a static CONFIG_NAND_xx
> +	    is needed to know the device's bus-width in advance.
> +
>  if SPL
>  
>  config SPL_NAND_DENALI
> diff --git a/include/configs/colibri_vf.h b/include/configs/colibri_vf.h
> index 414600a..b3c73bb 100644
> --- a/include/configs/colibri_vf.h
> +++ b/include/configs/colibri_vf.h
> @@ -50,8 +50,6 @@
>  
>  /* NAND support */
>  #define CONFIG_CMD_NAND
> -#define CONFIG_NAND_VF610_NFC
> -#define CONFIG_SYS_NAND_SELF_INIT
>  #define CONFIG_SYS_MAX_NAND_DEVICE	1
>  #define CONFIG_SYS_NAND_BASE		NFC_BASE_ADDR
>  
> diff --git a/include/configs/vf610twr.h b/include/configs/vf610twr.h
> index 05bc7d0..621aa13 100644
> --- a/include/configs/vf610twr.h
> +++ b/include/configs/vf610twr.h
> @@ -50,10 +50,7 @@
>  #define CONFIG_CMD_NAND_TRIMFFS
>  
>  #ifdef CONFIG_CMD_NAND
> -#define CONFIG_NAND_VF610_NFC
> -#define CONFIG_SYS_NAND_SELF_INIT
>  #define CONFIG_USE_ARCH_MEMCPY
> -#define CONFIG_SYS_NAND_BUSWIDTH_16BIT
>  #define CONFIG_SYS_MAX_NAND_DEVICE	1
>  #define CONFIG_SYS_NAND_BASE		NFC_BASE_ADDR
>  

ok from my side - I guess the whole patchset will be merged through
Scott's tree and not iMX.

Acked-by: Stefano Babic <sbabic at denx.de>

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list