MLK-15142-7 misc: ocotp add i.MX8M support
authorPeng Fan <peng.fan@nxp.com>
Fri, 23 Jun 2017 02:43:58 +0000 (10:43 +0800)
committerJason Liu <jason.hui.liu@nxp.com>
Thu, 2 Nov 2017 18:36:56 +0000 (02:36 +0800)
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

index b289dd5..9adf0a8 100644 (file)
@@ -36,6 +36,8 @@
 #define BM_OUT_STATUS_DED                              0x00000400
 #define BM_OUT_STATUS_LOCKED                   0x00000800
 #define BM_OUT_STATUS_PROGFAIL                 0x00001000
+#elif defined(CONFIG_IMX8M)
+#define BM_CTRL_ADDR                   0x000000ff
 #else
 #define BM_CTRL_ADDR                   0x0000007f
 #endif
@@ -80,6 +82,9 @@
 #elif defined(CONFIG_MX7ULP)
 #define FUSE_BANK_SIZE 0x80
 #define FUSE_BANKS     31
+#elif defined(CONFIG_IMX8M)
+#define FUSE_BANK_SIZE 0x40
+#define FUSE_BANKS     64
 #else
 #error "Unsupported architecture\n"
 #endif
@@ -295,6 +300,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_IMX8M
+       u32 addr = bank << 2 | word;
 #else
        u32 addr;
        /* Bank 7 and Bank 8 only supports 4 words each for i.MX6ULL */