diff mbox series

[U-Boot,V2,14/23] misc: ocotp: add i.MX8M support

Message ID 20171204043136.17167-15-peng.fan@nxp.com
State Changes Requested
Delegated to: Stefano Babic
Headers show
Series imx: add i.MX8M support and i.MX8MQ EVK | expand

Commit Message

Peng Fan Dec. 4, 2017, 4:31 a.m. UTC
i.MX8M OCOTP follow same flow as i.MX6Q, but it has 64 banks
and each bank 4 words.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 drivers/misc/mxc_ocotp.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Stefano Babic Dec. 7, 2017, 8:41 a.m. UTC | #1
On 04/12/2017 05:31, Peng Fan wrote:
> i.MX8M OCOTP follow same flow as i.MX6Q, but it has 64 banks
> and each bank 4 words.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
>  drivers/misc/mxc_ocotp.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/misc/mxc_ocotp.c b/drivers/misc/mxc_ocotp.c
> index 8986bb4ad0..0cf24a4c88 100644
> --- a/drivers/misc/mxc_ocotp.c
> +++ b/drivers/misc/mxc_ocotp.c
> @@ -35,6 +35,8 @@
>  #define BM_OUT_STATUS_DED				0x00000400
>  #define BM_OUT_STATUS_LOCKED			0x00000800
>  #define BM_OUT_STATUS_PROGFAIL			0x00001000
> +#elif defined(CONFIG_MX8M)
> +#define BM_CTRL_ADDR			0x000000ff
>  #else
>  #define BM_CTRL_ADDR			0x0000007f
>  #endif
> @@ -79,6 +81,9 @@
>  #elif defined(CONFIG_MX7ULP)
>  #define FUSE_BANK_SIZE	0x80
>  #define FUSE_BANKS	31
> +#elif defined(CONFIG_MX8M)
> +#define FUSE_BANK_SIZE	0x40
> +#define FUSE_BANKS	64
>  #else
>  #error "Unsupported architecture\n"
>  #endif
> @@ -294,6 +299,8 @@ static void setup_direct_access(struct ocotp_regs *regs, u32 bank, u32 word,
>  	u32 wr_unlock = write ? BV_CTRL_WR_UNLOCK_KEY : 0;
>  #ifdef CONFIG_MX7
>  	u32 addr = bank;
> +#elif defined CONFIG_MX8M
> +	u32 addr = bank << 2 | word;
>  #else
>  	u32 addr;
>  	/* Bank 7 and Bank 8 only supports 4 words each for i.MX6ULL */
> 

Reviewed-by: Stefano Babic <sbabic@denx.de>

Best regards,
Stefano Babic
Fabio Estevam Dec. 16, 2017, 5:40 p.m. UTC | #2
On Mon, Dec 4, 2017 at 2:31 AM, Peng Fan <peng.fan@nxp.com> wrote:
> i.MX8M OCOTP follow same flow as i.MX6Q, but it has 64 banks
> and each bank 4 words.
>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>

Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
diff mbox series

Patch

diff --git a/drivers/misc/mxc_ocotp.c b/drivers/misc/mxc_ocotp.c
index 8986bb4ad0..0cf24a4c88 100644
--- a/drivers/misc/mxc_ocotp.c
+++ b/drivers/misc/mxc_ocotp.c
@@ -35,6 +35,8 @@ 
 #define BM_OUT_STATUS_DED				0x00000400
 #define BM_OUT_STATUS_LOCKED			0x00000800
 #define BM_OUT_STATUS_PROGFAIL			0x00001000
+#elif defined(CONFIG_MX8M)
+#define BM_CTRL_ADDR			0x000000ff
 #else
 #define BM_CTRL_ADDR			0x0000007f
 #endif
@@ -79,6 +81,9 @@ 
 #elif defined(CONFIG_MX7ULP)
 #define FUSE_BANK_SIZE	0x80
 #define FUSE_BANKS	31
+#elif defined(CONFIG_MX8M)
+#define FUSE_BANK_SIZE	0x40
+#define FUSE_BANKS	64
 #else
 #error "Unsupported architecture\n"
 #endif
@@ -294,6 +299,8 @@  static void setup_direct_access(struct ocotp_regs *regs, u32 bank, u32 word,
 	u32 wr_unlock = write ? BV_CTRL_WR_UNLOCK_KEY : 0;
 #ifdef CONFIG_MX7
 	u32 addr = bank;
+#elif defined CONFIG_MX8M
+	u32 addr = bank << 2 | word;
 #else
 	u32 addr;
 	/* Bank 7 and Bank 8 only supports 4 words each for i.MX6ULL */