[PATCH v4 04/11] nvmem: imx-ocotp-ele: Add keepout table for i.MX93
Frieder Schrempf <[email protected]>
| Newsgroups | dev.linux.lists.imx,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260727-upstreaming-next-20260609-imx-ocotp-ele-v4-4-1a515de33093@kontron.de> |
From: Frieder Schrempf <[email protected]> Add an overall keepout table to describe which fuse registers are invalid and not accessible. No functional changes intended. Signed-off-by: Frieder Schrempf <[email protected]> --- drivers/nvmem/imx-ocotp-ele.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/nvmem/imx-ocotp-ele.c b/drivers/nvmem/imx-ocotp-ele.c index a0d2985c6d03..dadec19ca252 100644 --- a/drivers/nvmem/imx-ocotp-ele.c +++ b/drivers/nvmem/imx-ocotp-ele.c @@ -34,6 +34,8 @@ struct ocotp_devtype_data { u32 num_entry; u32 flag; nvmem_reg_read_t reg_read; + const struct nvmem_keepout *keepout; + unsigned int nkeepout; struct ocotp_map_entry entry[]; }; @@ -163,6 +165,12 @@ static int imx_ele_ocotp_probe(struct platform_device *pdev) priv->config.read_only = true; priv->config.add_legacy_fixed_of_cells = true; priv->config.fixup_dt_cell_info = imx_ocotp_fixup_dt_cell_info; + + if (priv->data->nkeepout) { + priv->config.keepout = priv->data->keepout; + priv->config.nkeepout = priv->data->nkeepout; + } + mutex_init(&priv->lock); nvmem = devm_nvmem_register(dev, &priv->config); @@ -172,6 +180,14 @@ static int imx_ele_ocotp_probe(struct platform_device *pdev) return 0; } +static const struct nvmem_keepout imx93_ocotp_keepout[] = { + {.start = 208, .end = 252}, + {.start = 256, .end = 512}, + {.start = 576, .end = 728}, + {.start = 732, .end = 752}, + {.start = 756, .end = 1248}, +}; + static const struct ocotp_devtype_data imx93_ocotp_data = { .reg_off = 0x8000, .reg_read = imx_ocotp_reg_read, @@ -185,6 +201,8 @@ static const struct ocotp_devtype_data imx93_ocotp_data = { { 188, 1, FUSE_ELE }, { 312, 200, FUSE_FSB } }, + .keepout = imx93_ocotp_keepout, + .nkeepout = ARRAY_SIZE(imx93_ocotp_keepout), }; static const struct ocotp_devtype_data imx94_ocotp_data = { -- 2.55.0