[PATCH 11/23] ARM: i.MX8M: esdctl: drop ddrc base from imx8m_ddrc_sdram_size
Ahmad Fatoum
a.fatoum at pengutronix.de
Thu Jan 15 05:08:24 PST 2026
Hi Marco,
On 11/10/25 9:34 PM, Marco Felsch wrote:
> All i.MX8M use the same DDRC MMIO address. Therefore drop the ddrc param
> from imx8m_ddrc_sdram_size() and set it locally.
>
> While on it drop the param from _imx8m_ddrc_add_mem() as well since it
> is no longer needed to be passed to imx8m_ddrc_sdram_size().
>
> Signed-off-by: Marco Felsch <m.felsch at pengutronix.de>
Acked-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
Cheers,
Ahmad
> ---
> arch/arm/mach-imx/esdctl.c | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/mach-imx/esdctl.c b/arch/arm/mach-imx/esdctl.c
> index 4c4c3528e1a6e68c508edc48ad38c9e2e6324c1c..0a1e042792bd90b40ffc8084efbdc5a25ba0dd02 100644
> --- a/arch/arm/mach-imx/esdctl.c
> +++ b/arch/arm/mach-imx/esdctl.c
> @@ -467,8 +467,9 @@ static void imx_ddrc_set_mstr_device_config(u32 *mstr, unsigned bits)
> *mstr |= FIELD_PREP(DDRC_MSTR_DEVICE_CONFIG, fls(bits / 8));
> }
>
> -static resource_size_t imx8m_ddrc_sdram_size(void __iomem *ddrc, unsigned buswidth)
> +static resource_size_t imx8m_ddrc_sdram_size(unsigned buswidth)
> {
> + void __iomem *ddrc = IOMEM(MX8M_DDRC_CTL_BASE_ADDR);
> const u32 addrmap[DDRC_ADDRMAP_LENGTH] = {
> readl(ddrc + DDRC_ADDRMAP(0)),
> readl(ddrc + DDRC_ADDRMAP(1)),
> @@ -518,10 +519,10 @@ static resource_size_t imx8m_ddrc_sdram_size(void __iomem *ddrc, unsigned buswid
> reduced_adress_space, mstr);
> }
>
> -static int _imx8m_ddrc_add_mem(void *mmdcbase, const struct imx_esdctl_data *data,
> +static int _imx8m_ddrc_add_mem(const struct imx_esdctl_data *data,
> unsigned int buswidth)
> {
> - resource_size_t size = imx8m_ddrc_sdram_size(mmdcbase, buswidth);
> + resource_size_t size = imx8m_ddrc_sdram_size(buswidth);
> resource_size_t size0, size1;
> int ret;
>
> @@ -555,12 +556,12 @@ static int _imx8m_ddrc_add_mem(void *mmdcbase, const struct imx_esdctl_data *dat
>
> static int imx8m_ddrc_add_mem(void *mmdcbase, const struct imx_esdctl_data *data)
> {
> - return _imx8m_ddrc_add_mem(mmdcbase, data, 32);
> + return _imx8m_ddrc_add_mem(data, 32);
> }
>
> static int imx8mn_ddrc_add_mem(void *mmdcbase, const struct imx_esdctl_data *data)
> {
> - return _imx8m_ddrc_add_mem(mmdcbase, data, 16);
> + return _imx8m_ddrc_add_mem(data, 16);
> }
>
> #define IMX9_DDRC_CS_CONFIG(n) (0x80 + (n) * 4)
> @@ -1001,7 +1002,7 @@ resource_size_t imx8m_barebox_earlymem_size(unsigned buswidth)
> {
> resource_size_t size;
>
> - size = imx8m_ddrc_sdram_size(IOMEM(MX8M_DDRC_CTL_BASE_ADDR), buswidth);
> + size = imx8m_ddrc_sdram_size(buswidth);
> /*
> * We artificially limit detected memory size to force malloc
> * pool placement to be within 4GiB address space, so as to
>
--
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