Motorola Sandpoint X3, a bit about the ppc reference platform

The Sandpoint is a reference platform designed by Motorola to help people develop hardware and software around various PowerPC processors. The basic system is an ATX form-factor motherboard with standard PC devices (IDE, floppy, serial, parallel), 4 PCI slots, and a mezzanine slot to which several different processor modules may be attached.

The Sandpoint evaluation system demonstrates the capabilities of Freescale PowerPC™ processors and the Tundra Tsi107™ PowerPC Host Bridge. The Sandpoint Evaluation System is the ideal platform for software development and debug, as well as for hardware development.

The Sandpoint evaluation system provides an example that can be used in designing other systems based on implementations of the PowerPC instruction set architecture, and a platform for developing and debugging software for these processors and associated bridge chips.

The motherboard inside the Sandpoint evaluation system is an ATX form factor with PCI Mezzanine (PMC) connectors that accepts a processor module. The processor module options are listed below. Links to the processor module web pages can be found under Evaluation/Development Boards and Systems on this page.

Features

One MPPMC slot for a processor board (PrPMC compatible with PCI arbitration extensions)

Four 32-bit/5V PCI slots

PMC and PCI slots auto-sense/auto-select 33 or 66 MHz operation

Two standard 16650-compatible ESD-protected serial ports

IEEE 1284 parallel port

Floppy disk port

Two ATA33 bus-master IDE ports

PS/2 mouse and keyboard connectors

8K NVRAM/BBRAM

Real-Time Clock

Switch-selectable operating modes

Advanced Power Controller ("soft on/off")

LED monitors for critical functions

About the ppc7410 head sink

to replace unscrew the 2 parts, slide the head sink onto the part so the rails catch under the chip Tighten a little

firmware

DINK32

DINK32 was developed as an internal Motorola PowerPC tool to help debug silicon as well as code. It runs on a variety of boards including the Yellowknife, Sandpoint, Excimer and Maximer. DINK32 has the full complement of commands. DINK32 supports all of the currently available PowerPC microprocessors including the 603, 603e, 604 family, the integrated processor, 8200 the 8240, the 7xx family and the 7400. DINK32 is a great source for example code when initializing the MPC105, MPC106, MPC107 memory controllers/bridge chips. DINK32 source code also includes sample code for the MPC8240 subsystems, DMA, EPIC, I2C, and I2O.

What I would suggest is that instead of using the ethernet card support,
you use the serial support still. DINK32 r13.0.0 and newer support
115200 baud, so loading a kernel via serial is now much less painful
than it used to be.

uboot/ppcboot

is it supported about sandpoint ?

This is an actively developed ROM monitor and Linux boot loader ideal for custom boards, derived from 8xxROM and FADSROM. It includes support for BOOTP, RARP and TFTP image downloading and booting.

PPCForth

PPCForth is a minimalist version of the FORTH language (for the PowerPC [tm]) which may be used as a test environment for boards, a bootloader, or even (shudder) a developement environment. I use it to boot my 403GCX board as well as loading C programs and other experiments. FORTH is particularly well suited for interactive testing as it is interpreted and as such may be extended on-the-fly. PPCForth is also rather small, weighing in at under 30K of code for everything, and under 10K for a bare-bones bootloader.

Currently PPCForth has only been ported to 403-based boards, but I am looking at supporting the 8xx series as well, as soon as I can get some actual hardware to try it on (donations anyone?).

linux

platform support ???

is there support for 2.6 kernels ? only 2.4 ???

what is supported and what is not ???

proof

> DINK32 12.2 does not correctly initalize the memory controller on-board.
> DINK32 12.3 claims to do this correctly, but in some testing locally it
> still did not get everything correct.

Could you be more specific as to what is missing?

> There's a chance that PPCBoot does get this right, however. But I'm no
> PPCBoot expert.

I don't know about the 74xx support in PPCBoot, but PPCBoot sets up
the 107 in a MCP8245 on a Sandpoint X3 well-enough to boot linux.
PPCboot does not, however, configure more than one 'bank' on the
SO-DIMM socket, and does not (currently) read the SPDs, if only for
the lack of proper I2C support (at least for the 824x).

YMMV.

My question is how have_of got set:

arch/ppc/mm/init.c:

if (!have_of)
FREESEC(openfirmware);

Otherwise...

On the whole "'reset/reboot' the system" thread, I'm interested in
similar solutions for the 824x, since I'm having highly similar
problems on reboot. :-)

Interestingly, the 'gorom' solution works fine for me, as long as my
root filesystem is not jffs2, then only if / is mounted 'rw'.

On the DINK32 12.2 side it blindly sets some parts up for 64mb total
regardless of the ammount of memory. I think there's other things as
well, but Mark Greer would know better..

For DINK32 12.3 the first problem I've hit is that I can't seem to
convince it to setup the SPD bits on the memory for the 64mb total that seems
to be on the board, only 128mb. Using DINK32 12.2 and 12.3 to try and
get all of that done 'correctly' still had things blowing up when I
tried to use 64mb. But I've been busy tracking down other issues at
the moment..

I dunno guys, I think the compiler usually optimizes that all away and you
should never see "openfirmware". I don't recall ever seeing it print out. I
think something fishy is going on...

> > > > Hello All,
> > > > I try to connect all my 64 Meg memoty on
> > > > Sandpoint-X3B,
> > > > but received a crash( with 32M all OK).
> > > > Source:
> > > > SP-X3B + Altimus MPC7410
> > > > HHL 2.0
> > > > Any ideas??
> > >
> > > DINK32 12.2 does not correctly initalize the memory controller on-board.
> > > DINK32 12.3 claims to do this correctly, but in some testing locally it
> > > still did not get everything correct.
> >
> > Could you be more specific as to what is missing?
>
> On the DINK32 12.2 side it blindly sets some parts up for 64mb total
> regardless of the ammount of memory. I think there's other things as
> well, but Mark Greer would know better..

I only have 12.2 here and it initializes the wrong amount which will cause a
panic if you rely on the getting the amount of memory from how the memory ctlr
regs are set up.

The last time I really looked at what DINK was doing to the mem ctlr was back on
12.0 so my info is stale now. Sounds like Tom has the most current, detailed
info on what DINK does. Chances are, Sergiy, is that you'll have to roll up
your sleeves and dig into it.

Unsupported devices

Supported boot devices

Currently, the only way to boot the system is with the DINK32 ROM monitor's serial download or a JTAG device.

Installing

Booting the installer

Once the kernel is downloaded (s-rec ascii or binary), type "go 90000" to start the kernel.

Example of a normal boot

DINK32 currently only supports loading images through the S-record download command ("dl"). To speed up the process, the baud rate should generally be set to 38.400 baud

DINK32>> sb -k 38400
DINK32>> dl -k 38400 -o 90000

In addition, DINK32 supports a binary download feature which is about 150% faster again. To use this facility, srectobin could translate s-record to binary.

DINK32>> dl -k -b -o 90000

Of course, a lot of the information in this example depends on your model and what your boot method is, but we'll include this anyways just so you get an idea of what to expect (user-typed commands are in bold).