From 73eb94a094e54cb81c41c64e59eb5d6a05ecb045 Mon Sep 17 00:00:00 2001 From: Daniel Borkmann Date: Wed, 18 Apr 2012 23:55:08 +0200 Subject: xilinx_hwicap: add support for virtex6 FPGAs This patch adds support for the virtex6 FPGA to the xilinx_hwicap driver. Tested on a Xilinx ML605 board. The patch is against the latest linus-tree. Signed-off-by: Ariane Keller Signed-off-by: Daniel Borkmann Signed-off-by: Greg Kroah-Hartman --- drivers/char/xilinx_hwicap/xilinx_hwicap.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'drivers/char/xilinx_hwicap') diff --git a/drivers/char/xilinx_hwicap/xilinx_hwicap.c b/drivers/char/xilinx_hwicap/xilinx_hwicap.c index 31ba11ca75e..2c5d15beea3 100644 --- a/drivers/char/xilinx_hwicap/xilinx_hwicap.c +++ b/drivers/char/xilinx_hwicap/xilinx_hwicap.c @@ -167,6 +167,7 @@ static const struct config_registers v4_config_registers = { .BOOTSTS = UNIMPLEMENTED, .CTL_1 = UNIMPLEMENTED, }; + static const struct config_registers v5_config_registers = { .CRC = 0, .FAR = 1, @@ -192,6 +193,31 @@ static const struct config_registers v5_config_registers = { .CTL_1 = 19, }; +static const struct config_registers v6_config_registers = { + .CRC = 0, + .FAR = 1, + .FDRI = 2, + .FDRO = 3, + .CMD = 4, + .CTL = 5, + .MASK = 6, + .STAT = 7, + .LOUT = 8, + .COR = 9, + .MFWR = 10, + .FLR = UNIMPLEMENTED, + .KEY = UNIMPLEMENTED, + .CBC = 11, + .IDCODE = 12, + .AXSS = 13, + .C0R_1 = 14, + .CSOB = 15, + .WBSTAR = 16, + .TIMER = 17, + .BOOTSTS = 22, + .CTL_1 = 24, +}; + /** * hwicap_command_desync - Send a DESYNC command to the ICAP port. * @drvdata: a pointer to the drvdata. @@ -744,6 +770,8 @@ static int __devinit hwicap_of_probe(struct platform_device *op, regs = &v4_config_registers; } else if (!strcmp(family, "virtex5")) { regs = &v5_config_registers; + } else if (!strcmp(family, "virtex6")) { + regs = &v6_config_registers; } } return hwicap_setup(&op->dev, id ? *id : -1, &res, config, @@ -785,6 +813,8 @@ static int __devinit hwicap_drv_probe(struct platform_device *pdev) regs = &v4_config_registers; } else if (!strcmp(family, "virtex5")) { regs = &v5_config_registers; + } else if (!strcmp(family, "virtex6")) { + regs = &v6_config_registers; } } -- cgit v1.2.3-18-g5258