From 028ab6b598b628326116acd88e0f35aa9f526d12 Mon Sep 17 00:00:00 2001 From: wdenk Date: Mon, 23 Feb 2004 23:54:43 +0000 Subject: * Patch by Peter Ryser, 20 Feb 2004: Add support for the Xilinx ML300 platform * Patch by Stephan Linz, 17 Feb 2004: Fix watchdog support for NIOS * Patch by Josh Fryman, 16 Feb 2004: Fix byte-swapping for cfi_flash.c for different bus widths * Patch by Jon Diekema, 14 Jeb 2004: Remove duplicate "FPGA Support" notes from the README file --- doc/README.ml300 | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 doc/README.ml300 (limited to 'doc/README.ml300') 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 /boards/xilinx/ml300/sw_services + + 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 = + 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 -- cgit v1.1