omap3: mvblx: pass FPGA version to the kernel

Extract FPGA version from the .rbf and pass this info to the kernel.

Signed-off-by: Michael Jones <michael.jones@matrix-vision.de>
master
Michael Jones 12 years ago committed by Tom Rini
parent 71c4ae3f6d
commit bb4d46455c
  1. 14
      board/matrix_vision/mvblx/fpga.c
  2. 1
      include/configs/omap3_mvblx.h

@ -31,6 +31,7 @@
#include <ACEX1K.h>
#include <command.h>
#include <asm/gpio.h>
#include <linux/byteorder/generic.h>
#include "fpga.h"
#ifdef FPGA_DEBUG
@ -209,9 +210,20 @@ int fpga_wr_fn(const void *buf, size_t len, int flush, int cookie)
{
unsigned char *data = (unsigned char *) buf;
int i;
int headerlen = len - cyclone2.size;
if (headerlen < 0)
return FPGA_FAIL;
else if (headerlen == sizeof(uint32_t)) {
const unsigned int fpgavers_len = 11; /* '0x' + 8 hex digits + \0 */
char fpgavers_str[fpgavers_len];
snprintf(fpgavers_str, fpgavers_len, "0x%08x",
be32_to_cpup((uint32_t*)data));
setenv("fpgavers", fpgavers_str);
}
fpga_debug("fpga_wr: buf %p / size %d\n", buf, len);
for (i = 0; i < len; i++)
for (i = headerlen; i < len; i++)
_write_fpga(data[i]);
fpga_debug("-%s\n", __func__);

@ -185,6 +185,7 @@
"omapdss.def_disp=${defaultdisplay} " \
"root=${mmcroot} " \
"rootfstype=${mmcrootfstype} " \
"mvfw.fpgavers=${fpgavers} " \
"${cmdline_suffix}\0" \
"loadbootenv=fatload mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \
"importbootenv=echo Importing environment from mmc ...; " \

Loading…
Cancel
Save