The kernel already includes device drivers for the on-chip serial and ethernet ports.
For helpful MPC8xx-specific device driver examples, see http://lists.linuxppc.org/listarcs/linuxppc-embedded/200001/msg00221.html
A flash driver will give you access to devices, which are useful during
development and for field upgrades and are ideal for storing fixed size
persistent configuration data like your board's Ethernet MAC address.
This is true for drivers supporting a number of vendors' devices.
The flash driver does auto-erase when the length of data written per
is exactly the corresponding erase block size. So usually you
just need to do:
lseek(specific erase region)
write(data, region size)
QSLinux contains a fully functioning FLASH driver, and an interface
to the Ext2FS filesystem, with compression.
subsystem offers a more general solution which allows you to
treat the flash as a regular block device on which you can mount a
filesystem. It's ideal for large amounts of variable sized data or
applications requiring a traditional writable filesystem, provided by
However, some work is required to get the MTD
to run on PowerPC
it does not yet support big endian.
This is supported via the MemoryTechnologyDevice
For a PCMCIA
There are also some fairly detailed notes available at
For generic Linux PCMCIA
info, see http://pcmcia.sourceforge.org/ftp/doc/PCMCIA-PROG.html
There are lots of options for connecting IDE drives. You need to at
. Search for
Also, see http://www.bluebutton.com/proj/mbxlinux/
Using the on-chip watchdog to provide the basic "write kicked" /dev/watchdog
described in Documentation/watchdog.txt
is problematic, because the SYPCR register controlling it
can only be written once after reset to both set the timeout and enable the
watchdog. Once enabled, the boot loader and kernel must keep it from expiring
up until the point where the user application opens /dev/watchdog
. Littering the generic
kernel decompress and startup codes with watchdog kicks to do this isn't
acceptable to other Linux users. Hence, hardware watchdog support hasn't
been implemented yet.
The general plan to solve this problem is described in
You can probably use Linux's software watchdog in the meantime.
These devices can be made to operate as a USB host or slave. Search for
Also see the Programming Guide for Linux USB Device Drivers at http://usb.in.tum.de/usbdoc/
Use something that "frames" the data and the SI/TDM interface works really
sweet. Take a look at the CS4218 audio codec driver for the Embedded Planet
boards. It's floating around in the 2.2.13 kernels on the MontaVista?
Numerous VME boardvendors
offer Linux support through software
partners such as
Some older patches and tarballs to use Linux on VME boards and simplify the
access to the VME bus are available at ftp://vlab1.iram.es/pub/linux-vme/
Provides support for the HDLC protocol, running the PPP layer in order to
transport IP packets across a synchronous serial link.
This driver is an interface for the SPI
controller in MPC8xx.
The driver is written to work with the microcode patches to correct the
parameter RAM problems. The driver supports basic init, open, close, read,
and write functions.
is a software package that comprises an implementation of SVR4-compatible
STREAMS for Linux in the form of a loadable kernel module.
A patch to port it to MPC8xx based Embedded PowerPC
systems is available at