Commit 74f73fb3 authored by Federico Vaga's avatar Federico Vaga

sw:drv: report bootloader version

Signed-off-by: Federico Vaga's avatarFederico Vaga <federico.vaga@cern.ch>
parent b5e7b4a1
......@@ -58,6 +58,11 @@
#define XLDR_CSR_CLKDIV_SHIFT 8
#define XLDR_CSR_CLKDIV_W(value) WBGEN2_GEN_WRITE(value, 8, 6)
#define XLDR_CSR_CLKDIV_R(reg) WBGEN2_GEN_READ(reg, 8, 6)
/* definitions for field: Bootloader version */
#define XLDR_CSR_VERSION_MASK WBGEN2_GEN_MASK(14, 8)
#define XLDR_CSR_VERSION_SHIFT 14
#define XLDR_CSR_VERSION_R(reg) WBGEN2_GEN_READ(reg, 14, 8)
/* definitions for register: Bootloader Trigger Register */
......
......@@ -252,14 +252,17 @@ static int svec_fpga_loader_is_active(struct fpga_manager *mgr)
struct vme_dev *vdev = to_vme_dev(svec->dev.parent);
void *loader_addr = vdev->map_cr.kernel_va + SVEC_BASE_LOADER;
char buf[5];
uint32_t idc;
uint32_t idc, csr;
csr = ioread32be(loader_addr + XLDR_REG_CSR);
idc = ioread32be(loader_addr + XLDR_REG_IDR);
idc = htonl(idc);
memset(buf, 0, 5);
strncpy(buf, (char *)&idc, 4);
dev_dbg(&mgr->dev, "SVEC Loader: {ID: \"%s\"(0x%08x), Version: %d (0x%08x)}",
buf, idc, XLDR_CSR_VERSION_R(csr), csr);
return (strncmp(buf, "SVEC", 4) == 0);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment