Message ID | 1300435803-4940-2-git-send-email-rogan@dawes.za.net |
---|---|
State | Accepted |
Delegated to: | Prafulla Wadaskar |
Headers | show |
> -----Original Message----- > From: u-boot-bounces@lists.denx.de [mailto:u-boot-bounces@lists.denx.de] > On Behalf Of rogan@dawes.za.net > Sent: Friday, March 18, 2011 1:40 PM > To: u-boot@lists.denx.de > Subject: [U-Boot] [PATCH 1/7] Orion5x: Correct DRAM bank detection > Some more explanation about the patch may find help full. Please have a practice to provide some detailed comments. > From: Rogan Dawes <rogan@dawes.za.net> > > --- > arch/arm/cpu/arm926ejs/orion5x/dram.c | 2 +- > arch/arm/include/asm/arch-orion5x/orion5x.h | 1 + > 2 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/cpu/arm926ejs/orion5x/dram.c > b/arch/arm/cpu/arm926ejs/orion5x/dram.c > index b749282..2ae8f48 100644 > --- a/arch/arm/cpu/arm926ejs/orion5x/dram.c > +++ b/arch/arm/cpu/arm926ejs/orion5x/dram.c > @@ -38,7 +38,7 @@ u32 orion5x_sdram_bar(enum memory_bank bank) > { > struct orion5x_ddr_addr_decode_registers *winregs = > (struct orion5x_ddr_addr_decode_registers *) > - ORION5X_CPU_WIN_BASE; > + ORION5X_DRAM_BASE; Any explanation about previous definition was wrong? Does struct orion5x_ddr_addr_decode_registers still valid for this change? Regards.. Prafulla . .
On 2011/03/18 12:52 PM, Prafulla Wadaskar wrote: > > >> -----Original Message----- >> From: u-boot-bounces@lists.denx.de [mailto:u-boot-bounces@lists.denx.de] >> On Behalf Of rogan@dawes.za.net >> Sent: Friday, March 18, 2011 1:40 PM >> To: u-boot@lists.denx.de >> Subject: [U-Boot] [PATCH 1/7] Orion5x: Correct DRAM bank detection >> > > Some more explanation about the patch may find help full. > Please have a practice to provide some detailed comments. Hi Prafulla, My apologies. The register which was being read was the wrong register entirely. For the common case where there was just one bank, it coincidentally returned the right answer anyway (0), but if we tried to detect multiple banks, the rest were totally wrong. There is a parallel patch from Michael Spang, which does basically the same thing. See message-id: AANLkTinpqD97sYeLQKiGnB05PtJHUFUBh=T+Nx1+THau@mail.gmail.com Regards, Rogan
> -----Original Message----- > From: u-boot-bounces@lists.denx.de [mailto:u-boot-bounces@lists.denx.de] > On Behalf Of rogan@dawes.za.net > Sent: Friday, March 18, 2011 1:40 PM > To: u-boot@lists.denx.de > Subject: [U-Boot] [PATCH 1/7] Orion5x: Correct DRAM bank detection > > From: Rogan Dawes <rogan@dawes.za.net> > > --- > arch/arm/cpu/arm926ejs/orion5x/dram.c | 2 +- > arch/arm/include/asm/arch-orion5x/orion5x.h | 1 + > 2 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/cpu/arm926ejs/orion5x/dram.c > b/arch/arm/cpu/arm926ejs/orion5x/dram.c > index b749282..2ae8f48 100644 > --- a/arch/arm/cpu/arm926ejs/orion5x/dram.c > +++ b/arch/arm/cpu/arm926ejs/orion5x/dram.c > @@ -38,7 +38,7 @@ u32 orion5x_sdram_bar(enum memory_bank bank) > { > struct orion5x_ddr_addr_decode_registers *winregs = > (struct orion5x_ddr_addr_decode_registers *) > - ORION5X_CPU_WIN_BASE; > + ORION5X_DRAM_BASE; > > u32 result = 0; > u32 enable = 0x01 & winregs[bank].size; > diff --git a/arch/arm/include/asm/arch-orion5x/orion5x.h > b/arch/arm/include/asm/arch-orion5x/orion5x.h > index e3d3f76..1dd9f65 100644 > --- a/arch/arm/include/asm/arch-orion5x/orion5x.h > +++ b/arch/arm/include/asm/arch-orion5x/orion5x.h > @@ -42,6 +42,7 @@ > #define ORION5X_REGISTER(x) (ORION5X_REGS_PHY_BASE + x) > > /* Documented registers */ > +#define ORION5X_DRAM_BASE (ORION5X_REGISTER(0x01500)) > #define ORION5X_TWSI_BASE (ORION5X_REGISTER(0x11000)) > #define ORION5X_UART0_BASE (ORION5X_REGISTER(0x12000)) > #define ORION5X_UART1_BASE (ORION5X_REGISTER(0x12100)) > -- > 1.7.1 Applied to u-boot-marvell.git master branch Regards.. Prafulla . .
diff --git a/arch/arm/cpu/arm926ejs/orion5x/dram.c b/arch/arm/cpu/arm926ejs/orion5x/dram.c index b749282..2ae8f48 100644 --- a/arch/arm/cpu/arm926ejs/orion5x/dram.c +++ b/arch/arm/cpu/arm926ejs/orion5x/dram.c @@ -38,7 +38,7 @@ u32 orion5x_sdram_bar(enum memory_bank bank) { struct orion5x_ddr_addr_decode_registers *winregs = (struct orion5x_ddr_addr_decode_registers *) - ORION5X_CPU_WIN_BASE; + ORION5X_DRAM_BASE; u32 result = 0; u32 enable = 0x01 & winregs[bank].size; diff --git a/arch/arm/include/asm/arch-orion5x/orion5x.h b/arch/arm/include/asm/arch-orion5x/orion5x.h index e3d3f76..1dd9f65 100644 --- a/arch/arm/include/asm/arch-orion5x/orion5x.h +++ b/arch/arm/include/asm/arch-orion5x/orion5x.h @@ -42,6 +42,7 @@ #define ORION5X_REGISTER(x) (ORION5X_REGS_PHY_BASE + x) /* Documented registers */ +#define ORION5X_DRAM_BASE (ORION5X_REGISTER(0x01500)) #define ORION5X_TWSI_BASE (ORION5X_REGISTER(0x11000)) #define ORION5X_UART0_BASE (ORION5X_REGISTER(0x12000)) #define ORION5X_UART1_BASE (ORION5X_REGISTER(0x12100))
From: Rogan Dawes <rogan@dawes.za.net> --- arch/arm/cpu/arm926ejs/orion5x/dram.c | 2 +- arch/arm/include/asm/arch-orion5x/orion5x.h | 1 + 2 files changed, 2 insertions(+), 1 deletions(-)