overdrive.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. /*
  2. * Copyright (C) 2000 David J. Mckay (david.mckay@st.com)
  3. *
  4. * May be copied or modified under the terms of the GNU General Public
  5. * License. See linux/COPYING for more information.
  6. *
  7. */
  8. #include <linux/config.h>
  9. #ifndef __OVERDRIVE_H__
  10. #define __OVERDRIVE_H__
  11. #define OVERDRIVE_INT_CT 0xa3a00000
  12. #define OVERDRIVE_INT_DT 0xa3b00000
  13. #define OVERDRIVE_CTRL 0xa3000000
  14. /* Shoving all these bits into the same register is not a good idea.
  15. * As soon as I get a spare moment, I'll change the FPGA and put each
  16. * bit in a separate register
  17. */
  18. #define VALID_CTRL_BITS 0x1f
  19. #define ENABLE_RS232_MASK 0x1e
  20. #define DISABLE_RS232_BIT 0x01
  21. #define ENABLE_NMI_MASK 0x1d
  22. #define DISABLE_NMI_BIT 0x02
  23. #define RESET_PCI_MASK 0x1b
  24. #define ENABLE_PCI_BIT 0x04
  25. #define ENABLE_LED_MASK 0x17
  26. #define DISABLE_LED_BIT 0x08
  27. #define RESET_FPGA_MASK 0x0f
  28. #define ENABLE_FPGA_BIT 0x10
  29. #define FPGA_DCLK_ADDRESS 0xA3C00000
  30. #define FPGA_DATA 0x01 /* W */
  31. #define FPGA_CONFDONE 0x02 /* R */
  32. #define FPGA_NOT_STATUS 0x04 /* R */
  33. #define FPGA_INITDONE 0x08 /* R */
  34. #define FPGA_TIMEOUT 100000
  35. /* Interrupts for the overdrive. Note that these numbers have
  36. * nothing to do with the actual IRQ numbers they appear on,
  37. * this is all programmable. This is simply the position in the
  38. * INT_CT register.
  39. */
  40. #define OVERDRIVE_PCI_INTA 0
  41. #define OVERDRIVE_PCI_INTB 1
  42. #define OVERDRIVE_PCI_INTC 2
  43. #define OVERDRIVE_PCI_INTD 3
  44. #define OVERDRIVE_GALILEO_INT 4
  45. #define OVERDRIVE_GALILEO_LOCAL_INT 5
  46. #define OVERDRIVE_AUDIO_INT 6
  47. #define OVERDRIVE_KEYBOARD_INT 7
  48. /* Which Linux IRQ should we assign to each interrupt source? */
  49. #define OVERDRIVE_PCI_IRQ1 2
  50. #ifdef CONFIG_HACKED_NE2K
  51. #define OVERDRIVE_PCI_IRQ2 7
  52. #else
  53. #define OVERDRIVE_PCI_IRQ2 2
  54. #undef OVERDRIVE_PCI_INTB
  55. #define OVERDRIVE_PCI_INTB OVERDRIVE_PCI_INTA
  56. #endif
  57. /* Put the ESS solo audio chip on IRQ 4 */
  58. #define OVERDRIVE_ESS_IRQ 4
  59. /* Where the memory behind the PCI bus appears */
  60. #define PCI_DRAM_BASE 0xb7000000
  61. #define PCI_DRAM_SIZE (16*1024*1024)
  62. #define PCI_DRAM_FINISH (PCI_DRAM_BASE+PCI_DRAM_SIZE-1)
  63. /* Where the IO region appears in the memory */
  64. #define PCI_GTIO_BASE 0xb8000000
  65. #endif