summaryrefslogtreecommitdiff
path: root/doc/README.ml300
diff options
context:
space:
mode:
Diffstat (limited to 'doc/README.ml300')
-rw-r--r--doc/README.ml300128
1 files changed, 128 insertions, 0 deletions
diff --git a/doc/README.ml300 b/doc/README.ml300
new file mode 100644
index 0000000..c9ef6e6
--- /dev/null
+++ b/doc/README.ml300
@@ -0,0 +1,128 @@
+Xilinx ML300 platform
+=====================
+
+0. Introduction
+---------------
+
+The Xilinx ML300 board is based on the Virtex-II Pro FPGA with
+integrated IBM PowerPC 405 core. The board is normally booted from
+System ACE CF. U-Boot is then run out of main memory.
+
+An FPGA is a configurable and thus very flexible device. To
+accommodate for this flexibility this port of U-Boot includes the
+required means to regenerate the drivers and configuration files if
+you decide to change the hardware design. The required steps are
+described below.
+
+
+1. Requirements
+---------------
+
+To compile and run U-Boot on the Xilinx ML300 platform you need the
+following items.
+
+- A Xilinx ML300 platform (see http://www.xilinx.com/ml300)
+- EDK and ISE development tools (shipping with ML300)
+- Parallel4 cable (shipping with ML300)
+- The EDK reference design for ML300. You can get this as design #6 from
+ http://www.xilinx.com/ise/embedded/edk_examples.htm
+- A BOOTP/TFTP server
+
+
+2. Quick Start
+--------------
+
+To compile and run U-Boot on ML300 follow the steps below. Make sure
+to consult the documentation for U-Boot, EDK, and the EDK reference
+design for ML300 if you have any questions.
+
+1. Implement the EDK reference design for ML300. You can use any of
+ the project files, for example from a xygwin shell:
+ $ xps -nw system_linux.xmp
+ XPS% run init_bram
+2. Configure and compile U-Boot. Change into the root directory of
+ U-Boot and run:
+ $ export CROSS_COMPILE=powerpc-eabi-
+ $ make ml300_config
+ $ make
+3. Set up the ML300, connect the Parallel4 and the serial cable. Start
+ a terminal on your host computer and set the communication
+ parameters to 9600,8N1,no handshake.
+4. Set up the BOOTP/TFTP server on your host machine. U-Boot is
+ preconfigured to use a fixed HW MAC address of 00:0A:35:00:22:01.
+5. Download the bitstream to the ML300.
+6. Use XMD to download and run U-Boot on the ML300:
+ $ xmd
+ XMD% ppcconnect
+ XMD% dow u-boot
+ XMD% run
+
+You can now make an ACE file out of bitstream and U-Boot:
+ $ xmd genace.tcl -jprog -board ml300 -hw \
+ implementation/download.bit -elf u-boot -ace top.ace
+
+Put the ACE file onto the MicroDrive, for example into xilinx/myace,
+and reboot ML300.
+
+
+3. Generating a Custom BSP for U-Boot
+-------------------------------------
+
+If you decide to change the EDK reference design for ML300 or if you
+build a new design from scratch either with the Base System Builder in
+XPS or all by hand you most likely will change the base addresses for
+the Uart and the Ethernet peripheral. If you do so you will have two
+options:
+
+1. Edit boards/xilinx/ml300/xparameters.h to reflect the changes you
+ made to your hardware.
+2. Use the MLD technology provided by Xilinx Platform Studio to make
+ the changes automatically. To do so go to the root directory of the
+ EDK reference design for ML300. Copy the Linux project file and the
+ Linux software configuration file:
+ $ cp system_linux.xmp system_uboot.xmp
+ $ cp system_linux.mss system_uboot.mss
+
+ Edit system_uboot.xmp and and have it point to system_uboot.mss for
+ the software configuration.
+
+ Then, copy the sw_services directory in
+ boards/xilinx/ml300/sw_services to the root directory of the EDK
+ reference design for ML300.
+ $ cp -R <uboot dir>/boards/xilinx/ml300/sw_services <edk dir>
+
+ Modify system_uboot.mss. Look for the Linux library definition
+ and change it to generate a BSP for U-Boot. An example, might look
+ like this:
+
+ BEGIN LIBRARY
+ PARAMETER LIBRARY_NAME = uboot
+ PARAMETER LIBRARY_VER = 1.00.a
+ PARAMETER CONNECTED_PERIPHS = (opb_uart16550_0,opb_ethernet_0)
+ PARAMETER TARGET_DIR = <uboot dir>
+ END
+
+ Now, you are ready to generate the Xilinx ML300 BSP for U-Boot:
+ $ xps -nw system_uboot.xmp
+ XPS% run libs
+
+ If all goes well the new configuration has been copied into the
+ right places within the U-Boot source tree. Recompile U-Boot and
+ run it on the ML300.
+
+
+4. ToDo
+-------
+
+- Add support for all other peripherals on ML300.
+- Read the MAC address out of the IIC EEPROM.
+- Store the bootargs in the IIC EEPROM.
+
+
+5. References
+-------------
+
+ML300: http://www.xilinx.com/ml300
+EDK: http://www.xilinx.com/edk
+ISE: http://www.xilinx.com/ise
+Reference Design: http://www.xilinx.com/ise/embedded/edk_examples.htm