source: SVN/cambria/redboot/readme.txt @ 1

Last change on this file since 1 was 1, checked in by Tim Harvey, 3 years ago

restored latest version of files from server backup

Signed-off-by: Tim Harvey <tharvey@…>

File size: 9.0 KB
Line 
1RedBoot for Intel XScale KIXRP435, IXDP425, IXDPG425, GRG, and IXDP465 boards
2March 20, 2007
3
4README
5========================================================================
6
7This ReadMe contains instructions for running Redboot on the following
8Intel XScale based boards:
9
10  - KIXRP435
11
12  - IXDPG425
13
14  - IXDP425
15
16  - IXDP465
17
18  - GRG
19
20You will need the GNUPro xscale-elf toolchain which should be installed
21as per the GNUPro documentation.
22
23Overview
24--------
25These implementations of RedBoot support several configurations:
26
27  * RedBoot running from the board's FLASH boot sector.
28
29  * RedBoot booting from the board's FLASH boot sector, but copied
30    into RAM for main execution.
31
32  * RedBoot running from RAM with RedBoot in the FLASH boot sector.
33
34In addition, these platforms support configurations for little-endian
35or big-endian operation.
36
37Installing Initial RedBoot Image
38--------------------------------
39Initial installations of RedBoot require the use of a flash utility or device
40programmer as indicated by the board manufacturer. Please see appropriate
41documentation for details on initial flash programming. A set of prebuilt files
42are provided. This set corresponds to each of the supported configurations and
43includes ELF file (.elf), binary image (.bin), and S-record (.srec) files.
44
45* RedBoot on IXDP465
46
47  - Running in big-endian mode from the FLASH boot sector:
48
49  bin/ixdp465/redboot_ROM.bin
50  bin/ixdp465/redboot_ROM.elf
51  bin/ixdp465/redboot_ROM.srec
52
53  - Running in big-endian mode copied from the FLASH boot sector
54    to RAM:
55
56  bin/ixdp465/redboot_ROMRAM.bin
57  bin/ixdp465/redboot_ROMRAM.elf
58  bin/ixdp465/redboot_ROMRAM.srec
59
60  - Running in big-endian mode from RAM with big-endian RedBoot in the
61    FLASH boot sector:
62
63  bin/ixdp465/redboot_RAM.bin
64  bin/ixdp465/redboot_RAM.elf
65  bin/ixdp465/redboot_RAM.srec
66
67  - Running in little-endian mode from the FLASH boot sector:
68
69  bin/ixdp465/redboot_ROMLE.bin
70  bin/ixdp465/redboot_ROMLE.elf
71  bin/ixdp465/redboot_ROMLE.srec
72
73  - Running in little-endian mode from RAM with big-endian RedBoot in the
74    FLASH boot sector:
75
76  bin/ixdp465/redboot_ROMRAMLE.bin
77  bin/ixdp465/redboot_ROMRAMLE.elf
78  bin/ixdp465/redboot_ROMRAMLE.srec
79
80  - Running in little-endian mode from RAM with little-endian RedBoot in
81    the FLASH boot sector:
82
83  bin/ixdp465/redboot_RAMLE.bin
84  bin/ixdp465/redboot_RAMLE.elf
85  bin/ixdp465/redboot_RAMLE.srec
86
87The files for the other supported platforms are arranged similarly.
88
89Initial installations deal with the FLASH based RedBoots. Installation and
90use of RAM based RedBoots is documented in the RedBoot User Manual.
91
92After booting the initial installation of RedBoot, this warning may be
93printed:
94
95  FLASH configuration checksum error or invalid key
96
97This is normal and indicates that the FLASH must be configured for use by
98RedBoot. Even if the above message is not printed, it is a good idea to
99reinitialize the FLASH anyway. Do this with the fis command followed by
100the fconfig command:
101
102  RedBoot> fis init
103  About to initialize [format] FLASH image system - are you sure (y/n)? y
104  *** Initialize FLASH Image System
105      Warning: device contents not erased, some blocks may not be usable
106  ... Unlock from 0xf1fc0000-0xf2000000: .
107  ... Erase from 0xf1fc0000-0xf2000000: .
108  ... Program from 0x03fbf000-0x03fff000 at 0xf1fc0000: .
109  ... Lock from 0xf1fc0000-0xf2000000: .
110
111  RedBoot> fconfig -i
112  Initialize non-volatile configuration - continue (y/n)? y
113  Run script at boot: false
114  Use BOOTP for network configuration: true
115  Console baud rate: 115200
116  DNS server IP address:
117  GDB connection port: 9000
118  Force console for special debug messages: false
119  Network debug at boot time: false
120  Update RedBoot non-volatile configuration - continue (y/n)? y
121  ... Unlock from 0xf1f80000-0xf1f81000: .
122  ... Erase from 0xf1f80000-0xf1f81000: .
123  ... Program from 0x03fb2000-0x03fb3000 at 0xf1f80000: .
124  ... Lock from 0xf1f80000-0xf1f81000: .
125
126
127Endianess Issues
128----------------
129When starting a linux kernel which has different endianess than RedBoot,
130the -x switch must be used with the exec command.
131
132Prior releases of RedBoot also used a -x switch with the load command.
133This is no longer available. So, when loading a kernel with a different
134endianess, the swab command to byteswap the image before executing the
135image. For example, to load and launch a little-endian zImage using a
136big-endian RedBoot, use something like:
137
138  RedBoot> load -r -v -b 0x01100000 zImage-LE
139  Raw file loaded 0x01100000-0x011dacd3, assumed entry at 0x01100000
140  RedBoot> swab -b 0x01100000 -l 0x100000 -4
141  RedBoot> exec 0x01100000 -c "console=ttyS0,115200"
142
143
144NPE Ethernet Support
145--------------------
146This release supports two built-in NPE ethernet ports (NPE-B and NPE-C)
147on the IXP42X based boards, three NPE ports (NPE-A, NPE-B, and NPE-C)
148on the IXDP465, and two NPE ethernet ports (NPE-A and NPE-C) on the
149Intel(r) Next Generation of Network Processors (Code Name Hamoa)
150Reference Platform. The default ethernet port is the PCI based NIC.
151
152RedBoot allows you to set a preferred default ethernet port using the RedBoot
153"fconfig" command. If the default ethernet device is not found (for instance,
154the PCI card is not installed), RedBoot will try to use one of the other ports.
155The default port is selected with the "fconfig net_device" command. Acceptable
156devices for the "fconfig net_device" vary from board from board to board. The
157list for the Intel(r) Next Generation of Network Processors (Code Name Hamoa)
158Reference Platform is:
159
160   i82559_eth0
161   e1000_eth0
162   npe_wan
163   npe_lan
164
165npe_wan uses NPE-A and npe_lan uses NPE-C. By default, NPE-A is used for
166UTOPIA, not ethernet. There is a new RedBoot flash configuration option
167which can be used to change the default behavior to use NPE-A for ethernet.
168This command will change the default use of NPE-A from UTOPIA to ethernet:
169
170  RedBoot> fconfig utopia false
171
172A reboot will be necessary for the change to take effect.
173
174It may be necessary to set the MAC address (or Ethernet Station Address) of
175the port before it is usable by RedBoot. The IXDP465 and IXDP425 boards store
176the MAC addresses for the NPE ethernet ports in serial EEPROMs. The other boards
177use the flash memory to hold the NPE MAC addresses. To set the MAC address
178of an NPE port on the IXDP465 and IXDP425 board, use the "set_npe_mac" command.
179This command accepts a "-p" argument to specify the port (0 for NPEB, 1 for NPEC,
180or 2 for NPE-A) and a MAC address formatted as xx:xx:xx:xx:xx:xx or xxxxxxxxxxxx.
181For instance, to set the MAC address for npe_eth0 (NPEB) use:
182
183  RedBoot> set_npe_mac -p 0 00:01:AF:00:20:EC
184
185Note:
186  Jumpers P4 and P2 on the IXDP465 CPU card must be jumpered
187  for IXP connection to I2C, not GPIO.
188  Also, JP126 on IXDP465 baseboard must be jumpered to allow
189  writes to EEPROM
190
191PCI Enumeration
192---------------
193
194RedBoot will enumerate the PCI bus and assign memory and io resources
195to the devices found. Because of the limited nature of the CPU window
196into PCI space, it may be necessary for RedBoot to ignore certain
197devices which may need special consideration. Each of the platforms
198provides a hook where a decision can be made whether or not RedBoot
199assigns resources to a given PCI device BAR. This function:
200
201   int hal_plf_pci_ignore_bar(void *dev_info, int bar)
202
203is located in:
204
205   hal/arm/xscale/<boardname>/current/src/<boardname>_pci.c
206
207This function should return a non-zero value if the given device
208BAR should be ignored and no resources assigned to it.
209
210
211Rebuilding RedBoot
212------------------
213
214The build process is nearly identical on all four supported configurations.
215Assuming that the provided RedBoot source tree is located in the current
216directory and that we want to build a RedBoot that runs from the FLASH boot
217sector, the build process for the Intel(r) Next Generation of Network
218Processors (Code Name Hamoa) Reference Platform is:
219
220  % export TOPDIR=`pwd`
221  % export ECOS_REPOSITORY=${TOPDIR}/packages
222  % export VERSION=current
223  % mkdir ${TOPDIR}/build
224  % cd ${TOPDIR}/build
225  % ecosconfig new kixrp435 redboot
226  % ecosconfig import ${ECOS_REPOSITORY}/hal/arm/xscale/kixrp435/${VERSION}/misc/redboot_ROM.ecm
227  % ecosconfig tree
228  % make
229
230If a different configuration is desired, simply use the above build processes
231but substitute an alternate configuration file for the ecosconfig import command.
232
233RedBoot now includes BSD-licensed support for NPE ethernet drivers. Due to
234license issues, RedBoot cannot include the NPE microcode. This microcode is
235available from http://developer.intel.com. With the microcode file installed
236in devs/eth/intel/npe/npeDl/current/src, append "_npe" to the target name
237to include NPE support. For example, in the above example, use:
238
239  % ecosconfig new kixrp435_npe redboot
240
241for NPE-enabled RedBoot.
242
243Building ecosconfig
244-------------------
245
246An ecosconfig binary is supplied in the bin directory, but you may wish
247to build it from source.
248
249Detailed instructions for building the command-line tool ecosconfig
250on UNIX can be found in host/README. For example:
251
252  mkdir $TEMP/redboot-build
253  cd $TEMP/redboot-build
254  $TOPDIR/host/configure --prefix=$TEMP/redboot-build --with-tcl=/usr
255  make
256
257
Note: See TracBrowser for help on using the repository browser.