Motorola PPC/PMC-8260/DS1 Reference Manual page 96

Table of Contents

Advertisement

Code Examples
Resetting the PPC/PMC-8260/DS1
4 - 32
#define PBREADB(off,val)
#define PBWRITEB(off,val) *(volatile char*)(memBase+off) = val
/* Reset/start PMC8260 */
void pmc8260_reset_control (
char *csrBase,
int reset
)
{
UINT32
dummy;
if (!reset)
{
/* Deassert PowerQuicc-II reset by clearing mailbox
* 0 interrupt */
RWRITE(PSPAN_ISR0, PSPAN_INT_MBOX0);
return;
}
/* Set PowerQuicc-II reset by asserting local interrupt 5
*/
/* map mailbox 0 to LINT 5 */
RREAD(PSPAN_IMR_MBOX, dummy);
dummy = (dummy & ~PSPAN_IMR_MBOX0) |
(PSPAN_INT_INT5 << PSPAN_IMR_MBOX0_S);
RWRITE (PSPAN_IMR_MBOX, dummy);
/* Enable mailbox 0 interrupt */
RREAD(PSPAN_IER0, dummy);
RWRITE(PSPAN_IER0, PSPAN_INT_MBOX0);
/* Access mailbox 0 to assert interrupt/RESET */
RWRITE(PSPAN_MBOX(0), 0);
/* wait one second */
sleep (1);
}
NOLONGSWAP(val)
val = (*(volatile char*)(memBase+off));
/* CSR Base address */
/* 0 = clear reset, 1 = assert reset */
Firmware
PPC/PMC-8260/DS1

Advertisement

Table of Contents
loading

Table of Contents