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.
Tool/software:
Hi,
I had an open issue (E2E AM2434: SecureBoot - appimage authentication fails - firewall configuration?), however it was not solved.
The latest recommended solution was to apply a bugfix (Fix DAC mode not enabled in ospi bootloaders).
We did apply this bugfix; during the authentication process the direct access register is enabled, however the issue still remains: The Sciclient_procBootAuthAndStart() function returns with SystemP_FAILURE.
I also checked the Flash configuration as asked (Are you already running the flash at its maximum configurations like PHY enables, running at maximum clock, protocol 8D-8D-8D, etc.) and it's set up correctly.
As mentioned previously, I have tried to authenticate and boot the image by moving it to PSRAM, and the bootloader successfully booted it, so I can assume that the images and signatures/certificates are correct.
Could you please provide a solution for this?
Thanks, Mark
Hi Mark,
Have you tested the OSPI_FLASH_IO & OSPI_FLASH_DMA examples with your custom flash part?
Hi Prashant,
I tried to run these examples, in our current SDK(9.01) it doesn't even run, I tried with SDK 10.0, it at least outputs errors on the console - It hangs/stops at the driver's open function.
The only example that runs is the ospi diag one. I exported it's output as a JSON file and used that to load a custom flash configuration in syscfg, but that did not help. We have an ISSI flash on the boards (IS25WX256) which (based on previous discussions) are not working with TI's drivers.
That's why we wrote our own OSPI driver for this flash, with which it works correctly in every case.
The flash and our flash driver also works in the bootloader correctly, it can find and read the certificate correctly directly from flash, however it fails at Sciclient_procBootAuthAndStart() (respParam.flags & TISCI_MSG_FLAG_ACK is not set).
Is there any reason this ISSI flash is not supported and are you sure the flash is the cause of this flag not being set?
Thanks,
Mark
Hi Mark,
The authentication is working with the flash part on the TI EVM. It is working for you also if the image is moved from flash to RAM. And you do not see the issue randomly but on every reset. All this strongly suggests that the custom flash part is causing the issue.
The flash and our flash driver also works in the bootloader correctly, it can find and read the certificate correctly directly from flash, however it fails at Sciclient_procBootAuthAndStart() (respParam.flags & TISCI_MSG_FLAG_ACK is not set).
The flash driver either uses memcpy or BCDMA to read data in DAC mode while the SA2UL uses PKTDMA to read data. The SA2UL configurations by SYSFW for hash calculation might be incompatible with your custom flash part.
Can you once please try the very latest SDK v10 to use the most recent SYSFW & see if the issue occurs? If it does, I will create a bug for the most recent SYSFW version for the team to follow next.
Regards,
Prashant
Hi Prashant,
Thanks for the explanation!
I've tried with SDK v10's SYSFW - copied the sysfw-hs-enc.bin and sysfw-hs-enc-cert.bin to my project to compile to bootloader with these binaries. Also did the same for the boardcfg just to be sure - but the same issue remains.
Is there anything else to try out? Should I configure SA2UL in the bootloader for example, or everything related to Sciclient_procBootAuthAndStart() is done in the sysfw binary?
Thanks, Mark
Hi Mark,
Everything is done by the SYSFW for authenticating an image. Since, the issue is seen with SYSFW v10, I will create the bug now. Could you please share the SYSFW v10 logs for me to attach in the bug ticket?
Thanks!
Hi Prashant,
Here's the log:
Configuring trace data version to: 0x03007 x4F80001A 0x4380001A: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): UDMA device ID: 26 0x00C20201: BasePort: Unknown Action: 0x03 MSG:0x020201 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x61800201: Power Management: MSG_RECEIVED(TI-SCI message received): Message ID: 0x00000201 0x61C0008D: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 141 Clock ID: 0 0x00C20201: BasePort: Unknown Action: 0x03 MSG:0x020201 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x61800201: Power Management: MSG_RECEIVED(TI-SCI message received): Message ID: 0x00000201 0x61C00050: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 80 Clock ID: 0 0x00C20200: BasePort: Unknown Action: 0x03 MSG:0x020200 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x61800200: Power Management: MSG_RECEIVED(TI-SCI message received): Message ID: 0x00000200 0x61C00050: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 80 Clock ID: 0 0x62000002: Power Management: MSG_PARAM_VAL(TI-SCI message content: value): Target Value: 0x00000002 0x62C0005B: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 91 0x64012000: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 4 Module Retention Count: 8192 0x64006003: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 1 Module Retention Count: 8195 0x62C0005C: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 92 0x60000050: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 80 0x63812000: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 4 Module Use Count: 8192 0x63806003: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 1 Module Use Count: 8195 0x00C20202: BasePort: Unknown Action: 0x03 MSG:0x020202 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x61800202: Power Management: MSG_RECEIVED(TI-SCI message received): Message ID: 0x00000202 0x61C00050: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 80 Clock ID: 0 0x62000000: Power Management: MSG_PARAM_VAL(TI-SCI message content: value): Target Value: 0x00000000 0x00C20201: BasePort: Unknown Action: 0x03 MSG:0x020201 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x61800201: Power Management: MSG_RECEIVED(TI-SCI message received): Message ID: 0x00000201 0x61C00037: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 55 Clock ID: 0 0x00C20200: BasePort: Unknown Action: 0x03 MSG:0x020200 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x61800200: Power Management: MSG_RECEIVED(TI-SCI message received): Message ID: 0x00000200 0x61C00037: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 55 Clock ID: 0 0x62000002: Power Management: MSG_PARAM_VAL(TI-SCI message content: value): Target Value: 0x00000002 0x62C0005D: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 93 0x64016000: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 5 Module Retention Count: 8192 0x64014000: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 5 Module Retention Count: 0 0x64006004: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 1 Module Retention Count: 8196 0x62C0005E: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 94 0x62C0005F: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 95 0x60000037: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 55 0x63816000: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 5 Module Use Count: 8192 0x63814000: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 5 Module Use Count: 0 0x63806004: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 1 Module Use Count: 8196 0x00C20202: BasePort: Unknown Action: 0x03 MSG:0x020202 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x61800202: Power Management: MSG_RECEIVED(TI-SCI message received): Message ID: 0x00000202 0x61C00037: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 55 Clock ID: 0 0x62000000: Power Management: MSG_PARAM_VAL(TI-SCI message content: value): Target Value: 0x00000000 0x00C20201: BasePort: Unknown Action: 0x03 MSG:0x020201 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x61800201: Power Management: MSG_RECEIVED(TI-SCI message received): Message ID: 0x00000201 0x61C0008A: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 138 Clock ID: 0 0x00C20101: BasePort: Unknown Action: 0x03 MSG:0x020101 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x61800101: Power Management: MSG_RECEIVED(TI-SCI message received): Message ID: 0x00000101 0x61C0008A: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 138 Clock ID: 0 0x00C20104: BasePort: Unknown Action: 0x03 MSG:0x020104 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x61800104: Power Management: MSG_RECEIVED(TI-SCI message received): Message ID: 0x00000104 0x61C0008A: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 138 Clock ID: 0 0x00C20100: BasePort: Unknown Action: 0x03 MSG:0x020100 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x61800100: Power Management: MSG_RECEIVED(TI-SCI message received): Message ID: 0x00000100 0x61C0008A: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 138 Clock ID: 0 0x62000000: Power Management: MSG_PARAM_VAL(TI-SCI message content: value): Target Value: 0x00000000 0x00C2010D: BasePort: Unknown Action: 0x03 MSG:0x02010D 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x6180010D: Power Management: MSG_RECEIVED(TI-SCI message received): Message ID: 0x0000010D 0x61C0008A: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 138 Clock ID: 0 0x612D7C83: Power Management: CLOCK_SET_RATE(Clock Frequency has been changed: significand * 2^Exponent Hz): Clock ID: 131 Clock Frequency{significand}: 95 Clock Frequency{Exponent}: 22 0x00C2010C: BasePort: Unknown Action: 0x03 MSG:0x02010C 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x6180010C: Power Management: MSG_RECEIVED(TI-SCI message received): Message ID: 0x0000010C 0x61C0008A: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 138 Clock ID: 0 0x612D7C83: Power Management: CLOCK_SET_RATE(Clock Frequency has been changed: significand * 2^Exponent Hz): Clock ID: 131 Clock Frequency{significand}: 95 Clock Frequency{Exponent}: 22 0x612D7C83: Power Management: CLOCK_SET_RATE(Clock Frequency has been changed: significand * 2^Exponent Hz): Clock ID: 131 Clock Frequency{significand}: 95 Clock Frequency{Exponent}: 22 0x00C20002: BasePort: Unknown Action: 0x03 MSG:0x020002 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x04003007: BasePort: TRACE_DATA_VERSION(OSAL/Baseport trace data version): Trace version major: 0x03 Trace version minor: 0x007 0x04400A08: BasePort: SYSFW_VERSION(System Firmware version): version: 10 subversion: 0 patch: 8 0x00C20002: BasePort: Unknown Action: 0x03 MSG:0x020002 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x04003007: BasePort: TRACE_DATA_VERSION(OSAL/Baseport trace data version): Trace version major: 0x03 Trace version minor: 0x007 0x04400A08: BasePort: SYSFW_VERSION(System Firmware version): version: 10 subversion: 0 patch: 8 0x00C2C120: BasePort: Unknown Action: 0x03 MSG:0x02C120 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x20C00003: Security: SEC_BOOT(Points of failures during secure boot api call): 0x01 => Certificate length > ASN1P_IMAX, 0x02 => Issue fetching certificate, 0x3 => Issue with Hash operation, 0x4 => Hash comparison fails: 3 0x20C00002: Security: SEC_BOOT(Points of failures during secure boot api call): 0x01 => Certificate length > ASN1P_IMAX, 0x02 => Issue fetching certificate, 0x3 => Issue with Hash operation, 0x4 => Hash comparison fails: 2 0x00C2C120: BasePort: Unknown Action: 0x03 MSG:0x02C120 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x20C00003: Security: SEC_BOOT(Points of failures during secure boot api call): 0x01 => Certificate length > ASN1P_IMAX, 0x02 => Issue fetching certificate, 0x3 => Issue with Hash operation, 0x4 => Hash comparison fails: 3 0x20C00002: Security: SEC_BOOT(Points of failures during secure boot api call): 0x01 => Certificate length > ASN1P_IMAX, 0x02 => Issue fetching certificate, 0x3 => Issue with Hash operation, 0x4 => Hash comparison fails: 2 0x00C2C120: BasePort: Unknown Action: 0x03 MSG:0x02C120 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x20C00003: Security: SEC_BOOT(Points of failures during secure boot api call): 0x01 => Certificate length > ASN1P_IMAX, 0x02 => Issue fetching certificate, 0x3 => Issue with Hash operation, 0x4 => Hash comparison fails: 3 0x20C00002: Security: SEC_BOOT(Points of failures during secure boot api call): 0x01 => Certificate length > ASN1P_IMAX, 0x02 => Issue fetching certificate, 0x3 => Issue with Hash operation, 0x4 => Hash comparison fails: 2 003 0x63810003: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 4 Module Use Count: 3 0x64010003: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 4 Module Retention Count: 3 0x6381C001: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 7 Module Use Count: 1 0x6401C001: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 7 Module Retention Count: 1 0x63830003: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 12 Module Use Count: 3 0x64030003: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 12 Module Retention Count: 3 0x63832002: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 12 Module Use Count: 8194 0x64032002: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 12 Module Retention Count: 8194 0x6300004D: Power Management: PD_PUT(Power Domain Put): PSC ID: 0 Power domain ID: 0 PD Usage Count: 77 0x63008007: Power Management: PD_PUT(Power Domain Put): PSC ID: 0 Power domain ID: 2 PD Usage Count: 7 0x6300C001: Power Management: PD_PUT(Power Domain Put): PSC ID: 0 Power domain ID: 3 PD Usage Count: 1 0x6300E001: Power Management: PD_PUT(Power Domain Put): PSC ID: 0 Power domain ID: 3 PD Usage Count: 8193 0x63012001: Power Management: PD_PUT(Power Domain Put): PSC ID: 0 Power domain ID: 4 PD Usage Count: 8193 0x6000008C: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 140 0x6390000B: Power Management: MODULE_GET(Module Get): PSC ID: 1 LPSC ID: 0 Module Use Count: 11 0x6410000B: Power Management: RETENTION_GET(Retention Get): LPSC ID: 1 Power domain ID: 0 Module Retention Count: 11 0x63904000: Power Management: MODULE_GET(Module Get): PSC ID: 1 LPSC ID: 1 Module Use Count: 0 0x64104000: Power Management: RETENTION_GET(Retention Get): LPSC ID: 1 Power domain ID: 1 Module Retention Count: 0 0x63902001: Power Management: MODULE_GET(Module Get): PSC ID: 1 LPSC ID: 0 Module Use Count: 8193 0x64102001: Power Management: RETENTION_GET(Retention Get): LPSC ID: 1 Power domain ID: 0 Module Retention Count: 8193 0x62D00012: Power Management: PD_GET(Power Domain Get): PSC ID: 1 Power domain ID: 0 PD Usage Count: 18 0x63906001: Power Management: MODULE_GET(Module Get): PSC ID: 1 LPSC ID: 1 Module Use Count: 8193 0x64106001: Power Management: RETENTION_GET(Retention Get): LPSC ID: 1 Power domain ID: 1 Module Retention Count: 8193 0x63908001: Power Management: MODULE_GET(Module Get): PSC ID: 1 LPSC ID: 2 Module Use Count: 1 0x64108001: Power Management: RETENTION_GET(Retention Get): LPSC ID: 1 Power domain ID: 2 Module Retention Count: 1 0x63100013: Power Management: PD_PUT(Power Domain Put): PSC ID: 1 Power domain ID: 0 PD Usage Count: 19 0x60800024: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 36 0x6080007E: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 126 0x60800064: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 100 0x6000008D: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 141 0x63800042: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 0 Module Use Count: 66 0x62C0004C: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 76 0x64000042: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 0 Module Retention Count: 66 0x60800025: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 37 0x6080007F: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 127 0x60800065: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 101 0x6000008E: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 142 0x63800043: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 0 Module Use Count: 67 0x62C0004D: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 77 0x64000043: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 0 Module Retention Count: 67 0x60800026: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 38 0x60800080: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 128 0x60800066: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 102 0x6000008F: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 143 0x63800044: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 0 Module Use Count: 68 0x62C0004E: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 78 0x64000044: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 0 Module Retention Count: 68 0x60800027: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 39 0x60800081: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 129 0x60800067: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 103 0x60000090: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 144 0x63800045: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 0 Module Use Count: 69 0x62C0004F: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 79 0x64000045: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 0 Module Retention Count: 69 0x60800028: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 40 0x60800082: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 130 0x60800068: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 104 0x60000091: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 145 0x63800046: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 0 Module Use Count: 70 0x62C00050: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 80 0x64000046: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 0 Module Retention Count: 70 0x608000B2: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 178 0x608000B9: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 185 0x60000092: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 146 0x63800047: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 0 Module Use Count: 71 0x62C00051: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 81 0x64000047: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 0 Module Retention Count: 71 0x608000C5: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 197 0x608000D1: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 209 0x608000CF: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 207 0x60000093: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 147 0x6390000C: Power Management: MODULE_GET(Module Get): PSC ID: 1 LPSC ID: 0 Module Use Count: 12 0x62D00012: Power Management: PD_GET(Power Domain Get): PSC ID: 1 Power domain ID: 0 PD Usage Count: 18 0x6410000C: Power Management: RETENTION_GET(Retention Get): LPSC ID: 1 Power domain ID: 0 Module Retention Count: 12 0x608000C6: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 198 0x608000D2: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 210 0x608000D0: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 208 0x60000094: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 148 0x6390000D: Power Management: MODULE_GET(Module Get): PSC ID: 1 LPSC ID: 0 Module Use Count: 13 0x62D00013: Power Management: PD_GET(Power Domain Get): PSC ID: 1 Power domain ID: 0 PD Usage Count: 19 0x6410000D: Power Management: RETENTION_GET(Retention Get): LPSC ID: 1 Power domain ID: 0 Module Retention Count: 13 0x60000095: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 149 0x6390000E: Power Management: MODULE_GET(Module Get): PSC ID: 1 LPSC ID: 0 Module Use Count: 14 0x62D00014: Power Management: PD_GET(Power Domain Get): PSC ID: 1 Power domain ID: 0 PD Usage Count: 20 0x6410000E: Power Management: RETENTION_GET(Retention Get): LPSC ID: 1 Power domain ID: 0 Module Retention Count: 14 0x60000096: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 150 0x63800048: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 0 Module Use Count: 72 0x62C00052: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 82 0x64000048: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 0 Module Retention Count: 72 0x60000097: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 151 0x63800049: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 0 Module Use Count: 73 0x62C00053: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 83 0x64000049: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 0 Module Retention Count: 73 0x608000B3: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 179 0x608000BA: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 186 0x60000098: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 152 0x6380004A: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 0 Module Use Count: 74 0x62C00054: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 84 0x6400004A: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 0 Module Retention Count: 74 0x608000B4: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 180 0x608000BB: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 187 0x60000099: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 153 0x6380004B: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 0 Module Use Count: 75 0x62C00055: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 85 0x6400004B: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 0 Module Retention Count: 75 0x608000B5: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 181 0x608000BC: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 188 0x6000009A: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 154 0x6380004C: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 0 Module Use Count: 76 0x62C00056: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 86 0x6400004C: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 0 Module Retention Count: 76 0x608000B6: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 182 0x608000BD: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 189 0x6000009B: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 155 0x6380004D: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 0 Module Use Count: 77 0x62C00057: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 87 0x6400004D: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 0 Module Retention Count: 77 0x608000B7: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 183 0x608000BE: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 190 0x6000009C: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 156 0x6380004E: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 0 Module Use Count: 78 0x62C00058: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 88 0x6400004E: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 0 Module Retention Count: 78 0x6080003E: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 62 0x608000DB: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 219 0x608000E0: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 224 0x608000E1: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 225 0x6080003A: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 58 0x608000C1: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 193 0x608000CD: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 205 0x60800040: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 64 0x60800041: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 65 0x60800042: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 66 0x60800043: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 67 0x60800044: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 68 0x60800045: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 69 0x6080002C: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 44 0x6080002D: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 45 0x60800005: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 5 0x6080000D: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 13 0x60800014: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 20 0x60800016: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 22 0x60800018: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 24 0x6080001A: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 26 0x6080001C: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 28 0x6080001E: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 30 0x60800020: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 32 0x60800021: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 33 0x60800022: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 34 0x608000C0: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 192 0x6000009D: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 157 0x608000B8: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 184 0x608000BF: Power Management: CLOCK_ENABLE(Clock has been Turned ON): Clock ID: 191 0x6000009E: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 158 0x6380004F: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 0 Module Use Count: 79 0x62C00059: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 89 0x6400004F: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 0 Module Retention Count: 79 0x600000A0: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 160 0x6390000F: Power Management: MODULE_GET(Module Get): PSC ID: 1 LPSC ID: 0 Module Use Count: 15 0x62D00015: Power Management: PD_GET(Power Domain Get): PSC ID: 1 Power domain ID: 0 PD Usage Count: 21 0x6410000F: Power Management: RETENTION_GET(Retention Get): LPSC ID: 1 Power domain ID: 0 Module Retention Count: 15 0x600000A3: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 163 0x63804001: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 1 Module Use Count: 1 0x62C0005A: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 90 0x64004001: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 1 Module Retention Count: 1 0x600000A4: Power Management: DEVICE_ON(Device has been Turned ON): Device ID: 164 0x63804002: Power Management: MODULE_GET(Module Get): PSC ID: 0 LPSC ID: 1 Module Use Count: 2 0x62C0005B: Power Management: PD_GET(Power Domain Get): PSC ID: 0 Power domain ID: 0 PD Usage Count: 91 0x64004002: Power Management: RETENTION_GET(Retention Get): LPSC ID: 0 Power domain ID: 1 Module Retention Count: 2 0x63D00010: Power Management: MODULE_PUT(Module Put): PSC ID: 1 LPSC ID: 0 Module Use Count: 16 0x64500010: Power Management: RETENTION_PUT(Retention Put): LPSC ID: 1 Power domain ID: 0 Module Retention Count: 16 0x63D04001: Power Management: MODULE_PUT(Module Put): PSC ID: 1 LPSC ID: 1 Module Use Count: 1 0x63D02002: Power Management: MODULE_PUT(Module Put): PSC ID: 1 LPSC ID: 0 Module Use Count: 8194 0x64504001: Power Management: RETENTION_PUT(Retention Put): LPSC ID: 1 Power domain ID: 1 Module Retention Count: 1 0x63100016: Power Management: PD_PUT(Power Domain Put): PSC ID: 1 Power domain ID: 0 PD Usage Count: 22 0x64502002: Power Management: RETENTION_PUT(Retention Put): LPSC ID: 1 Power domain ID: 0 Module Retention Count: 8194 0x63D06002: Power Management: MODULE_PUT(Module Put): PSC ID: 1 LPSC ID: 1 Module Use Count: 8194 0x64506002: Power Management: RETENTION_PUT(Retention Put): LPSC ID: 1 Power domain ID: 1 Module Retention Count: 8194 0x63D08002: Power Management: MODULE_PUT(Module Put): PSC ID: 1 LPSC ID: 2 Module Use Count: 2 0x64508002: Power Management: RETENTION_PUT(Retention Put): LPSC ID: 1 Power domain ID: 2 Module Retention Count: 2 0x63C00050: Power Management: MODULE_PUT(Module Put): PSC ID: 0 LPSC ID: 0 Module Use Count: 80 0x64400050: Power Management: RETENTION_PUT(Retention Put): LPSC ID: 0 Power domain ID: 0 Module Retention Count: 80 0x04003007: BasePort: TRACE_DATA_VERSION(OSAL/Baseport trace data version): Trace version major: 0x03 Trace version minor: 0x007 0x04400A08: BasePort: SYSFW_VERSION(System Firmware version): version: 10 subversion: 0 patch: 8 0x63C02001: Power Management: MODULE_PUT(Module Put): PSC ID: 0 LPSC ID: 0 Module Use Count: 8193 0x64402001: Power Management: RETENTION_PUT(Retention Put): LPSC ID: 0 Power domain ID: 0 Module Retention Count: 8193 0x6300005C: Power Management: PD_PUT(Power Domain Put): PSC ID: 0 Power domain ID: 0 PD Usage Count: 92 0x63C04003: Power Management: MODULE_PUT(Module Put): PSC ID: 0 LPSC ID: 1 Module Use Count: 3 0x64404003: Power Management: RETENTION_PUT(Retention Put): LPSC ID: 0 Power domain ID: 1 Module Retention Count: 3 0x63C06004: Power Management: MODULE_PUT(Module Put): PSC ID: 0 LPSC ID: 1 Module Use Count: 8196 0x64406004: Power Management: RETENTION_PUT(Retention Put): LPSC ID: 0 Power domain ID: 1 Module Retention Count: 8196 0x63C10004: Power Management: MODULE_PUT(Module Put): PSC ID: 0 LPSC ID: 4 Module Use Count: 4 0x64410004: Power Management: RETENTION_PUT(Retention Put): LPSC ID: 0 Power domain ID: 4 Module Retention Count: 4 0x63C1C002: Power Management: MODULE_PUT(Module Put): PSC ID: 0 LPSC ID: 7 Module Use Count: 2 0x6441C002: Power Management: RETENTION_PUT(Retention Put): LPSC ID: 0 Power domain ID: 7 Module Retention Count: 2 0x63C30004: Power Management: MODULE_PUT(Module Put): PSC ID: 0 LPSC ID: 12 Module Use Count: 4 0x64430004: Power Management: RETENTION_PUT(Retention Put): LPSC ID: 0 Power domain ID: 12 Module Retention Count: 4 0x63C32003: Power Management: MODULE_PUT(Module Put): PSC ID: 0 LPSC ID: 12 Module Use Count: 8195 0x64432003: Power Management: RETENTION_PUT(Retention Put): LPSC ID: 0 Power domain ID: 12 Module Retention Count: 8195 0x68400000: Power Management: PM_DEV_INIT(Power Management device Initialization): Device ID: 0 error_code: 0 0x60C000A3: Power Management: CLOCK_DISABLE(Clock has been Turned OFF): Clock ID: 163 0x00C20102: BasePort: Unknown Action: 0x03 MSG:0x020102 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x61800102: Power Management: MSG_RECEIVED(TI-SCI message received): Message ID: 0x00000102 0x61C0184B: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 75 Clock ID: 6 0x62000007: Power Management: MSG_PARAM_VAL(TI-SCI message content: value): Target Value: 0x00000007 0x00C2010D: BasePort: Unknown Action: 0x03 MSG:0x02010D 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x6180010D: Power Management: MSG_RECEIVED(TI-SCI message received): Message ID: 0x0000010D 0x61C0184B: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 75 Clock ID: 6 0x612B7C88: Power Management: CLOCK_SET_RATE(Clock Frequency has been changed: significand * 2^Exponent Hz): Clock ID: 136 Clock Frequency{significand}: 95 Clock Frequency{Exponent}: 21 0x00C2010C: BasePort: Unknown Action: 0x03 MSG:0x02010C 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x6180010C: Power Management: MSG_RECEIVED(TI-SCI message received): Message ID: 0x0000010C 0x61C0184B: Power Management: MSG_PARAM_DEV_CLK_ID(TI-SCI message content: dev/clk-ids): Device ID: 75 Clock ID: 6 0x612B7C88: Power Management: CLOCK_SET_RATE(Clock Frequency has been changed: significand * 2^Exponent Hz): Clock ID: 136 Clock Frequency{significand}: 95 Clock Frequency{Exponent}: 21 0x612B7C88: Power Management: CLOCK_SET_RATE(Clock Frequency has been changed: significand * 2^Exponent Hz): Clock ID: 136 Clock Frequency{significand}: 95 Clock Frequency{Exponent}: 21 0x00C21110: BasePort: Unknown Action: 0x03 MSG:0x021110 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x41070000: Resource Management: RING_CONFIGURE(Configure NavSS ring): upper 16-bits of valid_params: 0x0000 0x410800BF: Resource Management: RING_CONFIGURE(Configure NavSS ring): lower 16-bits of valid_params: 0x00BF 0x4F8A00FF: Resource Management: DEVGRP_VALIDATE(Validating device group of resource): Device group given in RM boardcfg message: 0x00FF 0x4F8B0001: Resource Management: DEVGRP_VALIDATE(Validating device group of resource): Device group of configured resource: 0x0001 0x4F80001A: Resource Management: DEVGRP_VALIDATE(Validating device group of resource): Device ID being validated: 26 0x4100001A: Resource Management: RING_CONFIGURE(Configure NavSS ring): RA device ID: 26 0x4F01000C: Resource Management: RESASG_VALIDATE_RESOURCE(RM validate resource against board configuration): Resource index: 12 0x4F06068D: Resource Management: RESASG_VALIDATE_RESOURCE(RM validate resource against board configuration): Resource assignment utype: 0x068D 0x4F0A0024: Resource Management: RESASG_VALIDATE_RESOURCE(RM validate resource against board configuration): host: 36 0x4101000C: Resource Management: RING_CONFIGURE(Configure NavSS ring): index: 12 0x410C0001: Resource Management: RING_CONFIGURE(Configure NavSS ring): size: 1 0x410D7002: Resource Management: RING_CONFIGURE(Configure NavSS ring): upper 16-bits of addr_lo: 0x7002 0x410E7300: Resource Management: RING_CONFIGURE(Configure NavSS ring): lower 16-bits of addr_lo: 0x7300 0x410F0000: Resource Management: RING_CONFIGURE(Configure NavSS ring): upper 4-bits of count: 0x0 0x41100001: Resource Management: RING_CONFIGURE(Configure NavSS ring): lower 16-bits of count: 0x0001 0x41110000: Resource Management: RING_CONFIGURE(Configure NavSS ring): order_id: 0 0x4F8A00FF: Resource Management: DEVGRP_VALIDATE(Validating device group of resource): Device group given in RM boardcfg message: 0x00FF 0x4F8B0001: Resource Management: DEVGRP_VALIDATE(Validating device group of resource): Device group of configured resource: 0x0001 0x4F80001A: Resource Management: DEVGRP_VALIDATE(Validating device group of resource): Device ID being validated: 26 0x4100001A: Resource Management: RING_CONFIGURE(Configure NavSS ring): RA device ID: 26 0x4F8A00FF: Resource Management: DEVGRP_VALIDATE(Validating device group of resource): Device group given in RM boardcfg message: 0x00FF 0x4F8B0001: Resource Management: DEVGRP_VALIDATE(Validating device group of resource): Device group of configured resource: 0x0001 0x4F80001A: Resource Management: DEVGRP_VALIDATE(Validating device group of resource): Device ID being validated: 26 0x4100001A: Resource Management: RING_CONFIGURE(Configure NavSS ring): RA device ID: 26 0x41070000: Resource Management: RING_CONFIGURE(Configure NavSS ring): upper 16-bits of valid_params: 0x0000 0x410800BF: Resource Management: RING_CONFIGURE(Configure NavSS ring): lower 16-bits of valid_params: 0x00BF 0x4F8A00FF: Resource Management: DEVGRP_VALIDATE(Validating device group of resource): Device group given in RM boardcfg message: 0x00FF 0x4F8B0001: Resource Management: DEVGRP_VALIDATE(Validating device group of resource): Device group of configured resource: 0x0001 0x4F80001A: Resource Management: DEVGRP_VALIDATE(Validating device group of resource): Device ID being validated: 26 0x4100001A: Resource Management: RING_CONFIGURE(Configure NavSS ring): RA device ID: 26 0x00C21205: BasePort: Unknown Action: 0x03 MSG:0x021205 0x00C20024: BasePort: Unknown Action: 0x03 MSG:0x020024 0x43870001: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): upper 16-bits of valid_params: 0x0001 0x43887FFF: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): lower 16-bits of valid_params: 0x7FFF 0x4F8A00FF: Resource Management: DEVGRP_VALIDATE(Validating device group of resource): Device group given in RM boardcfg message: 0x00FF 0x4F8B0001: Resource Management: DEVGRP_VALIDATE(Validating device group of resource): Device group of configured resource: 0x0001 0x4F80001A: Resource Management: DEVGRP_VALIDATE(Validating device group of resource): Device ID being validated: 26 0x4380001A: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): UDMA device ID: 26 0x4F01000C: Resource Management: RESASG_VALIDATE_RESOURCE(RM validate resource against board configuration): Resource index: 12 0x4F0606A0: Resource Management: RESASG_VALIDATE_RESOURCE(RM validate resource against board configuration): Resource assignment utype: 0x06A0 0x4F0A0024: Resource Management: RESASG_VALIDATE_RESOURCE(RM validate resource against board configuration): host: 36 0x4381000C: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): index: 12 0x438A0000: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): pause on error: 0 0x43A00000: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): filter einfo: 0 0x43A10000: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): filter pswords: 0 0x438B0000: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): atype: 0 0x438C000C: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): type: 12 0x43A20000: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): teardown packet suppression: 0 0x438D0000: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): fetch size: 0 0x43A30000: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): credit count: 0 0x43A40000: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): fdepth: 0 0x438F0004: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): priority: 4 0x43900000: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): QOS: 0 0x43910000: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): order ID: 0 0x43920001: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): scheduling priority: 1 0x439F0001: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): burst size: 1 0x43A50000: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): tdtype: 0 0x43A60001: Resource Management: UDMAP_TX_CH_CFG(NavSS UDMAP TX channel configuration): extended_ch_type: 1 0x4F8A00FF: Resource Management: DEVGRP_VALIDATE(Validating device group of resource): Device group given in RM boardcfg message: 0x00FF 0x4F8B0001: Resource Management: DEVGRP_VALIDATE(Validating device group of resource): Device group of configured resource: 0x0001 0
Thanks for submitting the bug. How's the average timeline for solving such a ticket?
Thanks, Mark
Hi Prashant,
Any news about this issue?
How's the average timeline for solving such a ticket?
Thanks,
Mark
Hi Mark,
I will follow up with the team. In the meantime, can you please integrate the following test function in your SBL & share the results?
void test_func() { int32_t status = SystemP_SUCCESS; /* Assumption: OSPI DAC mode is already enabled */ uint32_t cert_load_addr = 0x60080000; uint32_t n_tests = 10000, cnt = 0; for(uint32_t i = 0; i < n_tests; i++) { status = Bootloader_socAuthImage(cert_load_addr); if(status == SystemP_SUCCESS) { cnt++; DebugP_log("#%d: PASS\r\n", i); } else { DebugP_log("#%d: FAIL\r\n", i); } } DebugP_log("#PASS: %d, #FAIL: %d", cnt, n_tests - cnt); /* Trap the execution */ loop_forever(); }
I tested it on TI EVM & saw no failures for 10K cases.
[19:25:52.214] DMSC Firmware Version 10.0.8--v10.00.08 (Fiery Fox) [19:25:52.230] DMSC Firmware revision 0xa [19:25:52.230] DMSC ABI revision 4.0 [19:25:52.262] #0: PASS [19:25:52.294] #1: PASS [19:25:52.326] #2: PASS [19:25:52.358] #3: PASS [19:25:52.390] #4: PASS [19:25:52.440] #5: PASS [19:25:52.470] #6: PASS [19:25:52.502] #7: PASS [19:25:52.534] #8: PASS [19:25:52.566] #9: PASS [19:25:52.598] #10: PASS ... [19:31:27.918] #9990: PASS [19:31:27.950] #9991: PASS [19:31:27.997] #9992: PASS [19:31:28.030] #9993: PASS [19:31:28.062] #9994: PASS [19:31:28.094] #9995: PASS [19:31:28.126] #9996: PASS [19:31:28.158] #9997: PASS [19:31:28.190] #9998: PASS [19:31:28.222] #9999: PASS [19:31:28.222] #PASS: 10000, #FAIL: 0
Thanks!
Hi Prashant,
I ran the code you requested, however I have no access to the UART output at the moment. I hope the following screenshot is enough - of course there is 0 PASS and 10000 FAILS, as it makes no difference if the Bootloader_socAuthImage is called here or in another place.
Do you have any other code snippets that could provide some help for this bug?
On the EVM there is an S28HS512TGAB flash. Our is IS25WX256 from ISSI as mentioned.
Please update us with the current status of this issue ASAP.
Thanks, Mark
Hi Mark,
Two points I would like to confirm with the integrated test code:
Thanks!
Hi Prashant,
As we are using our own OSPI driver - as the ISSI flash is not supported by TI's driver - the getHandle function is overwritten, so this parameter is basically discarded in our implementation. Only one OSPI driver exists. We are also not using Sysconfig anymore.
Sorry if that caused a confusion!
The handle is valid and correct.
The direct access is enabled at line 768, and the following screenshot proves it: ENB_DIR_ACC_CTLR_FLD is set to 1, and on the bottom you can see through memory browser the OSPI flash contents is being readable - Our application is also flashed to the 0x60080000 address as you can see.
(We have multiple slots in our architecture, but the default slot is the one offset with 0x80000. Could multiple application images cause problem in any way?)
Could you maybe check if the registers shown in the image is correct? Is there any other configuration necessary apart from the DAC mode?
Thanks,
Mark
Hi Mark,
Thanks for the clarification!
It looks like the OSPI is really in the DAC mode. However, the data shown in the image at 0x80000 offset doesn't look good. The point is any valid signed application image will have the certificate at the start & it will look like this
❯ xxd ./examples/hello_world/am64x-evm/r5fss0-0_nortos/ti-arm-clang/hello_world.debug.appimage.hs | head 00000000: 3082 0653 3082 043b a003 0201 0202 1436 0..S0..;.......6 00000010: 78e2 e897 adf5 0b66 50c4 0584 b857 cdc2 x......fP....W.. 00000020: 69ee 0b30 0d06 092a 8648 86f7 0d01 010d i..0...*.H...... 00000030: 0500 3081 9031 0b30 0906 0355 0406 1302 ..0..1.0...U.... 00000040: 5553 310b 3009 0603 5504 080c 0253 4331 US1.0...U....SC1 00000050: 1130 0f06 0355 0407 0c08 4e65 7720 596f .0...U....New Yo 00000060: 726b 3121 301f 0603 5504 0a0c 1854 6578 rk1!0...U....Tex 00000070: 6173 2049 6e73 7472 756d 656e 7473 2e2c as Instruments., 00000080: 2049 6e63 2e31 0c30 0a06 0355 040b 0c03 Inc.1.0...U.... 00000090: 4453 5031 0f30 0d06 0355 0403 0c06 416c DSP1.0...U....Al
Can you once check if the image is not flashed correctly or something?
Thanks!
Hi Prashant,
Thanks for pointing this out!
We have a header in the beginning of the image (mainly because of the slots) which is 48 bytes long. You can see that the certificate is there at 0x80048.
However, just for testing, I have removed this header and tried again - unfortunately, same result.
I have attached another screenshot where it fails, maybe there is something that could give a hint..
Thanks,
Mark
Hi Mark,
Can you run the following example
with the default `crypto_sha.c` replaced with the following one to validate the SA2UL compatibility with the flash part.
/* * Copyright (C) 2021 Texas Instruments Incorporated * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the * distribution. * * Neither the name of Texas Instruments Incorporated nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* This example demonstrates the implementation of SHA */ #include <string.h> #include <kernel/dpl/DebugP.h> #include "ti_drivers_config.h" #include "ti_drivers_open_close.h" #include "ti_board_open_close.h" /* SHA512 length */ #define APP_SHA512_LENGTH (64U) /* SHA256 length */ #define APP_SHA256_LENGTH (32U) /* Alignment */ #define APP_SHA_ALIGNMENT_FOR_BUF (128U) /*Input and output buf length*/ #define APP_SHA_IN_OUT_BUF_LENGTH (2048U) /*Inout test buffer for sha computation */ static uint8_t* gCryptoShaTestInputBuf = (uint8_t*)0x60200000; /*Output test buffer for sha computation */ uint8_t gCryptoShaTestOutputBuf[APP_SHA_IN_OUT_BUF_LENGTH] __attribute__ ((aligned (APP_SHA_ALIGNMENT_FOR_BUF))); /* SHA-512 test vectors,this is expected hash for the test buffer */ static uint8_t gCryptoSha512TestSum[APP_SHA512_LENGTH] = { 0x4a, 0x22, 0xec, 0xd9, 0xae, 0xe2, 0x35, 0xdf, 0x6a, 0x2f, 0xba, 0x5d, 0xc1, 0x99, 0xfa, 0x83, 0x85, 0xf7, 0x3a, 0x62, 0xb8, 0x84, 0x7a, 0x60, 0x48, 0x90, 0x28, 0xdb, 0x6e, 0xb6, 0x82, 0x88, 0x5d, 0x01, 0x9f, 0xd4, 0xa6, 0xe2, 0x05, 0x53, 0x10, 0x6b, 0x72, 0xd3, 0xf2, 0xab, 0xa1, 0xa4, 0xaa, 0xf3, 0x32, 0x54, 0x7f, 0x05, 0x61, 0x8d, 0x66, 0x25, 0x70, 0x6a, 0xd1, 0x3f, 0x1d, 0xf8 }; /* Context memory */ static Crypto_Context gCryptoShaContext __attribute__ ((aligned (SA2UL_CACHELINE_ALIGNMENT))); /* Context Object */ SA2UL_ContextObject gSa2ulCtxObj __attribute__ ((aligned (SA2UL_CACHELINE_ALIGNMENT))); void crypto_sha(void *args) { int32_t status; Crypto_Handle shaHandle; SA2UL_ContextParams ctxParams; Drivers_open(); Board_driversOpen(); DebugP_log("[CRYPTO] SHA example started ...\r\n"); uint32_t n_tests = 25000, cnt = 0; for(uint32_t i = 0; i < n_tests; i++) { shaHandle = Crypto_open(&gCryptoShaContext); DebugP_assert(shaHandle != NULL); /* Configure secure context */ ctxParams.opType = SA2UL_OP_AUTH; ctxParams.hashAlg = SA2UL_HASH_ALG_SHA2_512; ctxParams.inputLen = APP_SHA_IN_OUT_BUF_LENGTH; gSa2ulCtxObj.totalLengthInBytes = APP_SHA_IN_OUT_BUF_LENGTH; status = SA2UL_contextAlloc(gCryptoShaContext.drvHandle, &gSa2ulCtxObj, &ctxParams); DebugP_assert(SystemP_SUCCESS == status); /* Perform SHA operation */ status = SA2UL_contextProcess(&gSa2ulCtxObj,gCryptoShaTestInputBuf, APP_SHA_IN_OUT_BUF_LENGTH, gCryptoShaTestOutputBuf); DebugP_assert(SystemP_SUCCESS == status); /*Function to free secure context configuration*/ status = SA2UL_contextFree(&gSa2ulCtxObj); DebugP_assert(SystemP_SUCCESS == status); /*comparing result with expected test results*/ if(memcmp(gSa2ulCtxObj.computedHash, gCryptoSha512TestSum, APP_SHA512_LENGTH) != 0) { DebugP_log("#%d: FAIL\r\n", i); } else { cnt++; DebugP_log("#%d: PASS\r\n", i); } memset(&gSa2ulCtxObj, 0x0, sizeof(gSa2ulCtxObj)); /* Close SHA instance */ status = Crypto_close(shaHandle); DebugP_assert(SystemP_SUCCESS == status); } DebugP_log("#PASS: %d, #FAIL: %d\r\n", cnt, n_tests - cnt); Board_driversClose(); Drivers_close(); return; }
It is modified to compute the SHA512 hash of a 2KB buffer located at 0x60200000 (2MB offset in the OSPI) & compare it with the known golden SHA512 hash of the following test binary
Please note the example does not do any flash initialization as it is assumed the flash is left in initialized & DAC state by the SBL.
I tested the procedure for 25K counts & did not see any failure on the TI EVM.
Regards,
Prashant
Hi Prashant,
I ran the example, if you don't mind I reduced it to 2500 runs - it was also fine with 25000 just the console cleared before I could take a printscreen.
One thing I noticed is that it only works if an application is booted beforehand. If i only flash a bootloader and then load the example via CCS, it will fail at firewall_open(). Is this expected?
Would it be possible to do an online debug session, so it might be easier to find out the cause?
Thanks, Mark
Hi Mark,
Apologies for the lack of response here.
I have tried everything here to check if it is caused by some SDK issue but that doesn't seem to be the case. Thank you for doing all tests till now.
I have asked the TIFS team to have a look at the issue & help figure out the root cause & accordingly the resolution.
I would just like to have one confirmation again.
The authentication does pass if the image is first read from flash to RAM & then authenticated, right? But not pass if the image is authenticated directly from flash even after making sure the DAC is enabled?
An answer of YES mostly establishes some issue with SYSFW & not SDK.
Thanks,
Prashant
Hi Prashant,
"The authentication does pass if the image is first read from flash to RAM & then authenticated, right? But not pass if the image is authenticated directly from flash even after making sure the DAC is enabled?"
Yes, this is correct. I've tested it as detailed previously by moving the image to the PSRAM, then authentication passed and the image was booted. From the flash it does not happen (DAC is definitely enabled).
Thanks,
Mark
Hi Mark,
As the FAE might have already communicated, the authentication issue was finally reproduced on the TI EVM. I now have the SYSFW binaries that fixes the issue at least on the TI EVM.
Please test if you still see the issue with these SYSFW binaries which I will share over private chat. Please accept the friend request I have just sent.
Thanks,
Prashant
Hi Prashant,
Glad to hear, I will test it once I have received it!
I have added you as a friend.
Thanks, Mark
Hi Prashant,
I can confirm the received sysfw binaries fixed our issue with authentication.
Thanks, Mark
I can confirm the received sysfw binaries fixed our issue with authentication.
Thanks for the confirmation, Mark.
Please note the fix will not come in the next SDK release v10.1 as the SYSFW freeze already happened by the time this issue was fixed. However, you could integrate the provided SYSFW binaries as they were built on top of the freezed tag v10.1.
Regards,
Prashant