Re: [PATCH v2 3/4] ddr: imx: Allow to call ddr init without logging failure
Frieder Schrempf <[email protected]>
| Newsgroups | org.u-boot-project.lists.u-boot |
|---|---|
| Message-ID | <[email protected]> |
On 26.08.26 14:24, Marek Vasut wrote: > On 8/26/26 10:12 AM, Frieder Schrempf wrote: > > [...] > >>>> I'm not sure, but even if it would work, it would require several >>>> separate init attempts only to read the IDs >>> >>> Why ? Init the bus in slowest mode with widest bus settings, then try >>> MRRD on all available DRAM chips, then figure out which ones report >>> valid IDs and which ones fail the MRd . >> >> As far as I can see this doesn't work. If we use the widest bus setting >> (CsPresent=0x3) on a single rank module, the training fails and the DDR >> remains in a state where the MR read doesn't work yet. > > Do you need training to read the IDs ? Simply force-use the slowest bus > mode (100 MTps iirc), the training is only relevant for the high-speed > modes. I don't see any existing code path for any i.MX with DDR4 that doesn't do the training before accessing MR registers. Do you have any references or examples? Do you have any sources for the claim that the training is only relevant for the high-speed modes? I couldn't find anything that supports this. Also I would assume that doing the MRRD on an unused CS would give me back some arbitrary random values. While I could interpret an unknown value as "rank/cs not present", I don't think its reliable enough. Or do you know of any error condition being reported for failed MRRD?