Code Examples
Firmware
4 - 38
PPC/PMC-8260/DS1
Starting Code Execution
/* Start code execution on target. This terminates the Primary
* Booter.
*/
void pmc8260_exec (
char *memBase, /* PCI window address */
UINT32 execAdrs /* execution target address */
)
{
printf (“starting code execution at 60x-Bus address 0x%08x\n”,
execAdrs);
PBWRITEL(PB_HDR_ADRS, execAdrs);
strcpy(PBSYNC, “.go!”);
}
Reading POST Results
/* Read and check POST results.
* Returns 1 on success, 0 on failure.
*/
int pmc8260_post_get (
char *memBase, /* PCI window address */
UINT32 *postArray /* POST result codes */
)
{
int i;
UINT32 chksum;
if (!pmc8260_rdwr(memBase, 0, postArray, 0x30, 0xf000b800))
return 0;
for (i = 0; i < 12; i++)
postArray[i] = NOLONGSWAP(postArray[i]);
chksum = postArray[0];
for (i = 2; i < 12; i++)
= postArray[i];
if ((chksum != postArray[1]) || (postArray[0] == 0))
{
printf (“POST checksum error\n”);
return 0;
}
printf (“Framer 1: %s [0x%08x]\n”,
(postArray[0] & (1<<4)) ? “pass”:”fail”,
postArray[5]);
printf (“Framer 2: %s [0x%08x]\n”,
Summary of Contents for PPC/PMC-8260/DS1
Page 1: ...PPC PMC 8260 DS1 Reference Guide P N 6806800B10A July 2006 ...
Page 8: ...viii PPC PMC 8260 DS1 ...
Page 22: ...xxii PPC PMC 8260 DS1 ...
Page 26: ...xxvi PPC PMC 8260 DS1 ...
Page 30: ...xxx PPC PMC 8260 DS1 ...
Page 31: ...1 Introduction ...
Page 32: ......
Page 39: ...2 Installation ...
Page 40: ......
Page 53: ...3 Indicators and Connectors ...
Page 54: ......
Page 64: ...On Board Connectors Indicators and Connectors 3 12 PPC PMC 8260 DS1 ...
Page 65: ...4 Firmware ...
Page 66: ......
Page 104: ...Code Examples Firmware 4 40 PPC PMC 8260 DS1 ...
Page 105: ...5 Memory Map and Devices ...
Page 106: ......
Page 132: ...Resetting the Devices Memory Map and Devices 5 28 PPC PMC 8260 DS1 ...
Page 133: ...6 TDM Channel Configuration ...
Page 134: ......
Page 145: ...A Troubleshooting ...
Page 146: ......
Page 148: ...A 4 PPC PMC 8260 DS1 ...
Page 150: ...I 2 PPC PMC 8260 DS1 ...