
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@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@denx.de
Best regards, Stefano Babic