summaryrefslogtreecommitdiff
path: root/include/asm-ppc
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2009-10-04 22:56:08 +0200
committerWolfgang Denk <wd@denx.de>2009-10-08 00:23:12 +0200
commitda01f53404f99db185d196867af79371725d4683 (patch)
tree0cdf0d758bb985df06aa8c9c8adb493c38ee2da5 /include/asm-ppc
parentdbcc357166bed20df13450e93a501f30b197efd1 (diff)
mpc512x: fix fixed_sdram() init code.
Commit 054197ba and later fixes used an array to initialize some of the MDDRC parameters; however, the use of an array turned out to be a bad idea as it was not possible to correlate structure entries to array indices in readable and reliable way. Now we use a struct instead, which makes this self-explanatory. Signed-off-by: Wolfgang Denk <wd@denx.de>
Diffstat (limited to 'include/asm-ppc')
-rw-r--r--include/asm-ppc/immap_512x.h10
-rw-r--r--include/asm-ppc/mpc512x.h3
2 files changed, 12 insertions, 1 deletions
diff --git a/include/asm-ppc/immap_512x.h b/include/asm-ppc/immap_512x.h
index 79cdd8029..bdc6ff284 100644
--- a/include/asm-ppc/immap_512x.h
+++ b/include/asm-ppc/immap_512x.h
@@ -347,6 +347,16 @@ typedef struct ddr512x {
#define MDDRC_REFRESH_ZERO_MASK 0x0000FFFF
/*
+ * DDR Memory Controller Configuration settings
+ */
+typedef struct ddr512x_config {
+ u32 ddr_sys_config; /* System Configuration Register */
+ u32 ddr_time_config0; /* Timing Configuration Register */
+ u32 ddr_time_config1; /* Timing Configuration Register */
+ u32 ddr_time_config2; /* Timing Configuration Register */
+} ddr512x_config_t;
+
+/*
* DMA/Messaging Unit
*/
typedef struct dma512x {
diff --git a/include/asm-ppc/mpc512x.h b/include/asm-ppc/mpc512x.h
index 8ef0d9ca6..960e22929 100644
--- a/include/asm-ppc/mpc512x.h
+++ b/include/asm-ppc/mpc512x.h
@@ -50,7 +50,8 @@ static inline void sync_law(volatile void *addr)
/*
* Prototypes
*/
-extern long int fixed_sdram(u32 *mddrc_config, u32 *dram_init_seq, int seq_sz);
+extern long int fixed_sdram(ddr512x_config_t *mddrc_config,
+ u32 *dram_init_seq, int seq_sz);
extern int mpc5121_diu_init(void);
extern void ide_set_reset(int idereset);