Execute Reset via CheckStop approach
Govindan
govindan at india.tejasnetworks.com
Wed Jul 24 15:19:39 EST 2002
Here is something we found working:
-Govindan
#include <asm/8xx_immap.h>
#include <asm/mpc8xx.h>
#define IMAP_ADDR ((uint)0xff000000) /* Internal memory map
address for our board. */
#define PLPRCR_CSR 0x00000080 /* CheskStop Reset value */
int csreset (void)
{
unsigned int msr,addr;
((volatile immap_t *)IMAP_ADDR)->im_clkrst.car_plprcr |= PLPRCR_CSR;
/* Interrupts and MMU off */
asm("mtspr 81,0");
asm("mfmsr %0": "=r"(msr));
msr &= ~0x1030;
asm ("mtmsr %0" : /* no output */ : "r" (msr));
addr = 0x10000000; // This should be a non-accessible memory
location.
((void (*)(void ))addr)();
return 0;
}
-----Original Message-----
From: owner-linuxppc-embedded at lists.linuxppc.org
[mailto:owner-linuxppc-embedded at lists.linuxppc.org]On Behalf Of Steven
Vacca
Sent: Tuesday, July 23, 2002 7:16 PM
To: LinuxEmbeddedMailList (E-mail); govindan at tejasnetworks.com
Subject: Execute Reset via CheckStop approach
I would like to execute an Internal Hard Reset on an MPC860T
bd. using the Checkstop Reset approach.
Does anyone have some code that I could utilize to implement
this?
Thanks,
ShutEye Thinkin
Valcom, Inc.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list