xilinx_hwicap: add support for virtex6 FPGAs
authorDaniel Borkmann <danborkmann@iogearbox.net>
Wed, 18 Apr 2012 21:55:08 +0000 (23:55 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Apr 2012 02:09:18 +0000 (19:09 -0700)
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 <ariane.keller@tik.ee.ethz.ch>
Signed-off-by: Daniel Borkmann <daniel.borkmann@tik.ee.ethz.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/xilinx_hwicap/xilinx_hwicap.c

index 31ba11c..2c5d15b 100644 (file)
@@ -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;
                }
        }