diff mbox

[U-Boot,v3,1/4] kirkwood: use c-struct for access to SDRAM addr decode registers

Message ID 1342787667-30073-1-git-send-email-holger.brunck@keymile.com
State Accepted
Delegated to: Prafulla Wadaskar
Headers show

Commit Message

Holger Brunck July 20, 2012, 12:34 p.m. UTC
Remove the defines and do this with a C-struct.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
cc: Prafulla Wadaskar <prafulla@marvell.com>
cc: Valentin Longchamp <valentin.longchamp@keymile.com>
cc: Gerlando Falauto <gerlando.falauto@keymile.com>
cc: Marek Vasut <marex@denx.de>
---
changes for v3:
  - new patch as requested on the ML

 arch/arm/cpu/arm926ejs/kirkwood/dram.c |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

Comments

Prafulla Wadaskar July 20, 2012, 1:48 p.m. UTC | #1
> -----Original Message-----
> From: Holger Brunck [mailto:holger.brunck@keymile.com]
> Sent: 20 July 2012 18:04
> To: u-boot@lists.denx.de
> Cc: Holger Brunck; Prafulla Wadaskar; Valentin Longchamp; Gerlando
> Falauto; Marek Vasut
> Subject: [PATCH v3 1/4] kirkwood: use c-struct for access to SDRAM
> addr decode registers
> 
> Remove the defines and do this with a C-struct.
> 
> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
> cc: Prafulla Wadaskar <prafulla@marvell.com>
> cc: Valentin Longchamp <valentin.longchamp@keymile.com>
> cc: Gerlando Falauto <gerlando.falauto@keymile.com>
> cc: Marek Vasut <marex@denx.de>
> ---
> changes for v3:
>   - new patch as requested on the ML
> 
>  arch/arm/cpu/arm926ejs/kirkwood/dram.c |   23 +++++++++++++++++------
>  1 files changed, 17 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm/cpu/arm926ejs/kirkwood/dram.c
> b/arch/arm/cpu/arm926ejs/kirkwood/dram.c
> index 181b3e7..1c5faab 100644
> --- a/arch/arm/cpu/arm926ejs/kirkwood/dram.c
> +++ b/arch/arm/cpu/arm926ejs/kirkwood/dram.c
> @@ -30,20 +30,29 @@
> 
>  DECLARE_GLOBAL_DATA_PTR;
> 
> -#define KW_REG_CPUCS_WIN_BAR(x)		(KW_REGISTER(0x1500) + (x *
> 0x08))
> -#define KW_REG_CPUCS_WIN_SZ(x)		(KW_REGISTER(0x1504) + (x *
> 0x08))
> +struct kw_sdram_bank {
> +	u32	win_bar;
> +	u32	win_sz;
> +};
> +
> +struct kw_sdram_addr_dec {
> +	struct kw_sdram_bank	sdram_bank[4];
> +};
> +
>  /*
>   * kw_sdram_bar - reads SDRAM Base Address Register
>   */
>  u32 kw_sdram_bar(enum memory_bank bank)
>  {
> +	struct kw_sdram_addr_dec *base =
> +		(struct kw_sdram_addr_dec *)KW_REGISTER(0x1500);
>  	u32 result = 0;
> -	u32 enable = 0x01 & readl(KW_REG_CPUCS_WIN_SZ(bank));
> +	u32 enable = 0x01 & readl(&base->sdram_bank[bank].win_sz);
> 
>  	if ((!enable) || (bank > BANK3))
>  		return 0;
> 
> -	result = readl(KW_REG_CPUCS_WIN_BAR(bank));
> +	result = readl(&base->sdram_bank[bank].win_bar);
>  	return result;
>  }
> 
> @@ -52,12 +61,14 @@ u32 kw_sdram_bar(enum memory_bank bank)
>   */
>  u32 kw_sdram_bs(enum memory_bank bank)
>  {
> +	struct kw_sdram_addr_dec *base =
> +		(struct kw_sdram_addr_dec *)KW_REGISTER(0x1500);
>  	u32 result = 0;
> -	u32 enable = 0x01 & readl(KW_REG_CPUCS_WIN_SZ(bank));
> +	u32 enable = 0x01 & readl(&base->sdram_bank[bank].win_sz);
> 
>  	if ((!enable) || (bank > BANK3))
>  		return 0;
> -	result = 0xff000000 & readl(KW_REG_CPUCS_WIN_SZ(bank));
> +	result = 0xff000000 & readl(&base->sdram_bank[bank].win_sz);
>  	result += 0x01000000;
>  	return result;
>  }

Hi Holger

First of all, many thanks for this initiative.
Acked-By: Prafulla Wadaskar <Prafulla@marvell.com>

Regards...
Prafulla . . .
Holger Brunck Sept. 6, 2012, 8:58 a.m. UTC | #2
Hi Prafulla,

On 07/20/2012 02:34 PM, Holger Brunck wrote:
> Remove the defines and do this with a C-struct.
> 
> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
> cc: Prafulla Wadaskar <prafulla@marvell.com>
> cc: Valentin Longchamp <valentin.longchamp@keymile.com>
> cc: Gerlando Falauto <gerlando.falauto@keymile.com>
> cc: Marek Vasut <marex@denx.de>
> ---
> changes for v3:
>   - new patch as requested on the ML
> 
>  arch/arm/cpu/arm926ejs/kirkwood/dram.c |   23 +++++++++++++++++------
>  1 files changed, 17 insertions(+), 6 deletions(-)
> 

I saw your pull request for the mavell git branch. This patch serie is not
included in your branch but already reviewed and acked. Did you miss this serie?

Regards
Holger
Marek Vasut Sept. 6, 2012, 9:18 a.m. UTC | #3
Dear Holger Brunck,

> Hi Prafulla,
> 
> On 07/20/2012 02:34 PM, Holger Brunck wrote:
> > Remove the defines and do this with a C-struct.
> > 
> > Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
> > cc: Prafulla Wadaskar <prafulla@marvell.com>
> > cc: Valentin Longchamp <valentin.longchamp@keymile.com>
> > cc: Gerlando Falauto <gerlando.falauto@keymile.com>
> > cc: Marek Vasut <marex@denx.de>
> > ---
> > 
> > changes for v3:
> >   - new patch as requested on the ML
> >  
> >  arch/arm/cpu/arm926ejs/kirkwood/dram.c |   23 +++++++++++++++++------
> >  1 files changed, 17 insertions(+), 6 deletions(-)
> 
> I saw your pull request for the mavell git branch. This patch serie is not
> included in your branch but already reviewed and acked. Did you miss this
> serie?

I assigned it to PW in PW ( :-D ) and bumped his email.

> Regards
> Holger

Best regards,
Marek Vasut
Prafulla Wadaskar Sept. 7, 2012, 6:50 p.m. UTC | #4
> -----Original Message-----
> From: Holger Brunck [mailto:holger.brunck@keymile.com]
> Sent: 20 July 2012 05:34
> To: u-boot@lists.denx.de
> Cc: Holger Brunck; Prafulla Wadaskar; Valentin Longchamp; Gerlando
> Falauto; Marek Vasut
> Subject: [PATCH v3 1/4] kirkwood: use c-struct for access to SDRAM
> addr decode registers
> 
> Remove the defines and do this with a C-struct.
> 
> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
> cc: Prafulla Wadaskar <prafulla@marvell.com>
> cc: Valentin Longchamp <valentin.longchamp@keymile.com>
> cc: Gerlando Falauto <gerlando.falauto@keymile.com>
> cc: Marek Vasut <marex@denx.de>
> ---
> changes for v3:
>   - new patch as requested on the ML
> 
>  arch/arm/cpu/arm926ejs/kirkwood/dram.c |   23 +++++++++++++++++------
>  1 files changed, 17 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm/cpu/arm926ejs/kirkwood/dram.c
> b/arch/arm/cpu/arm926ejs/kirkwood/dram.c
> index 181b3e7..1c5faab 100644
> --- a/arch/arm/cpu/arm926ejs/kirkwood/dram.c
> +++ b/arch/arm/cpu/arm926ejs/kirkwood/dram.c
> @@ -30,20 +30,29 @@
> 
>  DECLARE_GLOBAL_DATA_PTR;
> 
> -#define KW_REG_CPUCS_WIN_BAR(x)		(KW_REGISTER(0x1500) + (x *
> 0x08))
> -#define KW_REG_CPUCS_WIN_SZ(x)		(KW_REGISTER(0x1504) + (x *
> 0x08))
> +struct kw_sdram_bank {
> +	u32	win_bar;
> +	u32	win_sz;
> +};
> +
> +struct kw_sdram_addr_dec {
> +	struct kw_sdram_bank	sdram_bank[4];
> +};
> +
>  /*
>   * kw_sdram_bar - reads SDRAM Base Address Register
>   */
>  u32 kw_sdram_bar(enum memory_bank bank)
>  {
> +	struct kw_sdram_addr_dec *base =
> +		(struct kw_sdram_addr_dec *)KW_REGISTER(0x1500);
>  	u32 result = 0;
> -	u32 enable = 0x01 & readl(KW_REG_CPUCS_WIN_SZ(bank));
> +	u32 enable = 0x01 & readl(&base->sdram_bank[bank].win_sz);
> 
>  	if ((!enable) || (bank > BANK3))
>  		return 0;
> 
> -	result = readl(KW_REG_CPUCS_WIN_BAR(bank));
> +	result = readl(&base->sdram_bank[bank].win_bar);
>  	return result;
>  }
> 
> @@ -52,12 +61,14 @@ u32 kw_sdram_bar(enum memory_bank bank)
>   */
>  u32 kw_sdram_bs(enum memory_bank bank)
>  {
> +	struct kw_sdram_addr_dec *base =
> +		(struct kw_sdram_addr_dec *)KW_REGISTER(0x1500);
>  	u32 result = 0;
> -	u32 enable = 0x01 & readl(KW_REG_CPUCS_WIN_SZ(bank));
> +	u32 enable = 0x01 & readl(&base->sdram_bank[bank].win_sz);
> 
>  	if ((!enable) || (bank > BANK3))
>  		return 0;
> -	result = 0xff000000 & readl(KW_REG_CPUCS_WIN_SZ(bank));
> +	result = 0xff000000 & readl(&base->sdram_bank[bank].win_sz);
>  	result += 0x01000000;
>  	return result;
>  }
> --
> 1.7.1


Applied to u-boot-marvell.git master branch

Regards...
Prafulla . . .
diff mbox

Patch

diff --git a/arch/arm/cpu/arm926ejs/kirkwood/dram.c b/arch/arm/cpu/arm926ejs/kirkwood/dram.c
index 181b3e7..1c5faab 100644
--- a/arch/arm/cpu/arm926ejs/kirkwood/dram.c
+++ b/arch/arm/cpu/arm926ejs/kirkwood/dram.c
@@ -30,20 +30,29 @@ 
 
 DECLARE_GLOBAL_DATA_PTR;
 
-#define KW_REG_CPUCS_WIN_BAR(x)		(KW_REGISTER(0x1500) + (x * 0x08))
-#define KW_REG_CPUCS_WIN_SZ(x)		(KW_REGISTER(0x1504) + (x * 0x08))
+struct kw_sdram_bank {
+	u32	win_bar;
+	u32	win_sz;
+};
+
+struct kw_sdram_addr_dec {
+	struct kw_sdram_bank	sdram_bank[4];
+};
+
 /*
  * kw_sdram_bar - reads SDRAM Base Address Register
  */
 u32 kw_sdram_bar(enum memory_bank bank)
 {
+	struct kw_sdram_addr_dec *base =
+		(struct kw_sdram_addr_dec *)KW_REGISTER(0x1500);
 	u32 result = 0;
-	u32 enable = 0x01 & readl(KW_REG_CPUCS_WIN_SZ(bank));
+	u32 enable = 0x01 & readl(&base->sdram_bank[bank].win_sz);
 
 	if ((!enable) || (bank > BANK3))
 		return 0;
 
-	result = readl(KW_REG_CPUCS_WIN_BAR(bank));
+	result = readl(&base->sdram_bank[bank].win_bar);
 	return result;
 }
 
@@ -52,12 +61,14 @@  u32 kw_sdram_bar(enum memory_bank bank)
  */
 u32 kw_sdram_bs(enum memory_bank bank)
 {
+	struct kw_sdram_addr_dec *base =
+		(struct kw_sdram_addr_dec *)KW_REGISTER(0x1500);
 	u32 result = 0;
-	u32 enable = 0x01 & readl(KW_REG_CPUCS_WIN_SZ(bank));
+	u32 enable = 0x01 & readl(&base->sdram_bank[bank].win_sz);
 
 	if ((!enable) || (bank > BANK3))
 		return 0;
-	result = 0xff000000 & readl(KW_REG_CPUCS_WIN_SZ(bank));
+	result = 0xff000000 & readl(&base->sdram_bank[bank].win_sz);
 	result += 0x01000000;
 	return result;
 }