AM625: Unable to authenticate boot image loaded from NORFLASH even with MCU+ SDK AM62x version 10.01.00.33 when not setting OSPI Input Clock Frequency and Divider as 166MHz and 2 using SysConfig tool on AM625 HS FS chip

Part Number: AM625
Other Parts Discussed in Thread: SYSCONFIG, SK-AM62-LP

Tool/software:

Hi!

When I used an older version of the MCU+ SDK for AM62x, such as 10.00.00.14, I was unable to boot the image from the SBL NULL using NOR flash. The bootloader complained, "Failed to authenticate Image." However, after upgrading the SDK to the latest version (10.01.00.33), I managed to boot the image and load the M4 app from CCS. I noticed that it still produces a warning saying, "Failed to authenticate and copy on the go, reading the image to DDR."

When I changed the OSPI's Input Clock Divider to a value larger than 2, the SBL NULL still refused to boot, displaying the same "Failed to authenticate Image" error in addition to the warning message mentioned above. The same issue occurs when setting the Input Clock Frequency and Divider to combinations below 166MHz / 2, such as 20MHz / 2, 166MHz / 4, 166MHz / 32, etc. Despite this, I verified that NOR flash read/write operations work normally for all these settings by adding read/write/erase test code to the SBL NULL before executing the actual bootloader operations.

Upon debugging the SBL NULL code, I found that no TISCI_MSG_FLAG_ACK was returned when making TISCI_MSG_PROC_AUTH_BOOT calls with Sciclient_service after the image was copied to DDR while using a lower OSPI Input Clock speed. However, TISCI_MSG_FLAG_ACK is set when using the 166MHz / 2 setting. Could this issue be related to SYSFW?

Please help me with successfully authenticating and loading the image when using a lower clock speed on NOR flash. Thank you!

BR,

Zijian XU.

  • Hi,

    I have assigned the thread to the concerned expert, please expect response by next week.

    Regards,
    Aparna

  • "Failed to authenticate Image."

    This happens when the appimage is fails authentication using SYSFW.

    The API which does this is:

    Can you help answer the following:

    1. Is it a custom EVM/board? If yes, have you updated the DDR configuration file?
    2. Is the NOR flash part which you are using the same as on the TI AM62x EVM?
    3. Can you go to SysConfig and check if the PHY is enabled or not? Please also comment on the mode of operation, I am assuming 8D-8D-8D?

    Looking forward to your response.

    Regards,

    Vaibhav

  • Hi!

    Answers to your questions:

    1. Yes, it is a custom board. But, we are using the same DDR as the EVM (SK-AM62-LP), so the DDR configuration file keeps the default, and I am sure the DDR is working normally, I've tested running M4F app on DDR already.

    2. The NOR flash is not the same, Ours is Micron's MT25QL01GBBB8E12-0SIT. The current configurations differs from the default in SysConfig tool are listed below:

    Flash Type: Serial Nor Flash
    Protocol: 1S-1S-1S
    Flash Size In Bytes: 134217728
    Flash Page Size In Bytes: 256
    Flash JEDEC Manufacturer ID: 0x20
    Flash JEDEC Device ID: 0xBA21
    Flash Block Size In Bytes: 65536
    Flash Sector Size In Bytes: 4096
    Block Erase CMD (3B): 0xD8
    Block Erase CMD (4B): 0xDC
    Sector Erase CMD (3B): 0x20
    Sector Erase CMD (4B): 0x21
    Read Command: 0x13
    Write/Page Program Command: 0x12
    Chip Erase Command: 0xC4
    Enable 4 Byte Addressing: TRUE

    3. The PHY is NOT enabled, since we don't have it in the physical board. The operation mode is 1S-1S-1S as shown above.

    Additionally, we ONLY enabled 4 pins in OSPI, as shown below:

    OSPI CLK Pin(OSPI0_CLK): OSPI0_CLK/G19, No Pull, Rx Enabled
    OSPI CS0 Pin(OSPI_CSn0): OSPI0_CSn0/F19, No Pull, Rx DISABLED
    OSPI Data I/O Pin0(OSPI0_D0): OSPI0_D0/F18, No Pull, Rx Enabled
    OSPI Data I/O Pin1(OSPI0_D1): OSPI0_D1/G17, No Pull, Rx Enabled

    Also, I have ROUGHLY checked that the memory content from 0x84000000 to 0x8400012C are the same for 166MHz/2 and lower clock settings situations just before doing the real authentication operation (Bootloader_socAuthImage() after doing DDR copy, which the value of ddrCopy variable is 1) from CCS's Memory Browser. Can I assume the NOR flash is fine with copying the image to the DDR and just SYSFW is not working fine, or the data may be corrupted some where else?

    BR,

    Zijian XU