mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-06-09 23:36:03 +09:00
mtd: vf610_nfc: add Freescale NFC controller configs to Kconfig
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> Acked-by: Stefano Babic <sbabic@denx.de> [scottwood: updated vf610twr_nand_defconfig] Signed-off-by: Scott Wood <scottwood@freescale.com>
This commit is contained in:
parent
84d656a283
commit
5519194d4f
|
@ -1,3 +1,5 @@
|
||||||
CONFIG_ARM=y
|
CONFIG_ARM=y
|
||||||
CONFIG_TARGET_COLIBRI_VF=y
|
CONFIG_TARGET_COLIBRI_VF=y
|
||||||
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri_vf/imximage.cfg,ENV_IS_IN_NAND,IMX_NAND"
|
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri_vf/imximage.cfg,ENV_IS_IN_NAND,IMX_NAND"
|
||||||
|
CONFIG_NAND_VF610_NFC=y
|
||||||
|
CONFIG_SYS_NAND_VF610_NFC_60_ECC_BYTES=y
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
CONFIG_ARM=y
|
CONFIG_ARM=y
|
||||||
CONFIG_TARGET_VF610TWR=y
|
CONFIG_TARGET_VF610TWR=y
|
||||||
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/vf610twr/imximage.cfg,ENV_IS_IN_MMC"
|
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/vf610twr/imximage.cfg,ENV_IS_IN_MMC"
|
||||||
|
CONFIG_NAND_VF610_NFC=y
|
||||||
|
CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
CONFIG_ARM=y
|
CONFIG_ARM=y
|
||||||
CONFIG_TARGET_VF610TWR=y
|
CONFIG_TARGET_VF610TWR=y
|
||||||
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/vf610twr/imximage.cfg,ENV_IS_IN_NAND"
|
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/vf610twr/imximage.cfg,ENV_IS_IN_NAND"
|
||||||
|
CONFIG_NAND_VF610_NFC=y
|
||||||
|
CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
|
||||||
|
|
|
@ -188,24 +188,6 @@ Configuration Options:
|
||||||
This is used by SoC platforms which do not have built-in ELM
|
This is used by SoC platforms which do not have built-in ELM
|
||||||
hardware engine required for BCH ECC correction.
|
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
|
Platform specific options
|
||||||
=========================
|
=========================
|
||||||
|
|
|
@ -32,6 +32,36 @@ config NAND_DENALI_SPARE_AREA_SKIP_BYTES
|
||||||
of OOB area before last ECC sector data starts. This is potentially
|
of OOB area before last ECC sector data starts. This is potentially
|
||||||
used to preserve the bad block marker in the OOB area.
|
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
|
if SPL
|
||||||
|
|
||||||
config SPL_NAND_DENALI
|
config SPL_NAND_DENALI
|
||||||
|
|
|
@ -50,8 +50,6 @@
|
||||||
|
|
||||||
/* NAND support */
|
/* NAND support */
|
||||||
#define CONFIG_CMD_NAND
|
#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_MAX_NAND_DEVICE 1
|
||||||
#define CONFIG_SYS_NAND_BASE NFC_BASE_ADDR
|
#define CONFIG_SYS_NAND_BASE NFC_BASE_ADDR
|
||||||
|
|
||||||
|
|
|
@ -50,10 +50,7 @@
|
||||||
#define CONFIG_CMD_NAND_TRIMFFS
|
#define CONFIG_CMD_NAND_TRIMFFS
|
||||||
|
|
||||||
#ifdef CONFIG_CMD_NAND
|
#ifdef CONFIG_CMD_NAND
|
||||||
#define CONFIG_NAND_VF610_NFC
|
|
||||||
#define CONFIG_SYS_NAND_SELF_INIT
|
|
||||||
#define CONFIG_USE_ARCH_MEMCPY
|
#define CONFIG_USE_ARCH_MEMCPY
|
||||||
#define CONFIG_SYS_NAND_BUSWIDTH_16BIT
|
|
||||||
#define CONFIG_SYS_MAX_NAND_DEVICE 1
|
#define CONFIG_SYS_MAX_NAND_DEVICE 1
|
||||||
#define CONFIG_SYS_NAND_BASE NFC_BASE_ADDR
|
#define CONFIG_SYS_NAND_BASE NFC_BASE_ADDR
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user