On Mon, Jul 30, 2018 at 8:41 PM, Stefan Roese <s...@denx.de> wrote: > Hi Miquel, > Hi Jagan, > > > On 26.07.2018 09:29, Miquel Raynal wrote: >> >> Hi Jagan, >> >> Jagan Teki <ja...@amarulasolutions.com> wrote on Thu, 26 Jul 2018 >> 11:00:56 +0530: >> >>> On Fri, Jul 13, 2018 at 6:01 PM, Miquel Raynal >>> <miquel.ray...@bootlin.com> 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 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: >>>> - A few patches from Linux to resynchronize some areas of the MTD layer. >>>> - Various fixes and re-organization of the MTD subsystem. >>>> - The introduction of the SPI-mem interface. >>>> - The addition of the generic SPI-NAND driver (and its bindings). >>>> - Several SPI NAND chip drivers (Macronix, Micron, Winbond). >>>> - A new 'mtd' command. >>>> - Support for spi-nand devices in mtdparts. >>>> >>>> To test your SPI-NAND device with U-Boot simply follow these lines: >>>> >>>>> >>>>> setenv mtdparts mtdparts=spi-nand0:1m(foo),-(bar) >>>>> setenv mtdids spi-nand0=spi-nand0 >>>>> mtdparts # show the spi-nand device partitions >>>>> ubi part bar # create a static UBI volume in the bar partition >>>> >>>> >>>> Thanks, >>>> Miquèl >>>> >>>> Changes since v3: >>>> ----------------- >>>> * Fixed the debug messages in spi-mem to print either Rx or Tx data. >>>> * Fixed a Kconfig error that prevented to build mtdparts with plain >>>> defconfig. >>>> * Fixed a compilation error due to the above error that prevented one >>>> file to be compiled. >>>> * Adapted the mtd command to probe MTD partitions also. >>>> * Declared mtd_probe_devices() in a header so mtdparts or UBI could >>>> use it too (to probe all devices and MTD partitions in a clean way). >>>> * As I worked on mtdparts, I found annoying and completely useless the >>>> fact that we need to prefix the environment variable with >>>> "mtdparts=". Canceled this obligation. >>>> * Added one patch to allow spi-nand devices to be recognized by mtdparts >>>> (this is purely useless but needed to be done in order to use this >>>> command). >>>> * Removed useless definitions of MTD device types in UBI code. >>>> * Wrote a generic mtdparts environment variable parser, used by the mtd >>>> command. >>>> * Used the mtd_probe_devices() function from get_mtd_info() in >>>> cmd/mtdparts.c to be sure the desired partition really does not exist >>>> (otherwise it will be probed and then found). >>>> >>>> Changes since v2: >>>> ----------------- >>>> * Rebased on u-boot master branch. >>>> * Removed extra-parenthesis in >>>> "mtd: Fallback to ->_read/write() when ->_read/write_oob() is >>>> missing" >>>> * s/fiels/files/ in "mtd: move NAND fiels into a raw/ subdirectory" >>>> * Do not describe generic SPI device properties in SPI NAND bindings. >>>> * Changes in the mtd command: >>>> * Printing more information in 'mtd list' (device type, device >>>> characteristics) >>>> * Switch to do_div() instead of '(u32)value64b % value32b' which only >>>> worked because value32b was a power of 2. >>>> * Removed erase.chip option. >>>> * By default, erase/read/write happen on the full MTD device while a >>>> dump will only work on a single page. >>>> >>>> Changes since v1: >>>> ----------------- >>>> * Fixed the nand_memorg structure of the MX35LF2GE4AB chip. >>>> * Added Reviewed-by tags from Jagan. >>>> * Backported and squashed two patches fixing things in the SPI NAND core >>>> received on the Linux ML. >>>> * Backported more changes in mtdcore.c from Linux. >>>> * Added a patch to add a fallback on mtd->_read/_write() in mtdcore.c >>>> when mtd->_read/write_oob() is not supported. >>>> * Removed the DT changes, useless as the DTs are not available in >>>> mainline yet. >>>> * Addressed Boris/Stefan comments on the 'mtd' command. >>>> * Added support for multi-pages OOB read/write. >>>> >>>> >>>> Boris Brezillon (7): >>>> mtd: Fallback to ->_read/write_oob() when ->_read/write() is missing >>>> mtd: Add sanity checks in mtd_write/read_oob() >>>> mtd: nand: Add core infrastructure to deal with NAND devices >>>> mtd: nand: Pass mode information to nand_page_io_req >>>> spi: Extend the core to ease integration of SPI memory controllers >>>> mtd: spinand: Add initial support for the MX35LF1GE4AB chip >>>> dt-bindings: Add bindings for SPI NAND devices >>>> >>>> Brian Norris (1): >>>> mtd: add get/set of_node/flash_node helpers >>>> >>>> Ezequiel Garcia (1): >>>> mtd: Uninline mtd_write_oob and move it to mtdcore.c >>>> >>>> Frieder Schrempf (1): >>>> mtd: spinand: Add initial support for Winbond W25M02GV >>>> >>>> Miquel Raynal (15): >>>> mtd: Fallback to ->_read/write() when ->_read/write_oob() is missing >>>> mtd: fix build issue with includes >>>> mtd: move definitions to enlarge their range >>>> mtd: move all flash categories inside MTD submenu >>>> mtd: move NAND files into a raw/ subdirectory >>>> mtd: rename nand into rawnand in Kconfig prompt >>>> mtd: spinand: Add initial support for the MX35LF2GE4AB chip >>>> mtd: declare MTD_PARTITIONS symbol in Kconfig >>>> cmd: ubi: delete useless and misleading definitions >>>> cmd: mtdparts: accept spi-nand devices >>>> cmd: mtdparts: add a generic 'mtdparts' parser >>>> cmd: mtdparts: remove useless 'mtdparts=' prefix >>>> mtd: uclass: add probe function >>>> cmd: mtd: add 'mtd' command >>>> cmd: mtdparts: try to probe the MTD devices as a fallback >>>> >>>> Peter Pan (2): >>>> mtd: nand: Add core infrastructure to support SPI NANDs >>>> mtd: spinand: Add initial support for Micron MT29F2G01ABAGD >>> >>> >>> Acked--by: Jagan Teki <ja...@openedev.com> >>> >> >> Thanks! >> >>> Can you rebase on master and send the needed patches or whole? Look >>> like some changes been added in drivers/mtd/nand/Kconfig >> >> >> I'll wait a bit for Stefan review also and I think I missed something >> in mtdparts: old partitions are not freed when creating new ones.
Is this resolved with v5? > > I'm back from vacation and am starting to work on this SPI NAND > support again. Right now, I'm facing a problem with 32 Bytes > missing when written to NAND and read back. Most likely a problem > with my SPI driver which supports a maximum of 32 Bytes per SPI > message (I'm using adjust_op_size() to adjust the max xfer size). Is it with kirkwood? > As for waiting for my review comments, I would suggest to pull > this patchset (once updated onto TOT) soon, as the merge window > closes just today. We can fix issues later in this release cycle. > Otherwise we need to postpone this series to the next release, which > is of course also on option. If the issue is generic and it changed the current behavior on mtd or any other related areas, it's better to hold. Jagan. -- Jagan Teki Senior Linux Kernel Engineer | Amarula Solutions U-Boot, Linux | Upstream Maintainer Hyderabad, India. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot