Part Number: AM625SIP
Other Parts Discussed in Thread: SYSCONFIG
From Customer:
Hello, I’ve been trying to get the ECC on the AM-625-SIP-SK development board working for a few days now and had very little success.
Here’s a quick rundown of what I’m doing and what I’ve checked / tried:
- I moved OP-TEE from 9E80 to 9A80 (trailing zeroes removed, address in hex)
- Observed using md in U-Boot that OP-TEE is being loaded at the proper address
- I cannot view memory at 9E80 and above, perhaps this is due to the memory firewall, however I tried changing the region in the binman file and it had no effect, it still panics whenever reading that address however does not panic when reading from 9A80 to 9C00 like I’d expect
- I moved the R5F DMA region from 9DB0 to 99B0, I assume this was successful, not sure how to test this though
- I moved an unknown region (I presume OP-TEE related) at 9E78 to 9A78. This region wasn’t mentioned anywhere other then in the device tree, I checked the entirety of OP-TEE, ATF, and U-Boot source code and didn’t see anywhere that called it out. I also checked disassembled outputs of our binary blobs and seen no instances of it. What is this region and where is it used?
- Added a reserved ECC region from 9C00 to A000, and verified the ECC region via running md on the DDRSS_ECC_R0_STR/END_ADDR_REG as mentioned in the TRM
- The above changes have been reflected in the A53 U-Boot, A53 binman, R5 U-Boot, R5 binman and Linux device trees (I created a common device tree that I included in those builds, eliminating the possibility of human error here)
- I have also set BL32_BASE in the ARM trusted firmware and CFG_TZDRAM_START in OP-TEE to the new addresses, by checking the disassembled output binaries I verified they are using the correct addresses
- Observed the ECC enabled printout in the R5 U-Boot SPL
- Observed error free BL31 and OP-TEE initialization outputs
- Boots into linux, all linux kernel image and device trees are loaded between 9000 and 9800 (we have a small kernel)
- When in Linux fails to initialize the CPU cores, OP-TEE reports an error -19
- Fails to initialize ti-sci driver with “Mailbox timedout in resp” during the platform_probe function
- When turning off ECC, the system boots just fine – so I’m confident ECC is clobbering something!
Hope this information helps! Any ideas / suggestions / examples would be greatly appreciated!