NXP MCU 技术论坛
直播中

李浯

7年用户 1011经验值
私信 关注
[问答]

fsl_otp.c不支持i.mx8m,为什么ocotp节点仍然添加在fsl-imx8mq.dtsi中?

我们想在开机进入linux系统后烧录MAC地址。
我检查在“fsl-imx8mq.dtsi”中添加了一个 ocotp 节点。
    ocotp: ocotp-ctrl@30350000 {
        compatible = "fsl,imx8mq-ocotp", "fsl,imx7d-ocotp", "syscon";
        reg = <0 0x30350000 0 0x10000>;
        时钟=<&clk IMX8MQ_CLK_OCOTP_ROOT>;
        /* 对于 nvmem 子节点 */
        #address-cells = <1>;
        #size-cells = <1>;
    };
但我检查了 fsl_otp.c
i.mx8m没有对应的ocotp寄存器映射表需要添加。
所以,我做了一个实验,在内核配置中启用 FSL_OTP 驱动程序。
符号:FSL_OTP [=n] │
  │ 类型:三态 │
  │ 提示:飞思卡尔片上 OTP 存储器支持 │ │
  位置:│
  │ -> 设备驱动程序 │
  │ (1) -> 字符设备 │
  │ 定义在 drivers/char/Kconfig:94 │
  │ 取决于:HAS_IOMEM [=y] && OF [=y]
我使用以下命令将 MAC 地址写入HW_OCOTP_MAC_ADDR1和HW_OCOTP_MAC_ADDR0。
那么这块板只能从串口下载模式启动。(我认为引导模式的保险丝被改变了)。
它解释了 fsl_otp.c 中的寄存器映射错误。

我的问题是 fsl_otp.c 不支持 i.mx8m,为什么 ocotp 节点仍然添加在 fsl-imx8mq.dtsi 中?
有没有计划支持 i.mx8m 的 fsl_otp.c?

更多回帖

发帖
×
20
完善资料,
赚取积分