Message ID | 1579231433-14201-1-git-send-email-peng.fan@nxp.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | c3f4af8b31834928946b344728edad72d9ec964c |
Headers | show |
Series | nvmem: imx: ocotp: add i.MX8MP support | expand |
> Subject: [PATCH] nvmem: imx: ocotp: add i.MX8MP support Gentle ping.. Thanks, Peng. > > From: Peng Fan <peng.fan@nxp.com> > > i.MX8MP has 96 banks with each bank 4 words. And it has different ctrl > register layout, so add new macros for that. > > Signed-off-by: Peng Fan <peng.fan@nxp.com> > --- > > dt-bindings doc has been posted by Anson Huang > > drivers/nvmem/imx-ocotp.c | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/drivers/nvmem/imx-ocotp.c b/drivers/nvmem/imx-ocotp.c index > 4ba9cc8f76df..794858093086 100644 > --- a/drivers/nvmem/imx-ocotp.c > +++ b/drivers/nvmem/imx-ocotp.c > @@ -44,6 +44,11 @@ > #define IMX_OCOTP_BM_CTRL_ERROR 0x00000200 > #define IMX_OCOTP_BM_CTRL_REL_SHADOWS 0x00000400 > > +#define IMX_OCOTP_BM_CTRL_ADDR_8MP 0x000001FF > +#define IMX_OCOTP_BM_CTRL_BUSY_8MP 0x00000200 > +#define IMX_OCOTP_BM_CTRL_ERROR_8MP 0x00000400 > +#define IMX_OCOTP_BM_CTRL_REL_SHADOWS_8MP 0x00000800 > + > #define IMX_OCOTP_BM_CTRL_DEFAULT \ > { \ > .bm_addr = IMX_OCOTP_BM_CTRL_ADDR, \ > @@ -52,6 +57,14 @@ > .bm_rel_shadows = IMX_OCOTP_BM_CTRL_REL_SHADOWS,\ > } > > +#define IMX_OCOTP_BM_CTRL_8MP \ > + { \ > + .bm_addr = IMX_OCOTP_BM_CTRL_ADDR_8MP, \ > + .bm_busy = IMX_OCOTP_BM_CTRL_BUSY_8MP, \ > + .bm_error = IMX_OCOTP_BM_CTRL_ERROR_8MP, \ > + .bm_rel_shadows = IMX_OCOTP_BM_CTRL_REL_SHADOWS_8MP,\ > + } > + > #define TIMING_STROBE_PROG_US 10 /* Min time to blow a fuse */ > #define TIMING_STROBE_READ_NS 37 /* Min time before read */ > #define TIMING_RELAX_NS 17 > @@ -520,6 +533,13 @@ static const struct ocotp_params imx8mn_params = > { > .ctrl = IMX_OCOTP_BM_CTRL_DEFAULT, > }; > > +static const struct ocotp_params imx8mp_params = { > + .nregs = 384, > + .bank_address_words = 0, > + .set_timing = imx_ocotp_set_imx6_timing, > + .ctrl = IMX_OCOTP_BM_CTRL_8MP, > +}; > + > static const struct of_device_id imx_ocotp_dt_ids[] = { > { .compatible = "fsl,imx6q-ocotp", .data = &imx6q_params }, > { .compatible = "fsl,imx6sl-ocotp", .data = &imx6sl_params }, @@ -532,6 > +552,7 @@ static const struct of_device_id imx_ocotp_dt_ids[] = { > { .compatible = "fsl,imx8mq-ocotp", .data = &imx8mq_params }, > { .compatible = "fsl,imx8mm-ocotp", .data = &imx8mm_params }, > { .compatible = "fsl,imx8mn-ocotp", .data = &imx8mn_params }, > + { .compatible = "fsl,imx8mp-ocotp", .data = &imx8mp_params }, > { }, > }; > MODULE_DEVICE_TABLE(of, imx_ocotp_dt_ids); > -- > 2.16.4
On 17/01/2020 03:28, Peng Fan wrote: > From: Peng Fan<peng.fan@nxp.com> > > i.MX8MP has 96 banks with each bank 4 words. And it has different > ctrl register layout, so add new macros for that. > > Signed-off-by: Peng Fan<peng.fan@nxp.com> > --- > > dt-bindings doc has been posted by Anson Huang > > drivers/nvmem/imx-ocotp.c | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) Applied Thanks, --srini
diff --git a/drivers/nvmem/imx-ocotp.c b/drivers/nvmem/imx-ocotp.c index 4ba9cc8f76df..794858093086 100644 --- a/drivers/nvmem/imx-ocotp.c +++ b/drivers/nvmem/imx-ocotp.c @@ -44,6 +44,11 @@ #define IMX_OCOTP_BM_CTRL_ERROR 0x00000200 #define IMX_OCOTP_BM_CTRL_REL_SHADOWS 0x00000400 +#define IMX_OCOTP_BM_CTRL_ADDR_8MP 0x000001FF +#define IMX_OCOTP_BM_CTRL_BUSY_8MP 0x00000200 +#define IMX_OCOTP_BM_CTRL_ERROR_8MP 0x00000400 +#define IMX_OCOTP_BM_CTRL_REL_SHADOWS_8MP 0x00000800 + #define IMX_OCOTP_BM_CTRL_DEFAULT \ { \ .bm_addr = IMX_OCOTP_BM_CTRL_ADDR, \ @@ -52,6 +57,14 @@ .bm_rel_shadows = IMX_OCOTP_BM_CTRL_REL_SHADOWS,\ } +#define IMX_OCOTP_BM_CTRL_8MP \ + { \ + .bm_addr = IMX_OCOTP_BM_CTRL_ADDR_8MP, \ + .bm_busy = IMX_OCOTP_BM_CTRL_BUSY_8MP, \ + .bm_error = IMX_OCOTP_BM_CTRL_ERROR_8MP, \ + .bm_rel_shadows = IMX_OCOTP_BM_CTRL_REL_SHADOWS_8MP,\ + } + #define TIMING_STROBE_PROG_US 10 /* Min time to blow a fuse */ #define TIMING_STROBE_READ_NS 37 /* Min time before read */ #define TIMING_RELAX_NS 17 @@ -520,6 +533,13 @@ static const struct ocotp_params imx8mn_params = { .ctrl = IMX_OCOTP_BM_CTRL_DEFAULT, }; +static const struct ocotp_params imx8mp_params = { + .nregs = 384, + .bank_address_words = 0, + .set_timing = imx_ocotp_set_imx6_timing, + .ctrl = IMX_OCOTP_BM_CTRL_8MP, +}; + static const struct of_device_id imx_ocotp_dt_ids[] = { { .compatible = "fsl,imx6q-ocotp", .data = &imx6q_params }, { .compatible = "fsl,imx6sl-ocotp", .data = &imx6sl_params }, @@ -532,6 +552,7 @@ static const struct of_device_id imx_ocotp_dt_ids[] = { { .compatible = "fsl,imx8mq-ocotp", .data = &imx8mq_params }, { .compatible = "fsl,imx8mm-ocotp", .data = &imx8mm_params }, { .compatible = "fsl,imx8mn-ocotp", .data = &imx8mn_params }, + { .compatible = "fsl,imx8mp-ocotp", .data = &imx8mp_params }, { }, }; MODULE_DEVICE_TABLE(of, imx_ocotp_dt_ids);