i.MX8/9: question about unused DDR PHY trained CSR board array

Peng Fan peng.fan at nxp.com
Mon Sep 30 08:38:45 CEST 2024


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.



More information about the U-Boot mailing list