arm/km: enable BOCO2 FPGA download support
authorValentin Longchamp <valentin.longchamp@keymile.com>
Thu, 5 Jul 2012 05:05:05 +0000 (05:05 +0000)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Sat, 7 Jul 2012 12:07:37 +0000 (14:07 +0200)
commitb37f772433ab44d1730423eccf11f287ce61ec5f
tree8bc0d8f513a232f26611570ff2512e7a81f29af5
parent6ef6486180678ab86d511676ec68cf78bf267582
arm/km: enable BOCO2 FPGA download support

This adds a first support of the FPGA download for a PCIe FPGA based
on the BOCO2 CPLD.

This takes place in 3 steps, all done accessing the SPICTRL reg of the
BOCO2:
1) start the FPGA config with an access to the FPGA_PROG bit
2) later in the boot sequence, wait for the FPGA_DONE bit to toggle to 1
   for the end of the FPGA configuration (with a timeout)
3) reset the FPGA
4) finally remove the access to its config EEPROM from the FPGA so that
   the CPU can update the FPGA configuration when the kernel is running

The boards with a PCIe FPGA but without BOCO2 still are supported.

The config option name is CONFIG_KM_FPGA_CONFIG

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
cc: Gerlando Falauto <gerlando.falauto@keymile.com>
cc: Prafulla Wadaskar <prafulla@marvell.com>
board/keymile/common/common.h
board/keymile/km_arm/Makefile
board/keymile/km_arm/fpga_config.c [new file with mode: 0644]
board/keymile/km_arm/km_arm.c
boards.cfg
include/configs/km/km_arm.h
include/configs/km_kirkwood.h