AM62L: Persisting Ethernet MAC addresses in eFuses on the AM62L running u-boot + Linux

Part Number: AM62L

We're looking to program persistent MAC addresses for two Ethernet ports on the AM62L into eFuses, so that both u-boot and Linux can read them via DeviceTree bindings (it finds the appropriate MMR registers via the `ti,syscon-efuse` property).

I've determined that I can write an `ext_otp` blob (and can use Keywriter Lite to create the blob), but I now need to determine the mapping between `ext_otp` bytes and MMR registers.

The ideal for me would be to use `WKUP_CTRL_MMR_CFG0_MAC_ID0` and `WKUP_CTRL_MMR_CFG0_MAC_ID1` for the first port, which becomes `ti,syscon-efuse = <&cpsw_mac_syscon 0x0>` in the DeviceTree bindings, but I'm not sure how to deal with the second MAC; I'm happy for it to use any of the `WKUP_CTRL_MMR_CFG0_GP_SW` registers.

This leaves me with two problems:

  1. What is the recommended way to specify `WKUP_CTRL_MMR_CFG0_GP_SW` registers in DeviceTree, as the MAC address for a port on the AM62L?
  2. What is the relationship between the OTP MMR register numbers (0 through 31) in Keywriter Lite, and the `WKUP_CTRL_MMR_CFG0_GP_SW` and `WKUP_CTRL_MMR_CFG0_MAC_ID` registers the ROM fills during boot of the AM62L?

Thanks for any help you can offer,

Simon Farnsworth