01-09-2021, 05:41 PM
Well, another issue here could be bad DRAM clocks. As far as I know, there is a blob in u-boot (or is it open?) that does the RAM training. If this does not work out correctly, your RP64 might run with wrong timings, resulting in these errors. To quote some dated u-boot docs:
Source: https://gitlab.denx.de/u-boot/u-boot/-/b...emory-test
I am not sure how to check the current RAM clock settings, but it might be worth to compare them between your boards.
With that being said, it's common for DRAMs become defunct over time. If you are out of warranty, replacing the DRAMs is not easy as they are soldered. However, you could try to map out the damaged areas using badmem as described here:
https://web.archive.org/web/201408061750...mory-howto
Also, it would be better to run memtester directly from u-boot without booting a whole OS like Linux as you could test much more memory this way. It seems like there is an option in u-boot for doing this (haven't tried, but sounds interesting). Again, see this document in u-boot:
https://gitlab.denx.de/u-boot/u-boot/-/b...emory-test
Quote:The most frequent cause of problems when porting U-Boot to new
hardware, or when using a sloppy port on some board, is memory errors.
In most cases these are not caused by failing hardware, but by
incorrect initialization of the memory controller. So it appears to
be a good idea to always test if the memory is working correctly,
before looking for any other potential causes of any problems.
Source: https://gitlab.denx.de/u-boot/u-boot/-/b...emory-test
I am not sure how to check the current RAM clock settings, but it might be worth to compare them between your boards.
With that being said, it's common for DRAMs become defunct over time. If you are out of warranty, replacing the DRAMs is not easy as they are soldered. However, you could try to map out the damaged areas using badmem as described here:
https://web.archive.org/web/201408061750...mory-howto
Also, it would be better to run memtester directly from u-boot without booting a whole OS like Linux as you could test much more memory this way. It seems like there is an option in u-boot for doing this (haven't tried, but sounds interesting). Again, see this document in u-boot:
https://gitlab.denx.de/u-boot/u-boot/-/b...emory-test