summaryrefslogtreecommitdiffstats
path: root/cpu
diff options
context:
space:
mode:
authorWolfgang Denk <wd@atlas.denx.de>2006-03-18 23:31:12 +0100
committerWolfgang Denk <wd@atlas.denx.de>2006-03-18 23:31:12 +0100
commit7b4fd36b0322ec98836a8459d9be80e2777fdc05 (patch)
tree92deb9ddf1153c64ff1ced9392816e60b4ecaa03 /cpu
parent0a112d8696dcffdf87a7066e2dade1eacbdd80d9 (diff)
downloadbarebox-7b4fd36b0322ec98836a8459d9be80e2777fdc05.tar.gz
barebox-7b4fd36b0322ec98836a8459d9be80e2777fdc05.tar.xz
Add support for MPC859/866 Rev. A.0
Diffstat (limited to 'cpu')
-rw-r--r--cpu/mpc8xx/cpu.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/cpu/mpc8xx/cpu.c b/cpu/mpc8xx/cpu.c
index 4a32986a2e..c4a0cba13a 100644
--- a/cpu/mpc8xx/cpu.c
+++ b/cpu/mpc8xx/cpu.c
@@ -69,14 +69,15 @@ static int check_CPU (long clock, uint pvr, uint immr)
k = (immr << 16) | *((ushort *) & immap->im_cpm.cp_dparam[0xB0]);
m = 0;
+ suf = "";
/*
* Some boards use sockets so different CPUs can be used.
* We have to check chip version in run time.
*/
switch (k) {
- case 0x00020001: pre = 'P'; suf = ""; break;
- case 0x00030001: suf = ""; break;
+ case 0x00020001: pre = 'P'; break;
+ case 0x00030001: break;
case 0x00120003: suf = "A"; break;
case 0x00130003: suf = "A3"; break;
@@ -93,7 +94,11 @@ static int check_CPU (long clock, uint pvr, uint immr)
/* this value is not documented anywhere */
case 0x40000000: pre = 'P'; suf = "D"; m = 1; break;
/* MPC866P/MPC866T/MPC859T/MPC859DSL/MPC852T */
- case 0x08000003: pre = 'M'; suf = ""; m = 1;
+ case 0x08010004: /* Rev. A.0 */
+ suf = "A";
+ /* fall through */
+ case 0x08000003: /* Rev. 0.3 */
+ pre = 'M'; m = 1;
if (id_str == NULL)
id_str =
# if defined(CONFIG_MPC852T)