[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