This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM623:有关 AM62x&#39上 MAC 地址存储的查询;s ext_OTP 区域

Guru**** 2482225 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1447259/am623-inquiry-regarding-mac-address-storage-on-am62x-s-ext_otp-region

器件型号:AM623

工具与软件:

你(们)好

现在、客户需要在 am62x 的 ext_OTP 区域存储和读取 MAC 地址。 根据 TI_SCI 和 E2E 提供的指令、我们在 U-Boot 阶段尝试通过 TISCI 命令读取和写入 ext_OTP、还使用 SDK10中的 OP-TEE 运行 ext_OTP。 但是、这两种方法都无法成功实现读取和写入操作。

在 U-Boot 阶段:
•我们在 TI_SCI 驱动器内集成了 ext_OTP 的读取和写入操作。 但是、我们遇到了以下错误消息:"TI_SCI system-controller@44043000:message not recognized"。

使用 OP-TEE:
•客户端操作:尝试在用户级别通过 OP-TEE 客户端在 ext_OTP 上运行时、我们收到一条错误消息。

root@OK62xx:/# /run/media/boot-mmcblk1p1/fltest_otptest

write mmr

row=1 val= 0x200 mask=0x1fffe00

row=2 val= 0x0 mask=0xffff

ERR [568] TEEC:TEEC_InvokeCommand:730: TEE_IOC_INVOKE failed

fltest_otptest: TEEC_InvokeCommand(PREPARE) failed 0xffff0000 origin 0x2

•驱动器侧运行:我们还直接在 OP-TEE 驱动器内集成 ext_oTp 操作、但不会生成任何错误消息。  但是、写入操作未生效、读取数据保持默认值0。

                    NOTICE:  BL31: v2.8(release):fa0a23c5-dirty
                    NOTICE:  BL31: Built : 09:11:17, Nov 15 2024
                    I/TC: 
                    I/TC: OP-TEE version: 4.2.0-dev (gcc version 11.3.1 20220712 (Arm GNU Toolchain 11.3.Rel1)) #13 Wed Nov 27 01:15:51 UTC 2024 aarch64
                    I/TC: WARNING: This OP-TEE configuration might be insecure!
                    I/TC: WARNING: Please check optee.readthedocs.io/.../porting_guidelines.html
                    I/TC: Primary CPU initializing
                    I/TC: GIC redistributor base address not provided
                    I/TC: Assuming default GIC group status and modifier
                    I/TC: ########init_ti_sci
                    I/TC: mmr_val is 0
                    I/TC: SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
                    I/TC: ti_sci_write_otp
                    I/TC: ###gpio_base is 9b800000
                    I/TC: row=0 val= 0x44 mask=0x1fffffc 
                    I/TC: row=1 val= 0x0 mask=0x1ff 
                    I/TC: mmrIdx: 0,rowStart: 0, rowColStart: 2, rowEnd: 1, rowColEnd: 8 
                    I/TC: ti_sci_read_otp_mmr
                    I/TC: mmr_val is 0

我们的客户要求如下:
AM62x 器件上两个以太网端口中的每个端口都应使用全局唯一的 MAC 地址。 TI 应提供一个 MAC 地址、需要批量将另一个地址编程到每个 AM62x 的 ext_OTP 区域中。
•KeyWriter 工具无法将不同的 MAC 地址批量编程到不同的 AM62x 器件。 通过 OP-TEE 或在内核阶段使用 TI_SCI 运行 ext_oTp、从而使我们的量产测试设备能够自动将不同的 MAC 地址批量编程到不同的 AM62x 器件中。
在实际用例中、应在 U-Boot 阶段读取存储在 ext_otp 区域中的 MAC 地址、将其放入寄存器、并在 Linux 系统引导后设置为 eth1的 MAC 地址。 KeyWriter 工具无法实现此功能。
您能否确认是否可以在 Linux 环境中在 ext_oTp 上操作、并就如何操作提供指导?

此致

Ethan