From mboxrd@z Thu Jan 1 00:00:00 1970 From: Miquel Raynal Date: Fri, 28 Sep 2018 11:40:07 +0200 Subject: [U-Boot] [PATCH v10 0/7] SPI-NAND support (third batch) In-Reply-To: <20180928093502.18002e92@xps13> References: <20180927093208.6605-1-miquel.raynal@bootlin.com> <20180928090759.5e204936@xps13> <20180928093502.18002e92@xps13> Message-ID: <20180928114007.4fd494f1@xps13> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: u-boot@lists.denx.de Hi Miquel, Miquel Raynal wrote on Fri, 28 Sep 2018 09:35:02 +0200: > Hi Jagan, > > Jagan Teki wrote on Fri, 28 Sep 2018 > 12:56:43 +0530: > > > On Fri, Sep 28, 2018 at 12:38 PM Miquel Raynal > > wrote: > > > > > > Hi Jagan, > > > > > > Jagan Teki wrote on Fri, 28 Sep 2018 > > > 12:18:49 +0530: > > > > > > > On Thu, Sep 27, 2018 at 3:04 PM Miquel Raynal wrote: > > > > > > > > > > During the last months, Boris Brezillon shared his work to support > > > > > serial flashes within Linux. First, he delivered (and merged) a new > > > > > layer called spi-mem. He also initiated in Linux MTD subsystem the move > > > > > of all 'raw' NAND related code to a raw/ subdirectory, adding at the > > > > > same time a NAND core that would be shared with all NAND devices. Then, > > > > > he contributed a generic SPI-NAND driver, making use of this NAND core, > > > > > as well as some vendor code to drive a few chips. > > > > > > > > > > On top of this work, I made some cleanups in the MTD layer and added an > > > > > 'mtd' U-Boot command to handle all sort of MTD devices. This should > > > > > become the default command instead of having one per flash flavor > > > > > ('sf', 'nand', 'spi-nand' ?). > > > > > > > > > > The series has been tested on an Ocelot board PCB123 (VSC7514), > > > > > featuring a Macronix SPI NAND chip. > > > > > > > > > > TL;DR: the series contains (stripped version since ~30 patches have > > > > > already been taken): > > > > > - Support for spi-nand devices in mtdparts. > > > > > - Generics mtdparts/mtdids parsers. > > > > > - A new 'mtd' command. > > > > > - A note to set mtdparts command legacy. > > > > > > > > > > To test your SPI-NAND device with U-Boot, you can test someting like: > > > > > > > > > > > setenv mtdparts 'spi-nand0:1m(foo),-(bar)' > > > > > > setenv mtdids 'spi-nand0=spi0.0' # spi0.0 is Linux MTD name for this device > > > > > > ubi part bar # create a static UBI volume in the bar partition > > > > > > mtd list # show the current MTD devices/partitions > > > > > > > > > > Thanks, > > > > > Miquèl > > > > > > > > > > > > > > > NB1: If UBI refuses to attach, verify the partition is epty with > > > > > # mtd erase bar > > > > > > > > > > NB2: If your U-Boot crashes and you are using a non SPI-NAND device, > > > > > don't forget to probe your device *first* (sf probe, ...). > > > > > > > > > > > > > > > Changes since v9: > > > > > ----------------- > > > > > * mtd_search_alternate_name() is moved in mtd_uboot.c (generic code, > > > > > everybody wants to use mtdids). > > > > > * mtd_parse_partitions() is still in mtdparts.c because it depends on > > > > > partitions support, but the header file declaring it > > > > > (include/linux/mtd/partitions.h) also has a dummy function if > > > > > #if IS_ENABLED(CONFIG_MTD_PARTITIONS) is false. > > > > > * Typo corrected in mtd_parse_partitions prototype > > > > > (s/_nb_parts/_nparts/). > > > > > * Added Boris' R-b tags. > > > > > > > > > > Changes since v8 (called v7 by mistake): > > > > > ---------------------------------------- > > > > > * Moved most of the generic logic to the core (mtd_uboot.c) so that it > > > > > can be reused by other parts of U-Boot without depending on anything > > > > > else than the MTD core itself. > > > > > * Removed the "#ifdef CONFIG_MTD" around mtd_probe_devices() calls now > > > > > that the code is in the core. > > > > > * Created an helper for partitions deletion (as there is one to > > > > > parse/create partition objects). > > > > > * Enhanced a bit the text in Kconfig about deprecating mtdparts. > > > > > * Fixed checkpatch.pl warnings in the mtdparts driver. > > > > > * Drop "cmd: mtdparts: try to probe the MTD devices as a fallback" to > > > > > actually deprecate the command. > > > > > > [...] > > > > > > > > Miquel Raynal (7): > > > > > mtd: uclass: add probe function > > > > > mtd: mtdpart: add a generic mtdparts-like parser > > > > > mtd: uboot: search for an equivalent MTD name with the mtdids > > > > > mtd: mtdpart: implement proper partition handling > > > > > cmd: mtd: add 'mtd' command > > > > > cmd: ubi: clean the partition handling > > > > > cmd: mtdparts: describe as legacy > > > > > > > > I didn't find this mtdparts fallback change[1] in v10? does this > > > > fallback issue fixed differently. > > > > > > > > [1] https://github.com/openedev/u-boot-amarula/commit/9edbc2be512c9bd572884c53b5f54b583e897e9b > > > > > > Indeed, I dropped this patch on Boris advice: if we want to deprecate > > > this command, we should not add new features to it (see the above > > > changelog). > > > > OK. > > > > Here are all spi-nand changes[2], I still find the build issues[3], > > any dependencies other than these changes? > > > > [2] https://github.com/openedev/u-boot-amarula/commits/wip-spi-nand > > Seems good to me! > > > [3] https://travis-ci.org/openedev/u-boot-amarula/builds/434479310 > > Indeed, builds are failing because of SZ_4K is not defined (mostly arm > boards). For an unknown reason it does not break with my setup (I'm on > mips right now). > > Let me fix this, I'll keep you udpated. I fixed the SZ_4K and the dev_uclass_get_priv() issues, I hope there are no more relevant warnings/errors than these two. Please receive two patches independently with their own changelog, they should replace their counterpart in your spi-nand-wip branch (titles are exactly the same). Please tell me if you have troubles replacing it. Once Travis build is restarted, please share the link, I'll monitore it. Thanks, Miquèl