Does the LS1043ARDB support the ARM RAS extensions?

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

Does the LS1043ARDB support the ARM RAS extensions?

1,478 Views
tracysmith
Contributor IV
  • Does the LS1043ARDB support the ARM RAS extension/specification? 
  • The RAS extensions are part of the ARMv8.2 specification.  Does the LS1043ARDB, which is based on the ARMv8.0 specification, support RAS extensions?
  • If not is ECC supported by the LS1043ARDB?
  • I'm finding the following problem.

When attempting to select the mirror byte function for error injection.  ECC_ERR_INJECT[EMB, EIEN]= 0b'11

 

ECC_ERR_INJECT[EMB,EIEN]=0b'11 cause a hard reset.  Also, u-boot board/freescale/ls1043ardb/ddr.c enables ecc_mode popts->ecc_mode=1, but it is unclear from ddr.h if this or any other ECC register is enabled.

 

Doing the following does a hard reset, but should set EMB and EIEN.

root@ls1043ardb:~# devmem 0x1080E08 w 0x00030000

 [ 839.465065] Unhandled fault: synchronous external abort (0x96000210) at 0xff

Then the WDT is triggered and the board resets.

The byte order appears to be correct. If I set the EMB only or the EIEN without EMB set (0x00020000 or 0x00010000), there is no hard reset. Only when I set both the EMB,EIEN (0x00030000) does it do a hard reset.

  • I cannot set both at the same time without a hard reset. Why does setting both EMB amd EIEN cause a hard reset?
  • What is the purpose of the EMB? 
  • Is the EMB a test bit to inject the error, even prior to reading and writing a word to a 0x5000 memory location?
  • Do I need to set the EMB to cause an ECC error when I write 0x55aa0000 to 0x5000? Not setting EMB does not allow a ECC error when writing and reading 0x5000 with 0x55aa0000.
  • So, I have to ask if ECC is supported on the LS1043ARDB?
  • Are ARM RAS extensions required for this processor to support ECC?

22  EMB
ECC Mirror Byte.
0b - Mirror byte functionality disabled.
1b - Mirror the most significant data path byte onto the ECC byte.

23 EIEN
Error Injection Enable.
0b - Error injection disabled.
1b - Error injection enabled. This applies to the data mask bits, the ECC mask bits, and the ECC
mirror bit. Note that error injection should not be enabled until the memory controller has been
enabled via DDR_SDRAM_CFG[MEM_EN].

https://static.docs.arm.com/ddi0587/ba/ARM_DDI_0587B_a_RAS.pdf?_ga=2.266120399.1162410116.1535639526... 

https://community.arm.com/processors/b/blog/posts/arm-architecture-armv8-2-a-evolution-and-delivery

Labels (2)
0 Kudos
Reply
6 Replies

1,098 Views
andrei_skok
NXP Employee
NXP Employee

I checked the LS1043RDB and ECC is not supported on this board, so you can not test ECC related errors.

0 Kudos
Reply

1,098 Views
tracysmith
Contributor IV

So does this mean that this board does not correct for DDR memory errors?  Which board in the LS family supports error correction?

0 Kudos
Reply

1,098 Views
andrei_skok
NXP Employee
NXP Employee

Yes, it means the LS1043RDB board doesn't correct DDR memory errors because of lack of external ECC memory.

The following NXP boards provide ECC support: LS1043A-QDS, LS1046A-RDB.

Have a great day,
Andrei

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply

1,098 Views
tracysmith
Contributor IV

That is helpful, but the ls1043ardb custom board we have has all the ECC lines connected per the LS1043AQDS schematics. But the question was does the ARM processor on the LS1043 support RAS extensions? This question was not, does the ls1043ardb support ECC.

0 Kudos
Reply

1,098 Views
andrei_skok
NXP Employee
NXP Employee

LS1043A processor does not support the ARM RAS extension/specification.

0 Kudos
Reply

1,098 Views
tracysmith
Contributor IV

Thanks. Just needed to confirm. This can be closed.

0 Kudos
Reply