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.

[FAQ] How to program the extended OTP efuse on AM6x SoC

Part Number: PROCESSOR-SDK-AM62A

K3 SoC (AM64x, AM62x, AM62A...) have a set of One-Time Programmable (OTP) efuses:
1. The user's secure root key set to support Root-of-Trust (RoT) secure boot
2. The extended OTP efuse for general purpose usage by user, where
    - 384 bits extended general purpose OTP efuse on AM64x
    - 1024 bits extended general purpose OTP efuse on AM62x/AM62A
The FAQ discuss
- options to program the extended OTP efuse on AM64x/AM62x/AM62A SoC
- how to use SYSFW to program the extended OTP efuse

It is recommended to refer to the related FAQ on "How to update IDs (USB & PCIe PID/VID, MAC ID) by programming extended OTP on AM6x"
e2e.ti.com/.../faq-how-to-update-ids-usb-pcie-pid-vid-mac-id-by-programming-extended-otp-on-am6x

The details on how to use OTP keywriter to program the extended OTP efuse is covered in the OTP keywriter package. See Note#1 below.

  • There're two options to program the extended OTP efuse:
    1. OTP keywriter
    - It is used in the factory for programming the user's secure RoT keys, key revision and key count on a HS-FS (High Security - Field Securable) device
    - It can be used to program the extended OTP efuse at the same time
    - a HS-FS is converted to HS-SE (High Security - Security Enforced) once the key revision and key count are programmed on HS-FS
    - It runs ONLY on a HS-FS device, but not HS-SE

    2. SYSFW (System Firmware)
    - SYSFW provides API that can be used to access and modify the extended OTP efuse on HS-FS and HS-SE device
    - SYSFW is not a standalone executable and must be used along with software running on another core to access or modify the extended OTP efuse.
    - SYSFW runs on HS-FS and HS-SE

    VPP
    - VPP electrical specifications in datasheet
    7.7 VPP Specifications for One-Time Programmable (OTP) eFuses in AM62A datasheet
    7.8 VPP Specifications for One-Time Programmable (OTP) eFuses in AM64x datasheet
    7.9 VPP Specifications for One-Time Programmable (OTP) eFuses in AM62x datasheet

    VPP=1.8v "ON/OFF" needs to be user’s SW controllable whenever OTP efuse programming is required. Depending on VPP is from LDO or PMIC, VPP "ON/OFF" can be controlled or configured by GPIO...in user's SW. For example, VPP circuitry on TI AM6x reference boards:
    - LDO output from TLV75518 on AM64x EVM, AM64x-SK, and AM62x-SK
    - VOUT_LDO2 of PMIC TPS6593 on AM62A-SK

    The extended OTP efuse read/write access by SYSFW
    software-dl.ti.com/.../extended_otp.html

    The extended OTP TISCI APIs
    software-dl.ti.com/.../extended_otp.html
    Note that
    - The extended OTP efuse TISCI API message type is "Secure" on "Secure Queue Only" as noted below
    Message Type | Secure
    Secure Queue Only? | Yes
    - The secure message and queue is essentially equivalent to extended OTP efuse TISCI API needs to be called by "virtual secure host" as listed in
    AM64x
    software-dl.ti.com/.../hosts.html
    AM62x
    software-dl.ti.com/.../hosts.html
    AM62A
    software-dl.ti.com/.../hosts.html

    Note#1: User may request access to AM64x/AM62x/AM62A security resource download portal (i.e. including OTP keywriter tool) via
    - AM64x security resource portal request
    www.ti.com/.../swlicexportcontrol.tsp
    - AM62x/AM62A security resource portal request
    www.ti.com/.../swlicexportcontrol.tsp