meta-kc705
==========

This README file contains information on using the meta-kc705 BSP layer.

The KC705 is an evaluation board by Xilinx for the MicroBlaze architecture:
	http://www.xilinx.com/products/boards-and-kits/DK-K7-EMBD-G.htm

Please refer to the meta-xilinx/README for details regarding patch submission,
layer dependencies, build process, etc.

Supported Boards/Machines
=========================

Xilinx KC705 Embedded TRD (MicroBlaze) - 'kc705-trd'
	The 'KC705_System' or 'BIST system' as described in the documentation.

	Note: this design contains the 'Xylon logiSDHC' additional IP cores, this is
	not supported by this BSP.

Reference files and documents
=============================

For details on the TRD and Evaluation board:
	http://www.xilinx.com/products/boards-and-kits/DK-K7-EMBD-G.htm

For documentation and design files for the TRD:
	http://www.xilinx.com/support/index.html/content/xilinx/en/supportNav/boards_and_kits/kintex-7_boards_and_kits/kintex-7_fpga_embedded_kit.html

Additional information on MicroBlaze architecture can be found at:
	http://www.xilinx.com/support/index.htm

RAMFS/INITRD Boot (via JTAG/TFTP)
=================================

Note: This boot flow requires a TFTP server as well as access to Xilinx tools
(for JTAG programming).

Place the following images into the root of the TFTP server directory:
	* core-image-minimal-<machine name>.ext2.gz.u-boot (RootFS)
	* linux.bin.ub (Linux Kernel)
	* linux.bin.ub-<machine name>.dtb (DTB)

Download the bitstream for the target machine using JTAG (The pre-built
bitstream provided in the reference design files should be used).

Download the 'u-boot.elf' to the target CPU via the use of XMD.
	$ xmd
	XMD% connect mb mdm
	XMD% rst
	XMD% dow u-boot.elf
	XMD% con

The serial console of the KC705 board (the USB-UART interface) will display the
U-Boot console. Configure the 'ipaddr' and 'serverip' of the U-Boot environment.
	U-Boot> set serverip <server ip>
	U-Boot> set ipaddr <board ip>

Using the U-Boot console; load the Kernel (at 0x86000000), RootFS
(at 0x85000000) and the DTB (at 0x84000000) into memory. And then boot Linux
using the 'bootm' command.
	U-Boot> tftp 0x86000000 linux.bin.ub
	U-Boot> tftp 0x85000000 core-image-minimal-<machine name>.ext2.gz.u-boot
	U-Boot> tftp 0x84000000 linux.bin.ub-<machine name>.dtb
	U-Boot> bootm 0x86000000 0x85000000 0x84000000
