On Monday 15 August 2022 23:49:17 Michael Nazzareno Trimarchi wrote: > Hi > > Il lun 15 ago 2022, 10:01 Pali Rohár <p...@kernel.org> ha scritto: > > > Subpage write support for freescale eLBC NAND controller driver is > > implemented in U-Boot and was fixes in the commit d3963721d93f ("nand: Sync > > with Linux v4.1"). > > > > So remove NAND_NO_SUBPAGE_WRITE flag from the fsl_elbc_nand.c driver. This > > partially revert commit cb04c7723429 ("nand/fsl: add NAND_NO_SUBPAGE_WRITE > > to eLBC and IFC drivers"), only eLBC driver part. > > > > With this change U-Boot with default settings can read from NAND UBIFS > > image created on Linux with Linux default settings. Prior this change > > U-Boot was unable to read from NAND UBIFS images created with Linux default > > settings due to differnet UBI geometry. > > > > Linux kernel fsl_elbc_nand.c driver also does not set NAND_NO_SUBPAGE_WRITE > > flag and has implemented subpage write support. > > > > Fixes: cb04c7723429 ("nand/fsl: add NAND_NO_SUBPAGE_WRITE to eLBC and IFC > > drivers") > > Fixes: d3963721d93f ("nand: Sync with Linux v4.1") > > Signed-off-by: Pali Rohár <p...@kernel.org> > > --- > > See also email thread: > > https://lore.kernel.org/u-boot/20220807120027.2zz43afbqtqljhul@pali/t/#u > > --- > > drivers/mtd/nand/raw/fsl_elbc_nand.c | 1 - > > 1 file changed, 1 deletion(-) > > > > diff --git a/drivers/mtd/nand/raw/fsl_elbc_nand.c > > b/drivers/mtd/nand/raw/fsl_elbc_nand.c > > index 48a3687f2728..e28670a4724a 100644 > > --- a/drivers/mtd/nand/raw/fsl_elbc_nand.c > > +++ b/drivers/mtd/nand/raw/fsl_elbc_nand.c > > @@ -732,7 +732,6 @@ static int fsl_elbc_chip_init(int devnum, u8 *addr, > > struct udevice *dev) > > nand->bbt_md = &bbt_mirror_descr; > > > > /* set up nand options */ > > - nand->options = NAND_NO_SUBPAGE_WRITE; > > nand->bbt_options = NAND_BBT_USE_FLASH; > > > > nand->controller = &elbc_ctrl->controller; > > > > Reviewed-by: Michael Trimarchi <mich...@amarulasolutions.com> > > I was following the thread. Please confirm that you was able to test
Yes, I have tested this change on P2020 based board Turris 1.1. And finally U-Boot by default was able to access UBI created by mainline Linux with default parameters, just by calling 'ubi part rootfs'. UBI created by sub-page of size 2048 can be still also read by U-Boot by calling 'ubi part rootfs 2048'. For this purpose I already provided distroboot patch to easily specify UBI header offset (which is by default sub-page size): https://lore.kernel.org/u-boot/20220807190422.20157-1-p...@kernel.org/ > Michael > > > -- > > 2.20.1 > > > >