From 1eac2a71417b6675b11aace72102a2e7fde8f5c6 Mon Sep 17 00:00:00 2001 From: Stefan Roese Date: Wed, 29 Nov 2006 15:42:37 +0100 Subject: [PATCH] Add support for Prodrive P3M750 & P3M7448 (P3Mx) boards This patch adds support for the Prodrive P3M750 (PPC750 & MV64460) and the P3M7448 (MPC7448 & MV64460) PMC modules. Both modules are quite similar and share the same board directory "prodrive/p3mx" and the same config file "p3mx.h". Signed-off-by: Stefan Roese --- cpu/74xx_7xx/cpu.c | 8 ++++++++ cpu/74xx_7xx/cpu_init.c | 1 + cpu/74xx_7xx/speed.c | 1 + cpu/74xx_7xx/start.S | 8 +++++--- 4 files changed, 15 insertions(+), 3 deletions(-) (limited to 'cpu/74xx_7xx') diff --git a/cpu/74xx_7xx/cpu.c b/cpu/74xx_7xx/cpu.c index ca45e17..d98831c 100644 --- a/cpu/74xx_7xx/cpu.c +++ b/cpu/74xx_7xx/cpu.c @@ -101,6 +101,10 @@ get_cpu_type(void) type = CPU_7457; break; + case 0x8004: + type = CPU_7448; + break; + default: break; } @@ -152,6 +156,10 @@ int checkcpu (void) str = "MPC7410"; break; + case CPU_7448: + str = "MPC7448"; + break; + case CPU_7450: str = "MPC7450"; break; diff --git a/cpu/74xx_7xx/cpu_init.c b/cpu/74xx_7xx/cpu_init.c index 93f180f..e02a4cc 100644 --- a/cpu/74xx_7xx/cpu_init.c +++ b/cpu/74xx_7xx/cpu_init.c @@ -43,6 +43,7 @@ cpu_init_f (void) case CPU_7450: case CPU_7455: case CPU_7457: + case CPU_7448: /* enable the timebase bit in HID0 */ set_hid0(get_hid0() | 0x4000000); break; diff --git a/cpu/74xx_7xx/speed.c b/cpu/74xx_7xx/speed.c index 2dc5107..d1800ed 100644 --- a/cpu/74xx_7xx/speed.c +++ b/cpu/74xx_7xx/speed.c @@ -91,6 +91,7 @@ int get_clocks (void) /* calculate the clock frequency based upon the CPU type */ switch (get_cpu_type()) { + case CPU_7448: case CPU_7455: case CPU_7457: /* diff --git a/cpu/74xx_7xx/start.S b/cpu/74xx_7xx/start.S index 1fc0fe6..1143038 100644 --- a/cpu/74xx_7xx/start.S +++ b/cpu/74xx_7xx/start.S @@ -44,7 +44,8 @@ #if !defined(CONFIG_DB64360) && \ !defined(CONFIG_DB64460) && \ - !defined(CONFIG_CPCI750) + !defined(CONFIG_CPCI750) && \ + !defined(CONFIG_P3Mx) #include #endif @@ -270,7 +271,7 @@ in_flash: * gt-regs BAT can be reused after board_init_f calls * board_early_init_f (EVB only). */ -#if !defined(CONFIG_BAB7xx) && !defined(CONFIG_ELPPC) +#if !defined(CONFIG_BAB7xx) && !defined(CONFIG_ELPPC) && !defined(CONFIG_P3Mx) /* enable address translation */ bl enable_addr_trans sync @@ -757,7 +758,8 @@ in_ram: defined(CONFIG_DB64360) || \ defined(CONFIG_DB64460) || \ defined(CONFIG_CPCI750) || \ - defined(CONFIG_PPMC7XX) + defined(CONFIG_PPMC7XX) || \ + defined(CONFIG_P3Mx) mr r4, r9 /* Use RAM copy of the global data */ #endif bl after_reloc -- cgit v1.1 From dd520bf314c7add4183c5191692180f576f96b60 Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Thu, 30 Nov 2006 18:02:20 +0100 Subject: Code cleanup. --- cpu/74xx_7xx/cpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cpu/74xx_7xx') diff --git a/cpu/74xx_7xx/cpu.c b/cpu/74xx_7xx/cpu.c index d98831c..f4e5fc5 100644 --- a/cpu/74xx_7xx/cpu.c +++ b/cpu/74xx_7xx/cpu.c @@ -229,7 +229,7 @@ soft_restart(unsigned long addr) void do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { - ulong addr; + ulong addr; /* flush and disable I/D cache */ __asm__ __volatile__ ("mfspr 3, 1008" ::: "r3"); __asm__ __volatile__ ("ori 5, 5, 0xcc00" ::: "r5"); -- cgit v1.1