IMX8QXP RAM ECC

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

IMX8QXP RAM ECC

74 Views
qwerty1123
Contributor I

My i.MX 8QXP board is configured to use sideband ECC mode. Is there a Linux driver available that supports this and can detect ECC errors? I haven't found any ECC-related registers in the Applications Processor Reference Manual (PRM).

THANKS.

Labels (1)
Tags (1)
0 Kudos
Reply
2 Replies

40 Views
pengyong_zhang
NXP Employee
NXP Employee

Hi @qwerty1123 

We have not yet released a verification module for ECC. You will need to write your own verification program. Please refer to the documentation below.

https://www.nxp.com/docs/en/application-note/AN13566.pdf

You can refer IMX8DXL RM about ECC register. imx8qxp and imx8dxl use the same DDRC IP. 

B.R

 

0 Kudos
Reply

56 Views
gaurav_sharma
NXP Employee
NXP Employee

@qwerty1123 
ECC can be enabled and errors can be detected by the DDRC hardware, but you should not expect an existing Linux EDAC driver for i.MX 8QXP sideband ECC unless you have a BSP/private patch outside the retrieved sources. A board-specific driver would need to map the DDRC ECC registers from AN13566, handle 
ECC_CORRECT_INT ECC_NCORRECT_INT , read ECCSTAT ECCERRCNT , clear through ECCCTL , and optionally register with the Linux EDAC framework.

The app note describes correctable, uncorrectable, and AP error interrupt enables and status handling through DDRC registers. So, you most probably have to write a custom driver for it.



0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2406398%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EIMX8QXP%20RAM%20ECC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2406398%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%20class%3D%22%22%3EMy%20i.MX%208QXP%20board%20is%20configured%20to%20use%20sideband%20ECC%20mode.%20Is%20there%20a%20Linux%20driver%20available%20that%20supports%20this%20and%20can%20detect%20ECC%20errors%3F%20I%20haven't%20found%20any%20ECC-related%20registers%20in%20the%20Applications%20Processor%20Reference%20Manual%20(PRM).%3C%2FSPAN%3E%3C%2FP%3E%3CP%3ETHANKS.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2406398%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EMCXC%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2406453%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMX8QXP%20RAM%20ECC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2406453%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F252549%22%20target%3D%22_blank%22%3E%40qwerty1123%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20have%20not%20yet%20released%20a%20verification%20module%20for%20ECC.%20You%20will%20need%20to%20write%20your%20own%20verification%20program.%20Please%20refer%20to%20the%20documentation%20below.%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fapplication-note%2FAN13566.pdf%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fapplication-note%2FAN13566.pdf%3C%2FA%3E%3C%2FP%3E%0A%3CP%3EYou%20can%20refer%20IMX8DXL%20RM%20about%20ECC%20register.%20imx8qxp%20and%20imx8dxl%20use%20the%20same%20DDRC%20IP.%26nbsp%3B%3C%2FP%3E%0A%3CP%3EB.R%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2406441%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMX8QXP%20RAM%20ECC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2406441%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F252549%22%20target%3D%22_blank%22%3E%40qwerty1123%3C%2FA%3E%26nbsp%3B%3CBR%20%2F%3EECC%20can%20be%20enabled%20and%20errors%20can%20be%20detected%20by%20the%20DDRC%20hardware%2C%20but%20you%20should%20not%20expect%20an%20existing%20Linux%20EDAC%20driver%20for%20i.MX%208QXP%20sideband%20ECC%20unless%20you%20have%20a%20BSP%2Fprivate%20patch%20outside%20the%20retrieved%20sources.%20A%20board-specific%20driver%20would%20need%20to%20map%20the%20DDRC%20ECC%20registers%20from%20%3CSTRONG%3EAN13566%3C%2FSTRONG%3E%2C%20handle%26nbsp%3B%3C%2FSPAN%3E%3CCODE%20class%3D%22%22%3EECC_CORRECT_INT%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%3E%2F%26nbsp%3B%3C%2FSPAN%3E%3CCODE%20class%3D%22%22%3EECC_NCORRECT_INT%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%3E%2C%20read%26nbsp%3B%3C%2FSPAN%3E%3CCODE%20class%3D%22%22%3EECCSTAT%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%3E%2F%26nbsp%3B%3C%2FSPAN%3E%3CCODE%20class%3D%22%22%3EECCERRCNT%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%3E%2C%20clear%20through%26nbsp%3B%3C%2FSPAN%3E%3CCODE%20class%3D%22%22%3EECCCTL%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%3E%2C%20and%20optionally%20register%20with%20the%20Linux%20EDAC%20framework.%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CDIV%3EThe%20app%20note%20describes%20correctable%2C%20uncorrectable%2C%20and%20AP%20error%20interrupt%20enables%20and%20status%20handling%20through%20DDRC%20registers.%20So%2C%20you%20most%20probably%20have%20to%20write%20a%20custom%20driver%20for%20it.%3C%2FDIV%3E%0A%3CP%3E%3CSPAN%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E