[PATCH 4/7] ARM: i.MX93: add imx93_barebox_entry()

Sascha Hauer s.hauer at pengutronix.de
Mon Jan 22 02:20:24 PST 2024


On Fri, Jan 19, 2024 at 04:21:03PM +0100, Marco Felsch wrote:
> On 24-01-19, Sascha Hauer wrote:
> > We already have support for detecting the DDR size automatically on
> > i.MX93. Create imx93_barebox_entry() from it and use it instead of
> > the hardcoded DDR size in the tqmba9xxxca board.
> > 
> > Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> > ---
> >  arch/arm/boards/tqmba9xxxca/lowlevel.c |  4 +++-
> >  arch/arm/mach-imx/esdctl.c             | 15 ++++++++++++---
> >  include/mach/imx/esdctl.h              |  1 +
> >  3 files changed, 16 insertions(+), 4 deletions(-)
> > 
> > diff --git a/arch/arm/boards/tqmba9xxxca/lowlevel.c b/arch/arm/boards/tqmba9xxxca/lowlevel.c
> > index 0a57d02451..64913b8de9 100644
> > --- a/arch/arm/boards/tqmba9xxxca/lowlevel.c
> > +++ b/arch/arm/boards/tqmba9xxxca/lowlevel.c
> > @@ -4,11 +4,13 @@
> >  #include <debug_ll.h>
> >  #include <mach/imx/debug_ll.h>
> >  #include <mach/imx/generic.h>
> > +#include <mach/imx/xload.h>
> >  #include <asm/barebox-arm.h>
> >  #include <soc/imx9/ddr.h>
> >  #include <mach/imx/atf.h>
> >  #include <mach/imx/xload.h>
> >  #include <mach/imx/romapi.h>
> > +#include <mach/imx/esdctl.h>
> >  
> >  extern char __dtb_z_imx93_tqma9352_mba93xxca_start[];
> >  extern struct dram_timing_info tqma93xxca_dram_timing;
> > @@ -29,7 +31,7 @@ static noinline void tqma9352_mba93xxca_continue(void)
> >  		imx93_load_and_start_image_via_tfa();
> >  	}
> >  
> > -	barebox_arm_entry(0x80000000, 0x40000000, __dtb_z_imx93_tqma9352_mba93xxca_start);
> > +	imx93_barebox_entry(__dtb_z_imx93_tqma9352_mba93xxca_start);
> >  }
> >  
> >  ENTRY_FUNCTION(start_imx93_tqma9352_mba93xxca, r0, r1, r2)
> > diff --git a/arch/arm/mach-imx/esdctl.c b/arch/arm/mach-imx/esdctl.c
> > index 1bd22cc6ef..2dc858c87f 100644
> > --- a/arch/arm/mach-imx/esdctl.c
> > +++ b/arch/arm/mach-imx/esdctl.c
> > @@ -563,7 +563,7 @@ static int imx8mn_ddrc_add_mem(void *mmdcbase, struct imx_esdctl_data *data)
> >  #define IMX9_DDRC_CS_COL_BITS	GENMASK(2, 0)
> >  #define IMX9_DDRC_CS_EN		BIT(31)
> >  
> > -static int imx9_ddrc_add_mem(void *mmdcbase, struct imx_esdctl_data *data)
> > +static resource_size_t imx9_ddrc_sdram_size(void __iomem *mmdcbase)
> >  {
> >  	int width = 2;
> >  	int banks = 8;
> > @@ -588,7 +588,12 @@ static int imx9_ddrc_add_mem(void *mmdcbase, struct imx_esdctl_data *data)
> >  		mem += memory_sdram_size(cols, rows, banks, width);
> >  	}
> >  
> > -	return arm_add_mem_device("ram0", data->base0, mem);
> > +	return mem;
> 
> Nit: make mem typeof resource_size_t?

Yes. Added an extra patch for this.

Sascha

-- 
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