Message ID | 1439868307-24985-1-git-send-email-b45815@freescale.com |
---|---|
State | Superseded |
Headers | show |
On Mon, Aug 17, 2015 at 10:25:07PM -0500, Han Xu wrote: > support GPMI NAND on i.MX6UL > > Signed-off-by: Han Xu <han.xu@freescale.com> > --- > drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 9 +++++++++ > drivers/mtd/nand/gpmi-nand/gpmi-nand.h | 6 ++++-- > 2 files changed, 13 insertions(+), 2 deletions(-) > > diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c > index 362cf4c..adadac2 100644 > --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c > +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c > @@ -89,6 +89,12 @@ static const struct gpmi_devdata gpmi_devdata_imx7d = { > .max_chain_delay = 12, > }; > > +static const struct gpmi_devdata gpmi_devdata_imx6ul = { > + .type = IS_MX6UL, > + .bch_max_ecc_strength = 40, > + .max_chain_delay = 12, > +}; > + > static irqreturn_t bch_irq(int irq, void *cookie) > { > struct gpmi_nand_data *this = cookie; > @@ -2016,6 +2022,9 @@ static const struct of_device_id gpmi_nand_id_table[] = { > .compatible = "fsl,imx6sx-gpmi-nand", > .data = &gpmi_devdata_imx6sx, > }, { > + .compatible = "fsl,imx6ul-gpmi-nand", > + .data = (void *)&gpmi_devdata_imx6ul, > + }, { > .compatible = "fsl,imx7d-gpmi-nand", > .data = (void *)&gpmi_devdata_imx7d, > } > diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h > index 36ffeda..8428637 100644 > --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h > +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h > @@ -125,7 +125,8 @@ enum gpmi_type { > IS_MX6Q, > IS_MX6QP, > IS_MX6SX, > - IS_MX7D > + IS_MX7D, > + IS_MX6UL > }; > > struct gpmi_devdata { > @@ -310,8 +311,9 @@ void gpmi_copy_bits(u8 *dst, size_t dst_bit_off, > #define GPMI_IS_MX6QP(x) ((x)->devdata->type == IS_MX6QP) > #define GPMI_IS_MX6SX(x) ((x)->devdata->type == IS_MX6SX) > #define GPMI_IS_MX7D(x) ((x)->devdata->type == IS_MX7D) > +#define GPMI_IS_MX6UL(x) ((x)->devdata->type == IS_MX6UL) > > #define GPMI_IS_MX6(x) (GPMI_IS_MX6Q(x) || GPMI_IS_MX6QP(x)\ > - || GPMI_IS_MX6SX(x)) > + || GPMI_IS_MX6SX(x) || GPMI_IS_MX6UL(x)) > #define GPMI_IS_MX7(x) (GPMI_IS_MX7D(x)) > #endif > -- Acked-by: Huang Shijie <shijie.huang@arm.com>
diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c index 362cf4c..adadac2 100644 --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c @@ -89,6 +89,12 @@ static const struct gpmi_devdata gpmi_devdata_imx7d = { .max_chain_delay = 12, }; +static const struct gpmi_devdata gpmi_devdata_imx6ul = { + .type = IS_MX6UL, + .bch_max_ecc_strength = 40, + .max_chain_delay = 12, +}; + static irqreturn_t bch_irq(int irq, void *cookie) { struct gpmi_nand_data *this = cookie; @@ -2016,6 +2022,9 @@ static const struct of_device_id gpmi_nand_id_table[] = { .compatible = "fsl,imx6sx-gpmi-nand", .data = &gpmi_devdata_imx6sx, }, { + .compatible = "fsl,imx6ul-gpmi-nand", + .data = (void *)&gpmi_devdata_imx6ul, + }, { .compatible = "fsl,imx7d-gpmi-nand", .data = (void *)&gpmi_devdata_imx7d, } diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h index 36ffeda..8428637 100644 --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h @@ -125,7 +125,8 @@ enum gpmi_type { IS_MX6Q, IS_MX6QP, IS_MX6SX, - IS_MX7D + IS_MX7D, + IS_MX6UL }; struct gpmi_devdata { @@ -310,8 +311,9 @@ void gpmi_copy_bits(u8 *dst, size_t dst_bit_off, #define GPMI_IS_MX6QP(x) ((x)->devdata->type == IS_MX6QP) #define GPMI_IS_MX6SX(x) ((x)->devdata->type == IS_MX6SX) #define GPMI_IS_MX7D(x) ((x)->devdata->type == IS_MX7D) +#define GPMI_IS_MX6UL(x) ((x)->devdata->type == IS_MX6UL) #define GPMI_IS_MX6(x) (GPMI_IS_MX6Q(x) || GPMI_IS_MX6QP(x)\ - || GPMI_IS_MX6SX(x)) + || GPMI_IS_MX6SX(x) || GPMI_IS_MX6UL(x)) #define GPMI_IS_MX7(x) (GPMI_IS_MX7D(x)) #endif
support GPMI NAND on i.MX6UL Signed-off-by: Han Xu <han.xu@freescale.com> --- drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 9 +++++++++ drivers/mtd/nand/gpmi-nand/gpmi-nand.h | 6 ++++-- 2 files changed, 13 insertions(+), 2 deletions(-)