amccs5933.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /***************************************************************************
  3. * Registers and bits for amccs5933 pci chip
  4. * copyright : (C) 2002 by Frank Mori Hess
  5. ***************************************************************************/
  6. // register offsets
  7. enum {
  8. MBEF_REG = 0x34, // mailbux empty/full
  9. INTCSR_REG = 0x38, // interrupt control and status
  10. BMCSR_REG = 0x3c, // bus master control and status
  11. };
  12. // incoming mailbox 0-3 register offsets
  13. extern inline int INCOMING_MAILBOX_REG(unsigned int mailbox)
  14. {
  15. return (0x10 + 4 * mailbox);
  16. };
  17. // bit definitions
  18. // INTCSR bits
  19. enum {
  20. OUTBOX_EMPTY_INTR_BIT = 0x10, // enable outbox empty interrupt
  21. INBOX_FULL_INTR_BIT = 0x1000, // enable inbox full interrupt
  22. INBOX_INTR_CS_BIT = 0x20000, // read, or write clear inbox full interrupt
  23. INTR_ASSERTED_BIT = 0x800000, // read only, interrupt asserted
  24. };
  25. // select byte 0 to 3 of incoming mailbox
  26. extern inline int INBOX_BYTE_BITS(unsigned int byte)
  27. {
  28. return (byte & 0x3) << 8;
  29. };
  30. // select incoming mailbox 0 to 3
  31. extern inline int INBOX_SELECT_BITS(unsigned int mailbox)
  32. {
  33. return (mailbox & 0x3) << 10;
  34. };
  35. // select byte 0 to 3 of outgoing mailbox
  36. extern inline int OUTBOX_BYTE_BITS(unsigned int byte)
  37. {
  38. return (byte & 0x3);
  39. };
  40. // select outgoing mailbox 0 to 3
  41. extern inline int OUTBOX_SELECT_BITS(unsigned int mailbox)
  42. {
  43. return (mailbox & 0x3) << 2;
  44. };
  45. // BMCSR bits
  46. enum {
  47. MBOX_FLAGS_RESET_BIT = 0x08000000, // resets mailbox empty/full flags
  48. };