summaryrefslogtreecommitdiff
path: root/arch/powerpc/platforms/44x/virtex_ml510.c
diff options
context:
space:
mode:
authorRoderick Colenbrander <thunderbird2k@gmail.com>2009-06-06 10:15:24 -0600
committerGrant Likely <grant.likely@secretlab.ca>2009-06-06 10:15:24 -0600
commite52ba9c54176c9757ab6b18bea7b7ed51e2faf16 (patch)
tree6efb90176a3401f15dd3e914fdc3c682946533b4 /arch/powerpc/platforms/44x/virtex_ml510.c
parent1745fbc744a934b235c2e5ecb5380079fa54be38 (diff)
powerpc/virtex: Add Xilinx ML510 reference design support
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'arch/powerpc/platforms/44x/virtex_ml510.c')
-rw-r--r--arch/powerpc/platforms/44x/virtex_ml510.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/44x/virtex_ml510.c b/arch/powerpc/platforms/44x/virtex_ml510.c
new file mode 100644
index 000000000000..ba4a6e388a46
--- /dev/null
+++ b/arch/powerpc/platforms/44x/virtex_ml510.c
@@ -0,0 +1,29 @@
+#include <asm/i8259.h>
+#include <linux/pci.h>
+#include "44x.h"
+
+/**
+ * ml510_ail_quirk
+ */
+static void __devinit ml510_ali_quirk(struct pci_dev *dev)
+{
+ /* Enable the IDE controller */
+ pci_write_config_byte(dev, 0x58, 0x4c);
+ /* Assign irq 14 to the primary ide channel */
+ pci_write_config_byte(dev, 0x44, 0x0d);
+ /* Assign irq 15 to the secondary ide channel */
+ pci_write_config_byte(dev, 0x75, 0x0f);
+ /* Set the ide controller in native mode */
+ pci_write_config_byte(dev, 0x09, 0xff);
+
+ /* INTB = disabled, INTA = disabled */
+ pci_write_config_byte(dev, 0x48, 0x00);
+ /* INTD = disabled, INTC = disabled */
+ pci_write_config_byte(dev, 0x4a, 0x00);
+ /* Audio = INT7, Modem = disabled. */
+ pci_write_config_byte(dev, 0x4b, 0x60);
+ /* USB = INT7 */
+ pci_write_config_byte(dev, 0x74, 0x06);
+}
+DECLARE_PCI_FIXUP_EARLY(0x10b9, 0x1533, ml510_ali_quirk);
+