Hi Ted,

On 02/12/15 06:56, Ted Victorio wrote:
I am unable to compile for the M5329 NAND using the configuration below.

Distro:        uClinux-dist-20150808
Tool:           m68k-uclinux-tools-20101118
Platform:   Freescale MCF5329EVB

# Linux/m68k 4.0.0-uc0 Kernel Configuration
[snip]

Errors:
drivers/mtd/nand/m5329.c: In function 5329_init:
drivers/mtd/nand/m5329.c:85:2: error: lvalue required as left operand of
assignment
drivers/mtd/nand/m5329.c:90:4: error: lvalue required as left operand of
assignment
drivers/mtd/nand/m5329.c:92:4: error: lvalue required as left operand of
assignment
drivers/mtd/nand/m5329.c:131:2: error: implicit declaration of function
add_mtd_partitions

Do I need additional options? Or something else?

The definitions for register addresses were sanitized for Coldfire
hardware a few kernel revisions back. They are now all register
addresses (or offsets) - not access macros as some were.

You will need the patch below to fix this driver (compile tested
only). The include of mtdcore is a little ugly, but it should get
you going for now.

Regards
Greg



--- linux/drivers/mtd/nand/m5329.c.org  2015-12-03 00:19:18.324085936 +1000
+++ linux/drivers/mtd/nand/m5329.c      2015-12-03 00:27:49.644082361 +1000
@@ -27,6 +27,7 @@
 #include <linux/mtd/partitions.h>
 #include <asm/io.h>
 #include <asm/mcfsim.h>
+#include "../mtdcore.h"

 /*
  * MTD structure for M5329EVB board
@@ -82,14 +83,14 @@
        struct nand_chip *this;

        /* Setup NAND flash chip select signals */
-       MCF_FBCS2_CSAR = NAND_FLASH_ADDRESS;
-       MCF_FBCS2_CSCR = (MCF_FBCS_CSCR_PS_8
-                       | MCF_FBCS_CSCR_BEM
-                       | MCF_FBCS_CSCR_AA
-                       | MCF_FBCS_CSCR_SBM
-                       | MCF_FBCS_CSCR_WS(7));
-       MCF_FBCS2_CSMR = (MCF_FBCS_CSMR_BAM_16M
-                       | MCF_FBCS_CSMR_V);
+       writel(NAND_FLASH_ADDRESS, MCF_FBCS2_CSAR);
+       writel(MCF_FBCS_CSCR_PS_8
+               | MCF_FBCS_CSCR_BEM
+               | MCF_FBCS_CSCR_AA
+               | MCF_FBCS_CSCR_SBM
+               | MCF_FBCS_CSCR_WS(7),
+               MCF_FBCS2_CSCR);
+       writel(MCF_FBCS_CSMR_BAM_16M | MCF_FBCS_CSMR_V, MCF_FBCS2_CSMR);

        /* Allocate memory for MTD device structure and private data */
        m5329_mtd = kmalloc (sizeof(struct mtd_info)+sizeof (struct nand_chip),


_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to