All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] MPC8313 DDR2 configuration
@ 2012-02-07 16:52 Scott Larson
  2012-02-08  4:45 ` Paul Gortmaker
  0 siblings, 1 reply; 3+ messages in thread
From: Scott Larson @ 2012-02-07 16:52 UTC (permalink / raw)
  To: u-boot

Hi,

Looking for help on DDR2 configuration in u-boot.

 

I have the MPC8313ERDB from Freescale. It has 128Mbytes of DDR2 ram. The
existing 128MByte that uses only CS0.

 

I have a new board design to bring up.

The timing parameters are all ok but I need some guidance on changing the
settings to suit my memory configuration.

 

My board has 512Mbytes on CS0 and 512Mbytes on CS1.

Changes need to be made to files MPC8313ERDB.h and sdram.c

 

I have made all the row and column size and block address pin settings ok. I
have set DDR size to 512Mbytes (per Chip Select).

 

I need some guidance on the setting for CS1 bank of ram.

 

thanks

Scott

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] MPC8313 DDR2 configuration
  2012-02-07 16:52 [U-Boot] MPC8313 DDR2 configuration Scott Larson
@ 2012-02-08  4:45 ` Paul Gortmaker
  2012-02-08 10:15   ` Scott Larson
  0 siblings, 1 reply; 3+ messages in thread
From: Paul Gortmaker @ 2012-02-08  4:45 UTC (permalink / raw)
  To: u-boot

On Tue, Feb 7, 2012 at 11:52 AM, Scott Larson <slarson@a2etech.com> wrote:
> Hi,
>
> Looking for help on DDR2 configuration in u-boot.
>
>
>
> I have the MPC8313ERDB from Freescale. It has 128Mbytes of DDR2 ram. The
> existing 128MByte that uses only CS0.
>
>
>
> I have a new board design to bring up.
>
> The timing parameters are all ok but I need some guidance on changing the
> settings to suit my memory configuration.
>
>
>
> My board has 512Mbytes on CS0 and 512Mbytes on CS1.
>
> Changes need to be made to files MPC8313ERDB.h and sdram.c

SODIMM with SPD?  Autoconfig with CONFIG_SPD_EEPROM is
nice compared to hard coding values, if you can use it.  I'm pretty
sure it works fine on sbc8349 board.

>
>
>
> I have made all the row and column size and block address pin settings ok. I
> have set DDR size to 512Mbytes (per Chip Select).
>
>
>
> I need some guidance on the setting for CS1 bank of ram.

Have you created the CONFIG_SYS_BR1_PRELIM and the
CONFIG_SYS_OR1_PRELIM defines in your board header?

If you copied these from a reference platform, they may still
be populated with settings appropriate for flash up at the top
of memory instead of DDR2 settings for your 2nd bank...

P.

>
>
>
> thanks
>
> Scott
>
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] MPC8313 DDR2 configuration
  2012-02-08  4:45 ` Paul Gortmaker
@ 2012-02-08 10:15   ` Scott Larson
  0 siblings, 0 replies; 3+ messages in thread
From: Scott Larson @ 2012-02-08 10:15 UTC (permalink / raw)
  To: u-boot

Hi Paul,
Thanks for the reply. I am very new to the 32bit world.

Currently I am using the files for the MPC8313ERDB as a basis.
I have altered srdam.c and my version of MPC8313ERDB.h to reflect my new
DDR2 layout. I have 4 ICs, 2 on each CS.

The settings you mentioned below are..
#define CONFIG_SYS_BR1_PRELIM CONFIG_SYS_NAND_BR_PRELIM
#define CONFIG_SYS_OR1_PRELIM CONFIG_SYS_NAND_OR_PRELIM
.. in my version of MPC8313ERDB.h file.
I believe these are referring to the eLocalBus base addresses for Local Bus
Chip Selects?

My DDR2 ram is using the MPC8313 DDR memory controller and I have added.....

#define CONFIG_SYS_DDR_CS1_CONFIG	(CSCONFIG_EN \
				| CSCONFIG_ODT_RD_ONLY_CURRENT \
				| CSCONFIG_ODT_WR_ONLY_CURRENT \
				| CSCONFIG_BANK_BIT_3 \
				| CSCONFIG_ROW_BIT_14 \
				| CSCONFIG_COL_BIT_10)
				/* 0x80114202 */
.... to my version of the MPC8313ERDB.h file.

And, I have altered sdram.c to look like this...

	/* Local address Window for DDR CS0 */
	im->sysconf.ddrlaw[0].bar = CONFIG_SYS_DDR_SDRAM_BASE & 0xfffff000;
	im->sysconf.ddrlaw[0].ar = LBLAWAR_EN | (msize_log2 - 1);

	/* Local address Window for DDR CS1 */
	im->sysconf.ddrlaw[1].bar = (CONFIG_SYS_DDR_SDRAM_BASE + msize) &
0xfffff000;
	im->sysconf.ddrlaw[1].ar = LBLAWAR_EN | (msize_log2 - 1);
	
	im->sysconf.ddrcdr = CONFIG_SYS_DDRCDR_VALUE;

	/*
	 * Erratum DDR3 requires a 50ms delay after clearing
DDRCDR[DDR_cfg],
	 * or the DDR2 controller may fail to initialize correctly.
	 */
	__udelay(50000);

#if ((CONFIG_SYS_DDR_SDRAM_BASE & 0x00FFFFFF) != 0)
#warning Chip select bounds is only configurable in 16MB increments
#endif
	/* Set CS bounds for CS0 */
	im->ddr.csbnds[0].csbnds =
		((CONFIG_SYS_DDR_SDRAM_BASE >> CSBNDS_SA_SHIFT) & CSBNDS_SA)
|
		(((CONFIG_SYS_DDR_SDRAM_BASE + msize - 1) >>
CSBNDS_EA_SHIFT) &
			CSBNDS_EA);
	
	/* Set CS bounds for CS1 */	
	im->ddr.csbnds[1].csbnds =
		(((CONFIG_SYS_DDR_SDRAM_BASE + msize) >> CSBNDS_SA_SHIFT) &
CSBNDS_SA) |
		(((CONFIG_SYS_DDR_SDRAM_BASE + (2*msize) - 1) >>
CSBNDS_EA_SHIFT) &
			CSBNDS_EA);
			
	/* Enable bank 0. */
	im->ddr.cs_config[0] = CONFIG_SYS_DDR_CS0_CONFIG;

	/* Enable bank 1. */
	im->ddr.cs_config[1] =  CONFIG_SYS_DDR_CS1_CONFIG;

My hardware has not been delivered yet so I can't test the modifications!

So I don't know if they might work?!

Best Regards,
Scott


-----Original Message-----
From: paul.gortmaker@gmail.com [mailto:paul.gortmaker at gmail.com] On Behalf
Of Paul Gortmaker
Sent: 08 February 2012 04:46
To: Scott Larson
Cc: u-boot at lists.denx.de
Subject: Re: [U-Boot] MPC8313 DDR2 configuration

On Tue, Feb 7, 2012 at 11:52 AM, Scott Larson <slarson@a2etech.com> wrote:
> Hi,
>
> Looking for help on DDR2 configuration in u-boot.
>
>
>
> I have the MPC8313ERDB from Freescale. It has 128Mbytes of DDR2 ram. 
> The existing 128MByte that uses only CS0.
>
>
>
> I have a new board design to bring up.
>
> The timing parameters are all ok but I need some guidance on changing 
> the settings to suit my memory configuration.
>
>
>
> My board has 512Mbytes on CS0 and 512Mbytes on CS1.
>
> Changes need to be made to files MPC8313ERDB.h and sdram.c

SODIMM with SPD?  Autoconfig with CONFIG_SPD_EEPROM is nice compared to hard
coding values, if you can use it.  I'm pretty sure it works fine on sbc8349
board.

>
>
>
> I have made all the row and column size and block address pin settings 
> ok. I have set DDR size to 512Mbytes (per Chip Select).
>
>
>
> I need some guidance on the setting for CS1 bank of ram.

Have you created the CONFIG_SYS_BR1_PRELIM and the CONFIG_SYS_OR1_PRELIM
defines in your board header?

If you copied these from a reference platform, they may still be populated
with settings appropriate for flash up at the top of memory instead of DDR2
settings for your 2nd bank...

P.

>
>
>
> thanks
>
> Scott
>
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-02-08 10:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-07 16:52 [U-Boot] MPC8313 DDR2 configuration Scott Larson
2012-02-08  4:45 ` Paul Gortmaker
2012-02-08 10:15   ` Scott Larson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.