intctl-regs.h 728 B

123456789101112131415161718192021222324252627282930
  1. #ifndef _ASM_PROC_INTCTL_REGS_H
  2. #define _ASM_PROC_INTCTL_REGS_H
  3. #ifndef _ASM_INTCTL_REGS_H
  4. # error "please don't include this file directly"
  5. #endif
  6. /* intr acceptance group reg */
  7. #define IAGR __SYSREG(0xd4000100, u16)
  8. /* group number register */
  9. #define IAGR_GN 0x003fc
  10. #define __GET_XIRQ_TRIGGER(X, Z) (((Z) >> ((X) * 2)) & 3)
  11. #define __SET_XIRQ_TRIGGER(X, Y, Z) \
  12. ({ \
  13. typeof(Z) x = (Z); \
  14. x &= ~(3 << ((X) * 2)); \
  15. x |= ((Y) & 3) << ((X) * 2); \
  16. (Z) = x; \
  17. })
  18. /* external pin intr spec reg */
  19. #define EXTMD0 __SYSREG(0xd4000200, u32)
  20. #define GET_XIRQ_TRIGGER(X) __GET_XIRQ_TRIGGER(X, EXTMD0)
  21. #define SET_XIRQ_TRIGGER(X, Y) __SET_XIRQ_TRIGGER(X, Y, EXTMD0)
  22. #endif /* _ASM_PROC_INTCTL_REGS_H */