I want to enable I2C1 module(INA220A) in LS1043A board. From reference manual of LS1043A, I2C module registers are accessible in supervisor mode only. Code warrior hello world project is setting up in EL3. So, i have changed the exceptionl level to EL1(supervisor mode) from EL3 and trying to access the I2C module registers. But, getting an synchronous exception and the reason is shown up in ESR_EL1 register as "Data Abort taken without a change in Exception level" even Pstate current exception value is 4(EL1). PFA for Exception register snapshot. Please let me know why we are getting exception even while accessing I2C registers in EL1 mode. Note: Even we tried in accessing EL2, EL3, still the result is same.
Look at the Section 8.3.4.3 of NXP SDK 2.0-1703 documentation:
https://www.nxp.com/docs/en/supporting-information/QORIQ-SDK-2.0-IC-REV0.pdf
This Section contains description for using the INA220 Linux driver.
See also the Section 8.4.1.
See the Chapter 11.4 of NXP LSDK 18.03 documentation about using the INA220 Linux driver:
https://www.nxp.com/docs/en/supporting-information/LSDK-KC-REV18.03.pdf
Have a great day,
Pavel Chubakov
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------