Hi Ahmad, > Subject: i.MX8/9: question about unused DDR PHY trained CSR board > array > > Hello Peng, > > Looking at the DDR setup code for i.MX8M and i.MX9 that you had > contributed, I am wondering about struct > dram_cfg_param::ddrphy_trained_csr and the global > ddrphy_trained_csr array. > > struct dram_cfg_param::ddrphy_trained_csr is presumably generated > by the i.MX DDR tool and it seems populated by all the i.MX8M/9 > boards in U-Boot. > > This struct member is wholly unused though and instead a global > ddrphy_trained_csr is used. > > What I wonder about is whether it's possible for the DDR tool to > generate a different ddrphy_trained_csr than the default: > > 1) If yes, we should drop the global ddrphy_trained_csr and actually > use > the board-specific array > > 2) If not, we should drop the board-specific array and perhaps ask for > the DDR tool to be changed > > I initially assumed 1) and because all boards supported by barebox had > a board-specific ddrphy_trained_csr that's identical to the global > ddrphy_trained_csr, I dropped the unused array[1][2]. > > I now have the DDR settings for an i.MX9 LPDDR4 board in front of me > that has different contents for struct > dram_cfg_param::ddrphy_trained_csr than the default. > > I will inquire how that came about, but in parallel I wanted to ask you if > this is supposed to happen and to alert you to this issue.
Thanks for raising this issue. I think board specific csr should be used. I will check with DDR TOOL owners on this. > > The way things are, this is either a bug or a missed space saving > opportunity for U-Boot. Thanks, Peng.