PMC-Sierra MIPS RM7000 Ocelot

Overview

RedBoot uses the front facing serial port. The default serial port settings are 38400,8,N,1. RedBoot also supports ethernet. Management of onboard flash is also supported. Two basic RedBoot configurations are supported:

Initial Installation Method

Device programmer is used to program socketed flash parts.

Flash Management

Updating the primary RedBoot image

To update the primary RedBoot images, follow the procedures detailed in the Section called Update the primary RedBoot flash image in Chapter 4, loading the primary image into RAM at 0x80100000. The actual numbers used with the flags in the sample commands are then:
-f 0xbfc00000
-b 0x80100000
-l 0x20000

Additional commands

The exec command which allows the loading and execution of Linux kernels, is supported for this architecture (see the Section called Executing Programs from RedBoot in Chapter 2). The exec parameters used for MIPS boards are:

-b <addr>

Location to store command line and environment passed to kernel

-w <time>

Wait time in seconds before starting kernel

-c "params"

Parameters passed to kernel

<addr>

Kernel entry point, defaulting to the entry point of the last image loaded

Linux kernels on MIPS platforms expect the entry point to be called with arguments in the registers equivalent to a C call with prototype:
void Linux(int argc, char **argv, char **envp);

RedBoot will place the appropriate data at the offset specified by the -b parameter, or by default at address 0x80080000, and will set the arguments accordingly when calling into the kernel.

The default entry point, if no image with explicit entry point has been loaded and none is specified, is 0x80000750.

Memory Maps

RedBoot sets up the following memory map on the Ocelot board.

Note that these addresses are accessed through kseg0/1 and thus translate to the actual address range 0x80000000-0xbfffffff, depending on the need for caching/non-caching access to the bus.

Physical Address Range Description
----------------------- -----------
0x00000000 - 0x0fffffff SDRAM
0x10000000 - 0x10ffffff PCI I/O space
0x12000000 - 0x13ffffff PCI Memory space
0x14000000 - 0x1400ffff Galileo system controller
0x1c000000 - 0x1c0000ff PLD (board logic)
0x1fc00000 - 0x1fc7ffff flash

Resource Usage

The flash based RedBoot image occupies flash addresses 0x1fc00000 - 0x1fc1ffff. RedBoot also reserves RAM (0x00000000 - 0x0001ffff) for RedBoot runtime uses.

RAM based RedBoot configurations are designed to run from RAM at physical addresses 0x00020000 - 0x0003ffff. RAM physical addresses from 0x00040000 to the end of RAM are available for general use, such as a temporary scratchpad for downloaded images, before they are written to flash.

Rebuilding RedBoot

The instructions in Chapter 3 should be followed. The values for TARGET, ARCH_DIR and PLATFORM_DIR on this platform are “ocelot”, “mips” and “rm7000/ocelot” respectively. Note that the configuration export files supplied in the hal/mips/rm7000/ocelot/VERSION/misc directory in the RedBoot source tree should be used.