[U-Boot] [PATCH v1] mc : Add support to run MC in 128 MB DDR size

Meenakshi Aggarwal meenakshi.aggarwal at nxp.com
Tue Feb 26 08:44:17 UTC 2019



> -----Original Message-----
> From: Ashish Kumar
> Sent: Tuesday, February 26, 2019 12:08 PM
> To: Meenakshi Aggarwal <meenakshi.aggarwal at nxp.com>; u-
> boot at lists.denx.de
> Subject: RE: [U-Boot] [PATCH v1] mc : Add support to run MC in 128 MB DDR
> size
> 
> 
> > -----Original Message-----
> > From: U-Boot <u-boot-bounces at lists.denx.de> On Behalf Of Meenakshi
> > Aggarwal
> > Sent: Wednesday, February 20, 2019 3:36 PM
> > To: u-boot at lists.denx.de
> > Subject: [U-Boot] [PATCH v1] mc : Add support to run MC in 128 MB DDR
> > size
> Ashish: Rephrase to "Reduce MC memory size to 128M" from the above it sound
> like system DDR is 128MB
> 
Ok

> Regards
> Ashish
> >
> > ls2088, ls1088 : minimum DDR size for MC is 128 MB
> > lx2 : minimum DDR size for MC is 256 MB
> >
> > Signed-off-by: Meenakshi Aggarwal <meenakshi.aggarwal at nxp.com>
> > ---
> >  drivers/net/fsl-mc/mc.c          | 23 +++++++++++++++++++----
> >  include/configs/ls1088a_common.h |  2 +-
> > include/configs/ls2080a_common.h
> > |  2 +-  include/configs/lx2160a_common.h |  2 +-
> >  4 files changed, 22 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c index
> > d0b8c03..7ba44cd 100644
> > --- a/drivers/net/fsl-mc/mc.c
> > +++ b/drivers/net/fsl-mc/mc.c
> > @@ -28,6 +28,7 @@
> >  #define MC_MEM_SIZE_ENV_VAR	"mcmemsize"
> >  #define MC_BOOT_TIMEOUT_ENV_VAR	"mcboottimeout"
> >  #define MC_BOOT_ENV_VAR		"mcinitcmd"
> > +#define MC_DRAM_BLOCK_DEFAULT_SIZE (512UL * 1024 * 1024)
> >
> >  DECLARE_GLOBAL_DATA_PTR;
> >  static int mc_memset_resv_ram;
> > @@ -683,7 +684,8 @@ int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr)
> >  	size_t mc_ram_size = mc_get_dram_block_size();
> >
> >  	mc_ram_num_256mb_blocks = mc_ram_size /
> MC_RAM_SIZE_ALIGNMENT;
> > -	if (mc_ram_num_256mb_blocks < 1 || mc_ram_num_256mb_blocks >
> > 0xff) {
> > +
> > +	if (mc_ram_num_256mb_blocks >= 0xff) {
> >  		error = -EINVAL;
> >  		printf("fsl-mc: ERROR: invalid MC private RAM size (%lu)\n",
> >  		       mc_ram_size);
> > @@ -691,6 +693,13 @@ int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr)
> >  	}
> >
> >  	/*
> > +	 * To support 128 MB DDR Size for MC
> > +	 */
> > +	if (mc_ram_num_256mb_blocks == 0) {
> > +		mc_ram_num_256mb_blocks = 0xFF;
> > +	}
> > +
> > +	/*
> >  	 * Management Complex cores should be held at reset out of POR.
> >  	 * U-Boot should be the first software to touch MC. To be safe,
> >  	 * we reset all cores again by setting GCR1 to 0. It doesn't do @@
> > -730,8
> > +739,14 @@ int mc_init(u64 mc_fw_addr, u64 mc_dpc_addr)
> >  	/*
> >  	 * Tell MC what is the address range of the DRAM block assigned to it:
> >  	 */
> > -	reg_mcfbalr = (u32)mc_ram_addr |
> > -		      (mc_ram_num_256mb_blocks - 1);
> > +	if (mc_ram_num_256mb_blocks < 0xFF) {
> > +		reg_mcfbalr = (u32)mc_ram_addr |
> > +				(mc_ram_num_256mb_blocks - 1);
> > +	} else {
> > +		reg_mcfbalr = (u32)mc_ram_addr |
> > +				(mc_ram_num_256mb_blocks);
> > +	}
> > +
> >  	out_le32(&mc_ccsr_regs->reg_mcfbalr, reg_mcfbalr);
> >  	out_le32(&mc_ccsr_regs->reg_mcfbahr,
> >  		 (u32)(mc_ram_addr >> 32));
> > @@ -876,7 +891,7 @@ unsigned long mc_get_dram_block_size(void)
> >  			       "\' environment variable: %lu\n",
> >  			       dram_block_size);
> >
> > -			dram_block_size =
> > CONFIG_SYS_LS_MC_DRAM_BLOCK_MIN_SIZE;
> > +			dram_block_size = MC_DRAM_BLOCK_DEFAULT_SIZE;
> >  		}
> >  	}
> >
> > diff --git a/include/configs/ls1088a_common.h
> > b/include/configs/ls1088a_common.h
> > index 89133c2..1509292 100644
> > --- a/include/configs/ls1088a_common.h
> > +++ b/include/configs/ls1088a_common.h
> > @@ -154,7 +154,7 @@ unsigned long long get_qixis_addr(void);
> >   */
> >
> >  #if defined(CONFIG_FSL_MC_ENET)
> > -#define CONFIG_SYS_LS_MC_DRAM_BLOCK_MIN_SIZE
> 	(512UL *
> > 1024 * 1024)
> > +#define CONFIG_SYS_LS_MC_DRAM_BLOCK_MIN_SIZE
> 	(128UL *
> > 1024 * 1024)
> >  #endif
> >  /* Command line configuration */
> >  #define CONFIG_CMD_CACHE
> > diff --git a/include/configs/ls2080a_common.h
> > b/include/configs/ls2080a_common.h
> > index ab38981..7c1d35b 100644
> > --- a/include/configs/ls2080a_common.h
> > +++ b/include/configs/ls2080a_common.h
> > @@ -159,7 +159,7 @@ unsigned long long get_qixis_addr(void);
> >   * 512MB aligned, so the min size to hide is 512MB.
> >   */
> >  #ifdef CONFIG_FSL_MC_ENET
> > -#define CONFIG_SYS_LS_MC_DRAM_BLOCK_MIN_SIZE
> 	(512UL *
> > 1024 * 1024)
> > +#define CONFIG_SYS_LS_MC_DRAM_BLOCK_MIN_SIZE
> 	(128UL *
> > 1024 * 1024)
> >  #endif
> >
> >  /* Command line configuration */
> > diff --git a/include/configs/lx2160a_common.h
> > b/include/configs/lx2160a_common.h
> > index 0f1a621..c4bbe96 100644
> > --- a/include/configs/lx2160a_common.h
> > +++ b/include/configs/lx2160a_common.h
> > @@ -102,7 +102,7 @@
> >   * 512MB aligned, so the min size to hide is 512MB.
> >   */
> >  #ifdef CONFIG_FSL_MC_ENET
> > -#define CONFIG_SYS_LS_MC_DRAM_BLOCK_MIN_SIZE	(512UL * 1024
> *
> > 1024)
> > +#define CONFIG_SYS_LS_MC_DRAM_BLOCK_MIN_SIZE	(256UL * 1024
> *
> > 1024)
> >  #endif
> >
> >  /* I2C bus multiplexer */
> > --
> > 1.9.1
> >
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flis
> > ts.de
> > nx.de%2Flistinfo%2Fu-
> > boot&data=02%7C01%7CAshish.Kumar%40nxp.com%7C47b95d2e68d34
> > 362e1cc08d696ead9c9%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0
> > %7C636862332767130806&sdata=nqugF6OMxgjPXOW5kpQemHRWAgo
> > zVGwMndpxztNqDgE%3D&reserved=0


More information about the U-Boot mailing list