Skip to contentSkip to conversation

Freescale enhanced Local Bus Controller FCM NAND support.

PATCH In review Scott Wood 2 participants 2 messages Jan 11, 2008 – Jan 14, 2008

Subsystems (2)
lore
Share & tools
lore

Scott Wood

author
#0 lore raw

PATCH 3/3 Freescale enhanced Local Bus Controller FCM NAND support.

---
 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
index 0a840d5..4a3c675 100644
@@ -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
index e35f5ea..80d575e 100644
@@ -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
#1 lore raw

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_driver fsl_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/