[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