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