summaryrefslogtreecommitdiffstats
path: root/drivers/ddr
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2024-01-22 15:13:31 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2024-02-13 14:47:53 +0100
commit9110b0cc9086a555c2ce2327ccab1f1d3863e5ff (patch)
treee619370389f48b7bea7ea800e07a21189b54e4e3 /drivers/ddr
parentea17cf0d4da97a63ef4ee22078609badf4a6a855 (diff)
downloadbarebox-9110b0cc9086a555c2ce2327ccab1f1d3863e5ff.tar.gz
barebox-9110b0cc9086a555c2ce2327ccab1f1d3863e5ff.tar.xz
ddr: imx8m: add missing DDR clock rates
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. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Reviewed-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20240122141331.3438235-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/ddr')
-rw-r--r--drivers/ddr/imx/imx8m_ddr_init.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/ddr/imx/imx8m_ddr_init.c b/drivers/ddr/imx/imx8m_ddr_init.c
index 8b829645c0..d9a5d589f2 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;