[U-Boot] [PATCH] mtd: nand: mxs: Add support for multiple NAND chips

Marek Vasut marex at denx.de
Tue Dec 9 08:34:22 CET 2014


On Tuesday, December 09, 2014 at 08:20:51 AM, Stefan Roese wrote:
> On 08.12.2014 23:53, Scott Wood wrote:
> >>>>>>> => nand device
> >>>>>>> 
> >>>>>>> Device 0: 2x nand0, sector size 128 KiB
> >>>>>>> 
> >>>>>>>    Page size      2048 b
> >>>>>>>    OOB size         64 b
> >>>>>>>    Erase size   131072 b
> >>>>>> 
> >>>>>> Shouldn't you see "Device 0" and "Device 1" ?
> >>>>> 
> >>>>> The "2x" indicates that there are two identical chips being treated
> >>>>> as a single device (chip->numchips).
> >>>> 
> >>>> Is that correct ? What if I have two different NAND chips on this
> >>>> controller?
> >>> 
> >>> Then they need to be represented as separate NAND devices, rather than
> >>> multiple chips on one device.
> >> 
> >> Gee, I wouldn't have though of that, really ;-)
> > 
> > Well, you asked a vague question...
> > 
> >> So is this patch correct or not ?
> > 
> > In all its details?  I don't know, as I'm not familiar with the
> > hardware.  With regards to the question about non-identical devices,
> > this patch doesn't add support for that.  So it's a question of what the
> > requirements are, and whether it's being used in the right
> > circumstances.  If you have non-identical NAND chips, make sure
> > CONFIG_SYS_NAND_MAX_CHIPS is 1.
> 
> Correct. Using CONFIG_SYS_NAND_MAX_CHIPS support identical chips. This
> is exactly what I need in my case. And is also needed for NAND devices
> that have multiple NAND chips embedded on one die. You then need this
> possibility to support multiple chips. Otherwise not the whole device
> can be accessed.
> 
> > A better question might be, does this approach make sense, versus
> > implementing support for multiple devices?  What does Linux support?
> 
> Linux does it exactly in the same way:
> 
> [    1.089439] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xdc
> [    1.095864] nand: Micron MT29F4G08ABADAH4
> [    1.099896] nand: 512MiB, SLC, page size: 2048, OOB size: 64
> [    1.105871] nand: 2 chips detected
> ...
> 
> And exposes those 2 chips as one NAND device. By using this patch we
> also use the same MTD partitioning in U-Boot and Linux (mtdparts
> environment).
> 
> I hope now all is clear.

Yes, it is now. Thank you both for the detailed explanation!

Acked-by: Marek Vasut <marex at denx.de>

Best regards,
Marek Vasut


More information about the U-Boot mailing list