Hello, On 20.05.22 16:23, Teresa Remmet wrote: > As DDRC_ADDRMAP7_ROW_B16 and DDRC_ADDRMAP7_ROW_B17 are used > now for the row size calculation we need to increase row_max to 18. > > For LPDDR4 this only works in combination with ram timings > created with recent configuration spreadsheet versions. > With older versions the register DDRC_ADDRMAP7 may not be set and > calculation will lead to wrong results even with this patch. > > Fixes: dad2b5636bd8 ("ARM: imx: Add imx8 support for 18 bit SDRAM row size handle") > Signed-off-by: Teresa Remmet <t.remmet@xxxxxxxxx> I have an out-of-tree i.MX8MM board with LPDDR4 that reported a correct size of 1G prior to this patch and now it reports 4G. DDRC_ADDRMAP7 is not explicitly initialized, but it's being read as zero, so the calculation seems to still be broken.. > --- > arch/arm/mach-imx/esdctl.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/arm/mach-imx/esdctl.c b/arch/arm/mach-imx/esdctl.c > index 8dd0ddbbc965..b070ebc62a45 100644 > --- a/arch/arm/mach-imx/esdctl.c > +++ b/arch/arm/mach-imx/esdctl.c > @@ -488,7 +488,7 @@ static resource_size_t imx8m_ddrc_sdram_size(void __iomem *ddrc) > > return imx_ddrc_sdram_size(ddrc, addrmap, > 12, ARRAY_AND_SIZE(col_b), > - 16, ARRAY_AND_SIZE(row_b), > + 18, ARRAY_AND_SIZE(row_b), > reduced_adress_space, true); > } > -- 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 |