[PATCH v7 2/2] nvmem: imx-ocotp-ele: Support accessing controller for i.MX9
Christophe JAILLET
christophe.jaillet at wanadoo.fr
Sun Feb 2 01:04:26 PST 2025
Le 02/02/2025 à 01:49, Peng Fan (OSS) a écrit :
> From: Peng Fan <peng.fan-3arQi8VN3Tc at public.gmane.org>
>
> i.MX9 OCOTP supports a specific peripheral or function being fused
> which means disabled, so
> - Introduce ocotp_access_gates to be container of efuse gate info
> - Iterate all nodes to check accessing permission. If not
> allowed to be accessed, detach the node
...
> +struct access_gate {
> + u32 word;
> + u32 mask;
> +};
> +
> +struct ocotp_access_gates {
> + u32 num_words;
> + u32 words[OCOTP_MAX_NUM_GATE_WORDS];
> + u32 num_gates;
> + struct access_gate *gates;
Could be const.
> +};
> +
> struct imx_ocotp_priv {
> struct device *dev;
> void __iomem *base;
...
> +
> + return imx_ele_ocotp_access_control(priv);
> }
>
> +struct access_gate imx93_access_gate[] = {
Could be static const.
> + [IMX93_OCOTP_NPU_GATE] = { .word = 19, .mask = BIT(13) },
> + [IMX93_OCOTP_A550_GATE] = { .word = 19, .mask = BIT(14) },
> + [IMX93_OCOTP_A551_GATE] = { .word = 19, .mask = BIT(15) },
...
> @@ -183,7 +308,53 @@ static const struct ocotp_devtype_data imx93_ocotp_data = {
> },
> };
>
> +struct access_gate imx95_access_gate[] = {
Could be static const.
> + [IMX95_OCOTP_CANFD1_GATE] = { .word = 17, .mask = BIT(20) },
> + [IMX95_OCOTP_CANFD2_GATE] = { .word = 17, .mask = BIT(21) },
> + [IMX95_OCOTP_CANFD3_GATE] = { .word = 17, .mask = BIT(22) },
...
CJ
More information about the linux-arm-kernel
mailing list