virtex_ml510.c 881 B

123456789101112131415161718192021222324252627282930
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include <asm/i8259.h>
  3. #include <linux/pci.h>
  4. #include "44x.h"
  5. /**
  6. * ml510_ail_quirk
  7. */
  8. static void ml510_ali_quirk(struct pci_dev *dev)
  9. {
  10. /* Enable the IDE controller */
  11. pci_write_config_byte(dev, 0x58, 0x4c);
  12. /* Assign irq 14 to the primary ide channel */
  13. pci_write_config_byte(dev, 0x44, 0x0d);
  14. /* Assign irq 15 to the secondary ide channel */
  15. pci_write_config_byte(dev, 0x75, 0x0f);
  16. /* Set the ide controller in native mode */
  17. pci_write_config_byte(dev, 0x09, 0xff);
  18. /* INTB = disabled, INTA = disabled */
  19. pci_write_config_byte(dev, 0x48, 0x00);
  20. /* INTD = disabled, INTC = disabled */
  21. pci_write_config_byte(dev, 0x4a, 0x00);
  22. /* Audio = INT7, Modem = disabled. */
  23. pci_write_config_byte(dev, 0x4b, 0x60);
  24. /* USB = INT7 */
  25. pci_write_config_byte(dev, 0x74, 0x06);
  26. }
  27. DECLARE_PCI_FIXUP_EARLY(0x10b9, 0x1533, ml510_ali_quirk);