[U-Boot] u-boot on beagleboard finds incorrect memory size.

wilsonjonathan piercing_male at hotmail.com
Fri Jan 27 16:29:56 CET 2012


On Fri, 2012-01-27 at 08:09 -0700, Tom Rini wrote:
> On Fri, Jan 27, 2012 at 8:05 AM, Robert Nelson <robertcnelson at gmail.com> wrote:
> > On Thu, Jan 26, 2012 at 5:21 PM, Tom Rini <tom.rini at gmail.com> wrote:
> >> On Thu, Jan 26, 2012 at 12:35 PM, wilsonjonathan
> >> <piercing_male at hotmail.com> wrote:
> >>> On Thu, 2012-01-26 at 12:28 -0700, Tom Rini wrote:
> >>>> On Thu, Jan 26, 2012 at 12:14 PM, wilsonjonathan
> >>>> <piercing_male at hotmail.com> wrote:
> >>>> > On Thu, 2012-01-26 at 10:08 -0700, Tom Rini wrote:
> >>>> >> On Wed, Jan 25, 2012 at 1:06 PM, wilsonjonathan
> >>>> >> <piercing_male at hotmail.com> wrote:
> >>>> >> > The u-boot loader is showing an incorrect size in the memory, and
> >>>> >> > passing the invalid information to the kernel.
> >>>> >>
> >>>> >> What revision of the board do you have?  Is this a 'classic' rev C4?  Thanks.
> >>>> >>
> >>>> > As far as I'm aware yes, standard C4 from digikey.
> >>>> >
> >>>> > I've done a little more searching, and found that adding #define DEBUG
> >>>> > to /arc/arm/lib/board.c brings up more detailed info.
> >>>>
> >>>> I will re-confirm with mine then.  Previous versions of U-Boot/MLO
> >>>> report how much memory, 512MB?
> >>>>
> >>>
> >>> I don't have an older version to hand, but according to the specs it
> >>> should be 256MB using a 2Gb MDDR SDRAM and I seem to recall it did
> >>> display that.
> >>
> >> OK, thanks.  Does the following fix it for you?
> >>
> >> diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
> >> index 5c04b34..1efdbb0 100644
> >> --- a/board/ti/beagle/beagle.c
> >> +++ b/board/ti/beagle/beagle.c
> >> @@ -161,7 +161,7 @@ void get_board_mem_timings(u32 *mcfg, u32 *ctrla,
> >> u32 *ctrlb, u32 *rfr_ctrl,
> >>        case REVISION_C4:
> >>                if (pop_mfr == NAND_MFR_STMICRO && pop_id == 0xba) {
> >>                        /* 512MB DDR */
> >> -                       *mcfg = NUMONYX_V_MCFG_165(512 << 20);
> >> +                       *mcfg = NUMONYX_V_MCFG_165(256 << 20);
> >>                        *ctrla = NUMONYX_V_ACTIMA_165;
> >>                        *ctrlb = NUMONYX_V_ACTIMB_165;
> >>                        *rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_165MHz;
> >>
> >
> > Hi Tom,
> >
> > No change on my c4:
> 
> OK, can you throw in some printfs to see which of the cases in that
> function your C4 is hitting?  Thanks!
> 

Hi. The text is wrong as well according to the Circuitco site.

I'm afraid I don't know diff but the code should say.


> 	case REVISION_C4:
> 		if (pop_mfr == NAND_MFR_STMICRO && pop_id == 0xba) {
> 			/* Beagleboard rev C5 ST-micro POP 512MB NAND */
> 			*mcfg = NUMONYX_V_MCFG_165(512 << 20);
> 			*ctrla = NUMONYX_V_ACTIMA_165;
> 			*ctrlb = NUMONYX_V_ACTIMB_165;
> 			*rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_165MHz;
> 			break;
> 		} else if (pop_mfr == NAND_MFR_MICRON && pop_id == 0xbc) {
> 			/* Beagleboard rev C4 micron POP, 256MB NAND */
> 			*mcfg = MICRON_V_MCFG_200(256 << 20);
> 			*ctrla = MICRON_V_ACTIMA_200;
> 			*ctrlb = MICRON_V_ACTIMB_200;
> 			*rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_200MHz;
> 			break;





More information about the U-Boot mailing list