[PATCH] ddr: imx8m: add missing DDR clock rates

Marco Felsch m.felsch at pengutronix.de
Tue Jan 23 04:15:18 PST 2024


On 24-01-23, Ahmad Fatoum wrote:
> On 23.01.24 11:04, Marco Felsch wrote:
> > On 24-01-22, Ahmad Fatoum wrote:
> >> ddrphy_init_set_dfi_clk() is called to translate a scalar clock rate
> >> as specified by board code into PLL parameters, which are configured.
> >>
> >> enum ddr_rate describes the possible DDR rates and so far
> >> ddrphy_init_set_dfi_clk() supported all of them, except for 2600 and
> >> 2376 MHz, rendering these two rates unusable.
> >>
> >> Fix this by adding support for them into ddrphy_init_set_dfi_clk.
> > 
> > Do we need to support this in TF-A as well for dvfs?
> 
> I don't know. I am not familiar with what needs to be done in TF-A
> to support DVFS for these frequencies. Do you know?

See dram_pll_init() within the TF-A code. Marek recently added the 3600
case.

Regards,
  Marco

> >> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
> > 
> > The barebox change itself lgtm, therefore:
> > 
> > Reviewed-by: Marco Felsch <m.felsch at pengutronix.de>
> > 
> >> ---
> >>  drivers/ddr/imx/imx8m_ddr_init.c | 6 ++++--
> >>  1 file changed, 4 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/ddr/imx/imx8m_ddr_init.c b/drivers/ddr/imx/imx8m_ddr_init.c
> >> index 8b829645c063..d9a5d589f27b 100644
> >> --- a/drivers/ddr/imx/imx8m_ddr_init.c
> >> +++ b/drivers/ddr/imx/imx8m_ddr_init.c
> >> @@ -219,9 +219,9 @@ enum ddr_rate {
> >>  	DDR_3720,
> >>  	DDR_3200,
> >>  	DDR_3000,
> >> -	DDR_2600, /* Unused */
> >> +	DDR_2600,
> >>  	DDR_2400,
> >> -	DDR_2376, /* Unused */
> >> +	DDR_2376,
> >>  	DDR_1600,
> >>  	DDR_1000, /* Unused */
> >>  	DDR_1066,
> >> @@ -450,7 +450,9 @@ static void ddrphy_init_set_dfi_clk(struct dram_controller *dram, unsigned int d
> >>  	case 3720: drate = DDR_3720; break;
> >>  	case 3200: drate = DDR_3200; break;
> >>  	case 3000: drate = DDR_3000; break;
> >> +	case 2600: drate = DDR_2600; break;
> >>  	case 2400: drate = DDR_2400; break;
> >> +	case 2376: drate = DDR_2376; break;
> >>  	case 1600: drate = DDR_1600; break;
> >>  	case 1066: drate = DDR_1066; break;
> >>  	case 667: drate = DDR_667; break;
> >> -- 
> >> 2.39.2
> >>
> >>
> >>
> > 
> 
> -- 
> Pengutronix e.K.                           |                             |
> Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
> 31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
> 
> 



More information about the barebox mailing list