[U-Boot] [PATCH] NAND: Allow nand_ids and nand_bbt to be compiled in SPL
Mike Frysinger
vapier at gentoo.org
Sun Jan 8 10:56:54 CET 2012
On Wednesday 04 January 2012 18:56:23 Scott Wood wrote:
> On 12/05/2011 05:17 PM, Marek Vasut wrote:
> > This will be beneficial for the PXA3XX NAND driver, which uses the NAND
> > IDs to identify the chip and configure the controller accordingly.
> >
> > --- a/drivers/mtd/nand/Makefile
> > +++ b/drivers/mtd/nand/Makefile
> >
> > endif
> > else
> > COBJS-y += nand.o
> > -COBJS-y += nand_bbt.o
> > -COBJS-y += nand_ids.o
> > COBJS-y += nand_util.o
> > endif
> > +COBJS-y += nand_bbt.o
> > +COBJS-y += nand_ids.o
> > COBJS-y += nand_ecc.o
> > COBJS-y += nand_base.o
>
> So, in theory with gc-sections this shouldn't increase the size of any
> SPL that currently successfully links (at least in the absence of things
> like weak symbols). However, I observed a devkit8000 build go from this:
>
> text data bss dec hex filename
> 40709 1792 197764 240265 3aa89 /tmp/u-boot-arm/spl/u-boot-spl
>
> to this:
>
> text data bss dec hex filename
> 42277 1792 197764 241833 3b0a9 /tmp/u-boot-arm/spl/u-boot-spl
>
> I verified that --function-sections/-fdata-sections/--gc-sections are
> being used on the SPL. It looks like strings are not getting dropped.
specifically, "anonymous" strings (or whatever the term is). it could be made
to work, but it'd be ugly. something like:
--- a/drivers/mtd/nand/nand_ids.c
+++ b/drivers/mtd/nand/nand_ids.c
@@ -22,6 +22,12 @@
+ 256 256 Byte page size
* 512 512 Byte page size
*/
+
+static const char nand_16mib_18v_8bit[] = "NAND 16MiB 1,8V 8-bit";
+static const char nand_16mib_33v_8bit[] = "NAND 16MiB 3,3V 8-bit";
+static const char nand_16mib_18v_16bit[] = "NAND 16MiB 1,8V 16-bit";
+static const char nand_16mib_33v_16bit[] = "NAND 16MiB 3,3V 16-bit";
+
const struct nand_flash_dev nand_flash_ids[] = {
#ifdef CONFIG_MTD_NAND_MUSEUM_IDS
@@ -42,10 +48,10 @@
{"NAND 8MiB 3,3V 16-bit", 0x59, 512, 8, 0x2000, NAND_BUSWIDTH_16},
#endif
- {"NAND 16MiB 1,8V 8-bit", 0x33, 512, 16, 0x4000, 0},
- {"NAND 16MiB 3,3V 8-bit", 0x73, 512, 16, 0x4000, 0},
- {"NAND 16MiB 1,8V 16-bit", 0x43, 512, 16, 0x4000, NAND_BUSWIDTH_16},
- {"NAND 16MiB 3,3V 16-bit", 0x53, 512, 16, 0x4000, NAND_BUSWIDTH_16},
+ {nand_16mib_18v_8bit, 0x33, 512, 16, 0x4000, 0},
+ {nand_16mib_33v_8bit, 0x73, 512, 16, 0x4000, 0},
+ {nand_16mib_18v_16bit, 0x43, 512, 16, 0x4000, NAND_BUSWIDTH_16},
+ {nand_16mib_33v_16bit, 0x53, 512, 16, 0x4000, NAND_BUSWIDTH_16},
{"NAND 32MiB 1,8V 8-bit", 0x35, 512, 32, 0x4000, 0},
{"NAND 32MiB 3,3V 8-bit", 0x75, 512, 32, 0x4000, 0},
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120108/62ee777e/attachment.pgp>
More information about the U-Boot
mailing list