diff options
Diffstat (limited to 'drivers/atm/solos-pci.c')
-rw-r--r-- | drivers/atm/solos-pci.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c index 21c73b17d5fd..c54ecebc9a73 100644 --- a/drivers/atm/solos-pci.c +++ b/drivers/atm/solos-pci.c | |||
@@ -70,6 +70,7 @@ | |||
70 | 70 | ||
71 | #define RX_DMA_SIZE 2048 | 71 | #define RX_DMA_SIZE 2048 |
72 | 72 | ||
73 | static int reset = 0; | ||
73 | static int atmdebug = 0; | 74 | static int atmdebug = 0; |
74 | static int firmware_upgrade = 0; | 75 | static int firmware_upgrade = 0; |
75 | static int fpga_upgrade = 0; | 76 | static int fpga_upgrade = 0; |
@@ -131,9 +132,11 @@ MODULE_AUTHOR("Traverse Technologies <support@traverse.com.au>"); | |||
131 | MODULE_DESCRIPTION("Solos PCI driver"); | 132 | MODULE_DESCRIPTION("Solos PCI driver"); |
132 | MODULE_VERSION(VERSION); | 133 | MODULE_VERSION(VERSION); |
133 | MODULE_LICENSE("GPL"); | 134 | MODULE_LICENSE("GPL"); |
135 | MODULE_PARM_DESC(reset, "Reset Solos chips on startup"); | ||
134 | MODULE_PARM_DESC(atmdebug, "Print ATM data"); | 136 | MODULE_PARM_DESC(atmdebug, "Print ATM data"); |
135 | MODULE_PARM_DESC(firmware_upgrade, "Initiate Solos firmware upgrade"); | 137 | MODULE_PARM_DESC(firmware_upgrade, "Initiate Solos firmware upgrade"); |
136 | MODULE_PARM_DESC(fpga_upgrade, "Initiate FPGA upgrade"); | 138 | MODULE_PARM_DESC(fpga_upgrade, "Initiate FPGA upgrade"); |
139 | module_param(reset, int, 0444); | ||
137 | module_param(atmdebug, int, 0644); | 140 | module_param(atmdebug, int, 0644); |
138 | module_param(firmware_upgrade, int, 0444); | 141 | module_param(firmware_upgrade, int, 0444); |
139 | module_param(fpga_upgrade, int, 0444); | 142 | module_param(fpga_upgrade, int, 0444); |
@@ -1071,6 +1074,13 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id) | |||
1071 | goto out_unmap_config; | 1074 | goto out_unmap_config; |
1072 | } | 1075 | } |
1073 | 1076 | ||
1077 | if (reset) { | ||
1078 | iowrite32(1, card->config_regs + FPGA_MODE); | ||
1079 | data32 = ioread32(card->config_regs + FPGA_MODE); | ||
1080 | |||
1081 | iowrite32(0, card->config_regs + FPGA_MODE); | ||
1082 | data32 = ioread32(card->config_regs + FPGA_MODE); | ||
1083 | } | ||
1074 | //Fill Config Mem with zeros | 1084 | //Fill Config Mem with zeros |
1075 | for(i = 0; i < 128; i += 4) | 1085 | for(i = 0; i < 128; i += 4) |
1076 | iowrite32(0, card->config_regs + i); | 1086 | iowrite32(0, card->config_regs + i); |