summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPoonam Aggrwal <poonam.aggrwal@freescale.com>2009-10-07 15:47:44 -0400
committerJustin Waters <justin.waters@timesys.com>2009-10-07 15:47:44 -0400
commit7fd9bbc747fdfd038281d9d3d080c8b484b425cd (patch)
treefe07e9e193ee66cc3c7cb7cb8f016c4adc0bf55c
parent1a6d07ce17bdb34df21d0acb711424b3063322d3 (diff)
u-boot-2009.03-p2020rdb-DDR-data-width-from-SVR
DDR data width getting detected dynamically based on SVR value. Would be helpful to cater more than one similar platforms with a single u-boot image. (for example, P1020(32 bit DDR), P2020(64 bit DDR)) Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
-rw-r--r--cpu/mpc85xx/cpu.c54
-rw-r--r--include/asm-ppc/processor.h5
2 files changed, 30 insertions, 29 deletions
diff --git a/cpu/mpc85xx/cpu.c b/cpu/mpc85xx/cpu.c
index d176fd7956..177e35856b 100644
--- a/cpu/mpc85xx/cpu.c
+++ b/cpu/mpc85xx/cpu.c
@@ -38,33 +38,33 @@
DECLARE_GLOBAL_DATA_PTR;
struct cpu_type cpu_type_list [] = {
- CPU_TYPE_ENTRY(8533, 8533, 1),
- CPU_TYPE_ENTRY(8533, 8533_E, 1),
- CPU_TYPE_ENTRY(8536, 8536, 1),
- CPU_TYPE_ENTRY(8536, 8536_E, 1),
- CPU_TYPE_ENTRY(8540, 8540, 1),
- CPU_TYPE_ENTRY(8541, 8541, 1),
- CPU_TYPE_ENTRY(8541, 8541_E, 1),
- CPU_TYPE_ENTRY(8543, 8543, 1),
- CPU_TYPE_ENTRY(8543, 8543_E, 1),
- CPU_TYPE_ENTRY(8544, 8544, 1),
- CPU_TYPE_ENTRY(8544, 8544_E, 1),
- CPU_TYPE_ENTRY(8545, 8545, 1),
- CPU_TYPE_ENTRY(8545, 8545_E, 1),
- CPU_TYPE_ENTRY(8547, 8547_E, 1),
- CPU_TYPE_ENTRY(8548, 8548, 1),
- CPU_TYPE_ENTRY(8548, 8548_E, 1),
- CPU_TYPE_ENTRY(8555, 8555, 1),
- CPU_TYPE_ENTRY(8555, 8555_E, 1),
- CPU_TYPE_ENTRY(8560, 8560, 1),
- CPU_TYPE_ENTRY(8567, 8567, 1),
- CPU_TYPE_ENTRY(8567, 8567_E, 1),
- CPU_TYPE_ENTRY(8568, 8568, 1),
- CPU_TYPE_ENTRY(8568, 8568_E, 1),
- CPU_TYPE_ENTRY(8572, 8572, 2),
- CPU_TYPE_ENTRY(8572, 8572_E, 2),
- CPU_TYPE_ENTRY(P2020, P2020, 2),
- CPU_TYPE_ENTRY(P2020, P2020_E, 2),
+ CPU_TYPE_ENTRY(8533, 8533, 1, 64),
+ CPU_TYPE_ENTRY(8533, 8533_E, 1, 64),
+ CPU_TYPE_ENTRY(8536, 8536, 1, 64),
+ CPU_TYPE_ENTRY(8536, 8536_E, 1, 64),
+ CPU_TYPE_ENTRY(8540, 8540, 1, 64),
+ CPU_TYPE_ENTRY(8541, 8541, 1, 64),
+ CPU_TYPE_ENTRY(8541, 8541_E, 1, 64),
+ CPU_TYPE_ENTRY(8543, 8543, 1, 64),
+ CPU_TYPE_ENTRY(8543, 8543_E, 1, 64),
+ CPU_TYPE_ENTRY(8544, 8544, 1, 64),
+ CPU_TYPE_ENTRY(8544, 8544_E, 1, 64),
+ CPU_TYPE_ENTRY(8545, 8545, 1, 64),
+ CPU_TYPE_ENTRY(8545, 8545_E, 1, 64),
+ CPU_TYPE_ENTRY(8547, 8547_E, 1, 64),
+ CPU_TYPE_ENTRY(8548, 8548, 1, 64),
+ CPU_TYPE_ENTRY(8548, 8548_E, 1, 64),
+ CPU_TYPE_ENTRY(8555, 8555, 1, 64),
+ CPU_TYPE_ENTRY(8555, 8555_E, 1, 64),
+ CPU_TYPE_ENTRY(8560, 8560, 1, 64),
+ CPU_TYPE_ENTRY(8567, 8567, 1, 64),
+ CPU_TYPE_ENTRY(8567, 8567_E, 1, 64),
+ CPU_TYPE_ENTRY(8568, 8568, 1, 64),
+ CPU_TYPE_ENTRY(8568, 8568_E, 1, 64),
+ CPU_TYPE_ENTRY(8572, 8572, 2, 64),
+ CPU_TYPE_ENTRY(8572, 8572_E, 2, 64),
+ CPU_TYPE_ENTRY(P2020, P2020, 2, 64),
+ CPU_TYPE_ENTRY(P2020, P2020_E, 2, 64),
};
struct cpu_type *identify_cpu(u32 ver)
diff --git a/include/asm-ppc/processor.h b/include/asm-ppc/processor.h
index 9fd60e84d0..062d42d899 100644
--- a/include/asm-ppc/processor.h
+++ b/include/asm-ppc/processor.h
@@ -1014,13 +1014,14 @@ struct cpu_type {
char name[15];
u32 soc_ver;
u32 num_cores;
+ u32 ddr_data_width;
};
struct cpu_type *identify_cpu(u32 ver);
#if defined(CONFIG_MPC85xx)
-#define CPU_TYPE_ENTRY(n, v, nc) \
- { .name = #n, .soc_ver = SVR_##v, .num_cores = (nc), }
+#define CPU_TYPE_ENTRY(n, v, nc, dw) \
+ { .name = #n, .soc_ver = SVR_##v, .num_cores = (nc), .ddr_data_width = (dw), }
#else
#if defined(CONFIG_MPC83XX)
#define CPU_TYPE_ENTRY(x) {#x, SPR_##x}