RIORED PPC
© June 2000, SILICON FRUIT / Rodolphe Czuba / Thierry Schembri
Please, try to not print on paper this page - Save the planet !
ARCHITECTURE
OVERVIEW
By offering high performance, the RIORED motherboard provides an easy, cost-effective solution for companies developing high-performance products with LINUX and other operating systems running with Power PC microprocessors familly.
RIORED motherboard is designed to use standard PC components such as synchronous DRAM (SDRAM) DIMMs and PCI 32/64-Bits option cards.
The RIORED offers four PCI 32-Bits/33MHz and two PCI 64-Bits/66MHz slots, one AGP slot, two IDE ports (Ultra-DMA 66), four USB ports, and four PC-100 SDRAM DIMMs providing access to up to 1 gigabytes of high bandwidth interleaved memory. The mainboard contains the IBM CPC710 chipset (north bridge) and the AMD VIPER chipset (south Bridge).
The CPC710 interfaces to the CPUs, main memory, FLASH memory and the AGP and PCI buses.
The VIPER interfaces to the IDE & USB ports, the RTC, Timers and INTerrupts engine, and the Power Management system.
The CPU is not on the mainboard, but on a daughterboard by a SLOT1 type connector. RIORED has two of these connectors. One or two daughtercards may be used for uni-processor or dual-processor (SMP) configurations.
In the early version of RIORED, each daughtercard contains a 550 MHz PowerPC G3cx microprocessor 'SideWinder' from IBM. In the next versions, the clock frequency of the G3cx may be increased up to 700 MHz.
HARDWARE FEATURES
- RIORED mainboard supports one or two CPU daughtercards. Each daughtercard contains one PowerPC G3cx microprocessor operating at a speed of 550 MHz.
- 64MB to 1GB memory by four interleaved sockets (used 2 by 2) consisting of 64 or 72-Bits (ECC) unbuffered SDRAM 168pins DIMMs.
- Memory speed support of 100MHz (PC-100) for up to 800 MBytes/s.
- 512KB of FLASH memory for the BIOS and SETUP.
- Four 33MHz PCI-32 (32-Bits) slots with BURST transfers at 133 MBytes/s.
- Two 66MHz/3.3V PCI-64 (64-Bits) slots with BURST transfers at 528 MBytes/s.
- AGP (3.3V) bus support with onboard DMA capabilities.
- PCI IDE for four devices (Ultra-DMA 66).
- PCI USB for four onboard ports (1.5 & 12Mbits/s).
- I2C port to pilot a front panel LCD to show the system information.
- I2C port for geeks.
- Time-of-year clock & NVRAM (256Bytes) with 3V lithium battery.
- Interrupt management with clear distribution (not shared int lines).
- Power management with wake up capability from USB events (keyboard / modem) and PCI cards (Ethernet).
- Ambiant thermical sensor.
The hardware is explained in the Riored Open Hardware Book (ROHB).
SOFTWARE FEATURES
THE BIOS
The BIOS is a program located on a Flash-ROM chip on the mainboard. It can be updated only by a special program. This program is also referred to as the boot program. Its main function is to manage the setup of the mainboard and interface cards parameters, incuding simple parameters such as time, date, hard disk drive, as well as more complex parameters such as hardware synchronisation or device operating mode.
Bios working steps
When you start the computer, it is controlled by the BIOS program. The BIOS first operates an auto-diagnostic for all the necessary hardware, configurates the parameters of the hardware synchronisation, and detects all the hardware. Only when these tasks are completed does it give up control of the computer to the program of the next level, which is the Operating System.
Here are the startup steps :
- Initialisation of the chips (cpu(s), bridges) & PCI bus.
- Quick memory test (check only what and how much memory is onboard)
- Installation of the I2C driver to handle the LCD screen
- Install PS/2 Keyboard & mouse drivers (only on prototypes, keyboard & mouse will use USB ports in the production series)
- Get information from the PCI cards
- Video card(s) initialisations & Display Logo (on each screen)
- Test memory
- Install IDE / SCSI driver & get hard disk info
- Install NE2000 driver
- Display info & Setup menu & play a welcome sound
- Install system calls (to be used eventually by an operating system)
- Load MBR from boot disk to memory / Boot from network
- Execute MBR program
Main features
- Supports Intel PCI 2.1 specification
- Supports APM specification
- Boots from ATA / ATAPI / SCSI (can boot from hard disk, CDROM compatible with EL-Torito standard, ZIP or flash RAM)
- Boots from NE2000 PCI ethernet card with bootp
- Graphical setup program (use graphic mode & mouse)
- Displays information on I2C LCD screen
Basic drivers
The BIOS installs low level functions to allow operating systems to communicate with hardware. We want to specify that these functions are really generic and are not optimised for special hardware (for example, video functions use only low resolution VGA modes, and don't use any built-in accelerator or special high resolution modes). These functions are only used for test purpose, they should'nt be used in an operating system. Operating System should use its own device drivers and don't call these low level functions. Moreover, these functions are located in the 8bit flash rom, and call to these function are really slow.
Mechanism to call these functions is explained in the Riored Open Software Book (ROSB).
Functions :
- Keyboard & Mouse drivers (PS/2 & USB)
- Disk driver (enumeration, info, format, read, write tracks)
- PCI functions (cards enumeration, search)
- Video driver (supports standard VGA graphic & text modes, change mode, display pixel or lines, display text (either in text or graphic modes))
- I2C driver (display info on the LCD screen)
- RTC functions (get / set date / time)
- APM functions (configure APM features)
- Soundcard driver (configure & play sound)
- Memory driver (get info about available memory)
- Network driver
We've thought about a cool and funny (and absolutely useless) feature : if there's no boot disk and no network card, the bios could run a small built-in basic language !
THE OPERATING SYSTEM
RIORED is intended to be used with PPC LINUX. We have contacts with software companies involved in the Linux world. However, virtually any operating system can be used on this hardware platform (QNX, FreeBSD, NetBSD, BeOS, or even AmigaOS and MinT !).
We want to help any people who wants to adapt an operating system on this computer.
MAINBOARD (Rev.1) SCHEMATIC VIEW
Download the Product Brief document :