Freescale enhanced Local Bus Controller FCM NAND support.
Subsystems (2)
PATCH 3/3 Freescale enhanced Local Bus Controller FCM NAND support.
Signed-off-by Nick Spence <[email protected]>
Signed-off-by Scott Wood <[email protected]>
--- drivers/mtd/nand/Kconfig | 9 + drivers/mtd/nand/Makefile | 1 + drivers/mtd/nand/fsl_elbc_nand.c | 1243 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 1253 insertions(+), 0 deletions(-) create mode 100644 drivers/mtd/nand/fsl_elbc_nand.c
drivers/mtd/nand/Kconfig +9 -0
@@ -321,4 +321,13 @@ config MTD_NAND_ORION No board specific support is done by this driver, each board must advertise a platform_device for the driver to attach. +config MTD_NAND_FSL_ELBC + tristate "NAND support for Freescale eLBC controllers" + depends on MTD_NAND && PPC_OF + help + Various Freescale chips, including the 8313, include a NAND Flash + Controller Module with built-in hardware ECC capabilities. + Enabling this option will enable you to use this to control + external NAND devices. + endif # MTD_NAND
drivers/mtd/nand/Makefile +1 -0
@@ -31,5 +31,6 @@ obj-$(CONFIG_MTD_NAND_PLATFORM) += plat_nand.o obj-$(CONFIG_MTD_ALAUDA) += alauda.o obj-$(CONFIG_MTD_NAND_PASEMI) += pasemi_nand.o obj-$(CONFIG_MTD_NAND_ORION) += orion_nand.o +obj-$(CONFIG_MTD_NAND_FSL_ELBC) += fsl_elbc_nand.o nand-objs := nand_base.o nand_bbt.o
drivers/mtd/nand/fsl_elbc_nand.c new file +1243 -0
1,243 lines not on this page · raw message
Signature · 1 line
1.5.3.8
Hi Scott,
drivers/mtd/nand/fsl_elbc_nand.c line 1203
Quoted 7 lines · On Fri, 11 Jan 2008 14:43:20 -0600 Scott Wood <[email protected]> wrote:
drivers/mtd/nand/fsl_elbc_nand.c new file +5
-0+static int __devinit fsl_elbc_ctrl_probe (struct of_device *ofdev, +const struct of_device_id *match) +{ + child =NULL ; +while ((child =of_get_next_child (ofdev->node, child)))
for_each_child_of_node(of_dev->node, child)
drivers/mtd/nand/fsl_elbc_nand.c line 1214
Quoted 4 lines
drivers/mtd/nand/fsl_elbc_nand.c new file +3
-0+if (of_device_is_compatible (child,"fsl,elbc-fcm-nand" )) +fsl_elbc_chip_probe (ctrl, child); +static struct of_device_id fsl_elbc_match[] = {
const, please.
Quoted 1 line
+static struct
of_platform_driverfsl_elbc_ctrl_driver= {
.driver = {drivers/mtd/nand/fsl_elbc_nand.c line 1222
Quoted 1 line
drivers/mtd/nand/fsl_elbc_nand.c new file +1
-0+ .name = "fsl-elbc",
},
Quoted 4 lines
drivers/mtd/nand/fsl_elbc_nand.c new file +4
-0+ .match_table = fsl_elbc_match, + .probe = fsl_elbc_ctrl_probe, + .remove = __devexit_p(fsl_elbc_ctrl_remove), +};
Signature · 3 lines
Cheers, Stephen Rothwell [email protected] http://www.canb.auug.org.au/~sfr/