nvmem: imx-ocotp: imx8mq is compatible with imx6 not imx7
authorLeonard Crestez <leonard.crestez@nxp.com>
Wed, 26 Jun 2019 10:27:33 +0000 (11:27 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Jun 2019 12:26:47 +0000 (20:26 +0800)
According to NXP Reference Manuals and uboot/atf sources the OCOTP block
on imx8m behaves more like imx6 than imx7.

- Fuses can be read/written 32bits at a time (no imx7-like banking)
- The OCOTP_HW_OCOTP_TIMING register is like imx6 not imx7

Since nvmem doesn't support uboot-style "sense" and "override" this
issue only affected "write" which is very rarely used.

Fixes: 163c0dbd0cb1 ("nvmem: imx-ocotp: add support for imx8mq")
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/nvmem/imx-ocotp.c

index 340ab33..42d4451 100644 (file)
@@ -469,8 +469,8 @@ static const struct ocotp_params imx7ulp_params = {
 
 static const struct ocotp_params imx8mq_params = {
        .nregs = 256,
-       .bank_address_words = 4,
-       .set_timing = imx_ocotp_set_imx7_timing,
+       .bank_address_words = 0,
+       .set_timing = imx_ocotp_set_imx6_timing,
 };
 
 static const struct ocotp_params imx8mm_params = {