IMXRT117x ROM API wrong offset calculations on newest silicon revision

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMXRT117x ROM API wrong offset calculations on newest silicon revision

Jump to solution
127 Views
rdegliesposti
Contributor I

Hello,

I am writing this because we found a bug related to chip revision handling in the MCUX SDK.
We recently received the new revision of the RT1176 microcontroller. In our application we use the ROM API and we noticed that the new chip would hang while executing some of the ROM API functions, in particular `ROM_API_Init()` and `ROM_FLEXSPI_NorFlash_ClearCache()`. We believe that is because the check for the chip revision in the SDK is incorrect.
Specifically, the SDK performs a bitwise AND between the value of the `MISC_DIFPROG` register and `0x10`.
We found out that the register reports `0x1170C0` on the 'B' revision and `0x1170B0` on the 'A' revision, which results in two different branches being taken during execution. We believe this is incorrect and leads to a wrong offset calculation. 
In fact we tried to patch the check so that both revisions follow the same execution path, and we can confirm that it resolves the issue.
However, we're unsure what the correct logic for the check should be, and we'd appreciate clarification.
We confirmed that the bug is present in both version 2.15.0 and 2.16.0 of the SDK.

Best regards,
Riccardo

Tags (3)
0 Kudos
Reply
1 Solution
64 Views
Omar_Anguiano
NXP TechSupport
NXP TechSupport

The i.MX RM1170 Reference Manual Rev. 4 is shared by i.MX RT1170A and i.MX RT1170B. Only one change is related to the migration:
In the "CHIPID" in the "MISC_DIFPROG" register, the reset value of bit [7:4] is changed from "1011" to "uuuu".
A note is added:
Note: For the i.MX RT1170A chip, bit [7:4] is "1011". For the i.MX RT1170B chip, bit [7:4] is "1100".

The SDK version to support i.MX RT1170B will be SDK 25.06, which will be launched at the end of June 2025. The code changes related to the migration in a previous SDK version include:
1. In "ROM_API_Init()", the previous code is not handling "CHIPID" correctly and leads to a wrong ROM API entry loaded.

Best regards,
Omar

View solution in original post

0 Kudos
Reply
1 Reply
65 Views
Omar_Anguiano
NXP TechSupport
NXP TechSupport

The i.MX RM1170 Reference Manual Rev. 4 is shared by i.MX RT1170A and i.MX RT1170B. Only one change is related to the migration:
In the "CHIPID" in the "MISC_DIFPROG" register, the reset value of bit [7:4] is changed from "1011" to "uuuu".
A note is added:
Note: For the i.MX RT1170A chip, bit [7:4] is "1011". For the i.MX RT1170B chip, bit [7:4] is "1100".

The SDK version to support i.MX RT1170B will be SDK 25.06, which will be launched at the end of June 2025. The code changes related to the migration in a previous SDK version include:
1. In "ROM_API_Init()", the previous code is not handling "CHIPID" correctly and leads to a wrong ROM API entry loaded.

Best regards,
Omar

0 Kudos
Reply