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

2019-02-26 Thread Meenakshi Aggarwal


> -Original Message-
> From: Ashish Kumar
> Sent: Tuesday, February 26, 2019 12:08 PM
> To: Meenakshi Aggarwal ; u-
> b...@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  On Behalf Of Meenakshi
> > Aggarwal
> > Sent: Wednesday, February 20, 2019 3:36 PM
> > To: u-boot@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 
> > ---
> >  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(_ccsr_regs->reg_mcfbalr, reg_mcfbalr);
> > out_le32(_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..7c1

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

2019-02-25 Thread Ashish Kumar

> -Original Message-
> From: U-Boot  On Behalf Of Meenakshi
> Aggarwal
> Sent: Wednesday, February 20, 2019 3:36 PM
> To: u-boot@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

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 
> ---
>  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(_ccsr_regs->reg_mcfbalr, reg_mcfbalr);
>   out_le32(_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,

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

2019-02-19 Thread Meenakshi Aggarwal
ls2088, ls1088 : minimum DDR size for MC is 128 MB
lx2 : minimum DDR size for MC is 256 MB

Signed-off-by: Meenakshi Aggarwal 
---
 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(_ccsr_regs->reg_mcfbalr, reg_mcfbalr);
out_le32(_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@lists.denx.de
https://lists.denx.de/listinfo/u-boot