mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-27 05:23:34 +00:00
7e270ec3af
The 'xtfpga' board is actually a set of FPGA evaluation boards that can be configured to run an Xtensa processor. - Avnet Xilinx LX60 - Avnet Xilinx LX110 - Avnet Xilinx LX200 - Xilinx ML605 - Xilinx KC705 These boards share the same components (open-ethernet, ns16550 serial, lcd display, flash, etc.). Signed-off-by: Chris Zankel <chris@zankel.net> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
125 lines
4.7 KiB
Text
125 lines
4.7 KiB
Text
Tensilica 'xtfpga' Evaluation Boards
|
|
====================================
|
|
|
|
Tensilica's 'xtfpga' evaluation boards are actually a set of different
|
|
boards that share configurations. The following is a list of supported
|
|
hardware by this board type:
|
|
|
|
- XT-AV60 / LX60
|
|
- XT-AV110 / LX110
|
|
- XT-AV200 / LX200
|
|
- ML605
|
|
- KC705
|
|
|
|
All boards provide the following common configurations:
|
|
|
|
- An Xtensa or Diamond processor core.
|
|
- An on-chip-debug (OCD) JTAG interface.
|
|
- A 16550 compatible UART and serial port.
|
|
- An OpenCores Wishbone 10/100-base-T ethernet interface.
|
|
- A 32 char two line LCD display. (except for the LX200)
|
|
|
|
LX60/LX110/LX200:
|
|
|
|
- Virtex-4 (XC4VLX60 / XCV4LX200) / Virtext-5 (XC5VLX110)
|
|
- 128MB / 64MB (LX60) memory
|
|
- 16MB / 4MB (LX60) Linear Flash
|
|
|
|
ML605
|
|
|
|
- Virtex-6 (XC6VLX240T)
|
|
- 512MB DDR3 memory
|
|
- 16MB Linear BPI Flash
|
|
|
|
KC705 (Xilinx)
|
|
|
|
- Kintex-7 XC7K325T FPGA
|
|
- 1GB DDR3 memory
|
|
- 128MB Linear BPI Flash
|
|
|
|
|
|
Setting up the Board
|
|
--------------------
|
|
|
|
The serial port defaults to 115200 baud, no parity and 1 stop bit.
|
|
A terminal emulator must be set accordingly to see the U-Boot prompt.
|
|
|
|
|
|
Board Configurations LX60/LX110/LX200/ML605/KC705
|
|
-------------------------------------------------
|
|
|
|
The LX60/LX110/LX200/ML605 contain an 8-way DIP switch that controls
|
|
the boot mapping and selects from a range of default ethernet MAC
|
|
addresses.
|
|
|
|
Boot Mapping (DIP switch 8):
|
|
|
|
DIP switch 8 maps the system ROM address space (in which the
|
|
reset vector resides) to either SRAM (off, 0, down) or Flash
|
|
(on, 1, up). This mapping is implemented in the FPGA bitstream
|
|
and cannot be disabled by software, therefore DIP switch 8 is no
|
|
available for application use. Note DIP switch 7 is reserved by
|
|
Tensilica for future possible hardware use.
|
|
|
|
Mapping to SRAM allows U-Boot to be debugged with an OCD/JTAG
|
|
tool such as the Xtensa OCD Daemon connected via a suppored probe.
|
|
See the tools documentation for supported probes and how to
|
|
connect them. Be aware that the board has only 128 KB of SRAM,
|
|
therefore U-Boot must fit within this space to debug an image
|
|
intended for the Flash. This issues is discussed in a separate
|
|
section toward the end.
|
|
|
|
Mapping to flash allows U-Boot to start on reset, provided it
|
|
has been programmed into the first two 64 KB sectors of the Flash.
|
|
|
|
The Flash is always mapped at a device (memory mapped I/O) address
|
|
(the address is board specific and is expressed as CFG_FLASH_BASE).
|
|
The device address is used by U-Boot to program the flash, and may
|
|
be used to specify an application to run or U-Boot image to boot.
|
|
|
|
Default MAC Address (DIP switches 1-6):
|
|
|
|
When the board is first powered on, or after the environment has
|
|
been reinitialized, the ethernet MAC address receives a default
|
|
value whose least significant 6 bits come from DIP switches 1-6.
|
|
The default is 00:50:C2:13:6F:xx where xx ranges from 0..3F
|
|
according to the DIP switches, where "on"==1 and "off"==0, and
|
|
switch 1 is the least-significant bit.
|
|
|
|
After initial startup, the MAC address is stored in the U-Boot
|
|
environment variable 'ethaddr'. The user may change this to any
|
|
other address with the "setenv" comamnd. After the environment
|
|
has been saved to Flash by the "saveenv" command, this will be
|
|
used and the DIP switches no longer consulted. DIP swithes 1-6
|
|
may then be used for application purposes.
|
|
|
|
The KC705 board contains 4-way DIP switch, way 1 is the boot mapping
|
|
switch and ways 2-4 control the low three bits of the MAC address.
|
|
|
|
|
|
Limitation of SDRAM Size for OCD Debugging on the LX60
|
|
------------------------------------------------------
|
|
|
|
The XT-AV60 board has only 128 KB of SDRAM that can be mapped
|
|
to the system ROM address space for debugging a ROM image under
|
|
OCD/JTAG. This limits the useful size of U-Boot to 128 KB (0x20000)
|
|
or the first 2 sectors of the flash.
|
|
|
|
This can pose a problem if all the sources are compiled with -O0
|
|
for debugging. The code size is then too large, in which case it
|
|
would be necessary to temporarily alter the linker script to place
|
|
the load addresses (LMA) in the RAM (VMA) so that OCD loads U-Boot
|
|
directly there and does not unpack. In practice this is not really
|
|
necessary as long as only a limited set of sources need to be
|
|
debugged, because the image can still fit into the 128 KB SRAM.
|
|
|
|
The recommended procedure for debugging is to first build U-Boot
|
|
with the default optimization level (-Os), and then touch and
|
|
rebuild incrementally with -O0 so that only the touched sources
|
|
are recompiled with -O0. To build with -O0, pass it in the KCFLAGS
|
|
variable to make.
|
|
|
|
Because this problem is easy to fall into and difficult to debug
|
|
if one doesn't expect it, the linker script provides a link-time
|
|
check and fatal error message if the image size exceeds 128 KB.
|
|
|