u-boot-brain/cpu
Adam Graham 075d0b81e8 ppc4xx: IBM Memory Controller DDR autocalibration routines
Alternate SDRAM DDR autocalibration routine that can be generically used
for any PPC4xx chips that have the IBM SDRAM Controller core allowing for
support of more DIMM/memory chip vendors and gets the DDR autocalibration
values which give the best read latency performance (SDRAM0_RDCC.[RDSS]).

Two alternate SDRAM DDR autocalibration algoritm are provided in this patch,
"Method_A" and "Method_B".  DDR autocalibration Method_A scans the full range
of possible PPC4xx  SDRAM Controller DDR autocalibration values and takes a
lot longer to run than Method_B.  Method_B executes in the same amount of time
as the currently existing DDR autocalibration routine, i.e. 1 second or so.
Normally Method_B is used and it is set as the default method.

The current U-Boot PPC4xx DDR autocalibration code calibrates the IBM SDRAM
Controller registers.[bit-field]:
1)  SDRAM0_RQDC.[RQFD]
2)  SDRAM0_RFDC.[RFFD]

This alternate PPC4xx DDR autocalibration code calibrates the following
IBM SDRAM Controller registers.[bit-field]:

1)  SDRAM0_WRDTR.[WDTR]
2)  SDRAM0_CLKTR.[CKTR]
3)  SDRAM0_RQDC.[RQFD]
4)  SDRAM0_RFDC.[RFFD]

and will also use the calibrated settings of the above four registers that
produce the best "Read Sample Cycle Select" value in the SDRAM0_RDCC.[RDSS]
register.[bit-field].

Signed-off-by: Adam Graham <agraham@amcc.com>
Signed-off-by: Stefan Roese <sr@denx.de>
2008-09-05 12:03:44 +02:00
..
74xx_7xx fdt: rework fdt_fixup_ethernet() to use env instead of bd_t 2008-08-21 02:07:43 +02:00
arm_intcm Big white-space cleanup. 2008-05-21 00:14:08 +02:00
arm720t Big white-space cleanup. 2008-05-21 00:14:08 +02:00
arm920t Merge branch 'master' of git://git.denx.de/u-boot-nand-flash 2008-08-14 11:26:22 +02:00
arm925t Big white-space cleanup. 2008-05-21 00:14:08 +02:00
arm926ejs Moved initialization of Ethernet controllers on Atmel AT91 to board_eth_init() 2008-09-02 21:18:16 -07:00
arm946es Big white-space cleanup. 2008-05-21 00:14:08 +02:00
arm1136 MX31: fix bit masks in function mx31_decode_pll() 2008-08-25 21:47:01 +02:00
arm1176 USB: Add support for OHCI controller on S3C6400 2008-08-31 00:39:46 +02:00
at32ap Add support for the hammerhead (AVR32) board 2008-07-30 10:06:11 +02:00
blackfin Big white-space cleanup. 2008-05-21 00:14:08 +02:00
i386 cpu/i386/serial.c: Fix syntax errors 2008-07-14 21:19:08 +02:00
ixp Fix some more printf() format issues. 2008-07-13 23:07:35 +02:00
leon2 Introduce netdev.h header file and remove externs 2008-09-02 21:18:16 -07:00
leon3 Introduce netdev.h header file and remove externs 2008-09-02 21:18:16 -07:00
lh7a40x Big white-space cleanup. 2008-05-21 00:14:08 +02:00
mcf52x2 Introduce netdev.h header file and remove externs 2008-09-02 21:18:16 -07:00
mcf523x Introduce netdev.h header file and remove externs 2008-09-02 21:18:16 -07:00
mcf532x Introduce netdev.h header file and remove externs 2008-09-02 21:18:16 -07:00
mcf547x_8x Introduce netdev.h header file and remove externs 2008-09-02 21:18:16 -07:00
mcf5227x ColdFire: I2C fix for multiple platforms 2008-08-28 09:16:54 -06:00
mcf5445x Introduce netdev.h header file and remove externs 2008-09-02 21:18:16 -07:00
microblaze Fix merge problems 2008-08-06 14:05:38 +02:00
mips Fix merge problems 2008-08-06 14:05:38 +02:00
mpc5xx Big white-space cleanup. 2008-05-21 00:14:08 +02:00
mpc5xxx Moved initialization of MPC5xxx_FEC Ethernet driver to CPU directory 2008-09-02 21:18:18 -07:00
mpc8xx fdt: rework fdt_fixup_ethernet() to use env instead of bd_t 2008-08-21 02:07:43 +02:00
mpc8xxx/ddr FSL DDR: Add DDR2 DIMM paramter support 2008-08-27 02:06:00 +02:00
mpc83xx Merge branch 'master' of git://git.denx.de/u-boot-mpc83xx 2008-09-03 23:44:18 +02:00
mpc85xx Pass in tsec_info struct through tsec_initialize 2008-09-02 21:18:15 -07:00
mpc86xx Pass in tsec_info struct through tsec_initialize 2008-09-02 21:18:15 -07:00
mpc512x Moved initialization of MPC512x_FEC Ethernet driver to CPU directory 2008-09-02 21:18:17 -07:00
mpc824x Big white-space cleanup. 2008-05-21 00:14:08 +02:00
mpc8220 Big white-space cleanup. 2008-05-21 00:14:08 +02:00
mpc8260 fdt: rework fdt_fixup_ethernet() to use env instead of bd_t 2008-08-21 02:07:43 +02:00
nios SPI API improvements 2008-06-03 20:28:50 +02:00
nios2 Fix merge problems 2008-08-06 14:05:38 +02:00
ppc4xx ppc4xx: IBM Memory Controller DDR autocalibration routines 2008-09-05 12:03:44 +02:00
pxa Fix merge problems 2008-08-06 14:05:38 +02:00
s3c44b0 Big white-space cleanup. 2008-05-21 00:14:08 +02:00
sa1100 Big white-space cleanup. 2008-05-21 00:14:08 +02:00
sh2 sh: Add support SH2/SH2A which is CPU of Renesas Technology 2008-08-31 22:48:33 +09:00
sh3 sh: Fix SH-boards compile error 2008-07-08 12:03:24 +09:00
sh4 sh: Fix SH-boards compile error 2008-07-08 12:03:24 +09:00