[PATCH 13/14] ARM: i.MX: xload nand: Implement i.MX7 support

Sascha Hauer s.hauer at pengutronix.de
Wed Nov 2 01:46:02 PDT 2022


On Wed, Nov 02, 2022 at 09:41:18AM +0100, Marco Felsch wrote:
> Hi Sascha,
> 
> On 22-11-01, Sascha Hauer wrote:
> > i.MX7 xload NAND support works like on i.MX6, but the FCB is in a
> > different format. The FCB page uses BCH62 ECC, has 8 ECC chunks with
> > 128 bytes each with a resulting total page size of 1862 bytes. Also
> > the page data is written with a pseudo randomizer enabled.
> > 
> > Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> > ---
> >  arch/arm/mach-imx/include/mach/imx7-regs.h |  1 +
> >  arch/arm/mach-imx/include/mach/xload.h     |  1 +
> >  arch/arm/mach-imx/xload-gpmi-nand.c        | 95 ++++++++++++++++++++--
> >  3 files changed, 91 insertions(+), 6 deletions(-)
> > 
> > diff --git a/arch/arm/mach-imx/include/mach/imx7-regs.h b/arch/arm/mach-imx/include/mach/imx7-regs.h
> > index 1ee7d86e0e..379be9e062 100644
> > --- a/arch/arm/mach-imx/include/mach/imx7-regs.h
> > +++ b/arch/arm/mach-imx/include/mach/imx7-regs.h
> > @@ -118,6 +118,7 @@
> >  #define MX7_ENET1_BASE_ADDR		(MX7_AIPS3_BASE_ADDR + 0x3E0000)
> >  #define MX7_ENET2_BASE_ADDR		(MX7_AIPS3_BASE_ADDR + 0x3F0000)
> >  
> > +#define	MX7_APBH_BASE			0x33000000
> >  #define MX7_GPMI_BASE			0x33002000
> >  #define MX7_BCH_BASE			0x33004000
> >  
> > diff --git a/arch/arm/mach-imx/include/mach/xload.h b/arch/arm/mach-imx/include/mach/xload.h
> > index 82bf663c42..ca0055aee2 100644
> > --- a/arch/arm/mach-imx/include/mach/xload.h
> > +++ b/arch/arm/mach-imx/include/mach/xload.h
> > @@ -12,6 +12,7 @@ int imx6_spi_start_image(int instance);
> >  int imx6_esdhc_start_image(int instance);
> >  int imx6_nand_start_image(void);
> >  int imx7_esdhc_start_image(int instance);
> > +int imx7_nand_start_image(void);
> >  int imx8m_esdhc_load_image(int instance, bool start);
> >  int imx8mn_esdhc_load_image(int instance, bool start);
> >  int imx8mp_esdhc_load_image(int instance, bool start);
> > diff --git a/arch/arm/mach-imx/xload-gpmi-nand.c b/arch/arm/mach-imx/xload-gpmi-nand.c
> > index 7e4033d74f..edffd69e6b 100644
> > --- a/arch/arm/mach-imx/xload-gpmi-nand.c
> > +++ b/arch/arm/mach-imx/xload-gpmi-nand.c
> > @@ -13,6 +13,7 @@
> >  #include <linux/mtd/rawnand.h>
> >  #include <soc/imx/gpmi-nand.h>
> >  #include <mach/imx6-regs.h>
> > +#include <mach/imx7-regs.h>
> >  #include <mach/clock-imx6.h>
> >  #include <dma/apbh-dma.h>
> >  
> > @@ -228,7 +229,7 @@ static uint32_t mxs_nand_aux_status_offset(void)
> >  }
> >  
> >  static int mxs_nand_read_page(struct mxs_nand_info *info, int writesize,
> > -		int oobsize, int pagenum, void *databuf, int raw)
> > +		int oobsize, int pagenum, void *databuf, int raw, bool randomizer)
> 
> Here the change comes, so this anwers my question.

Yes, moved the offending hunk here.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list