nvmem: imx-ocotp: Restrict OTP write to IMX6 processors
authorBryan O'Donoghue <pure.logic@nexus-software.ie>
Tue, 24 Oct 2017 09:54:27 +0000 (10:54 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Nov 2017 13:19:05 +0000 (14:19 +0100)
i.MX7S/D have a different scheme for addressing the OTP registers inside
the OCOTP block. Currently it's possible to address the wrong OTP registers
given the disparity between IMX6 and IMX7 OTP addressing.

Since OTP programming is one-time destructive its important we restrict
this interface ASAP.

Fixes: 0642bac7da42 ("nvmem: imx-ocotp: add write support")
Signed-off-by: Bryan O'Donoghue <pure.logic@nexus-software.ie>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/nvmem/imx-ocotp.c

index e57e2a57aa3f39cdbdf6a0790c9dac95d0696b77..653cff9d99272d1cf3171411c37f876043b63775 100644 (file)
@@ -346,6 +346,8 @@ static int imx_ocotp_probe(struct platform_device *pdev)
        imx_ocotp_nvmem_config.dev = dev;
        imx_ocotp_nvmem_config.priv = priv;
        priv->config = &imx_ocotp_nvmem_config;
+       if (of_device_is_compatible(pdev->dev.of_node, "fsl,imx7d-ocotp"))
+               imx_ocotp_nvmem_config.read_only = true;
        nvmem = nvmem_register(&imx_ocotp_nvmem_config);
 
        if (IS_ERR(nvmem))