bcma_driver_mips.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef LINUX_BCMA_DRIVER_MIPS_H_
  3. #define LINUX_BCMA_DRIVER_MIPS_H_
  4. #define BCMA_MIPS_IPSFLAG 0x0F08
  5. /* which sbflags get routed to mips interrupt 1 */
  6. #define BCMA_MIPS_IPSFLAG_IRQ1 0x0000003F
  7. #define BCMA_MIPS_IPSFLAG_IRQ1_SHIFT 0
  8. /* which sbflags get routed to mips interrupt 2 */
  9. #define BCMA_MIPS_IPSFLAG_IRQ2 0x00003F00
  10. #define BCMA_MIPS_IPSFLAG_IRQ2_SHIFT 8
  11. /* which sbflags get routed to mips interrupt 3 */
  12. #define BCMA_MIPS_IPSFLAG_IRQ3 0x003F0000
  13. #define BCMA_MIPS_IPSFLAG_IRQ3_SHIFT 16
  14. /* which sbflags get routed to mips interrupt 4 */
  15. #define BCMA_MIPS_IPSFLAG_IRQ4 0x3F000000
  16. #define BCMA_MIPS_IPSFLAG_IRQ4_SHIFT 24
  17. /* MIPS 74K core registers */
  18. #define BCMA_MIPS_MIPS74K_CORECTL 0x0000
  19. #define BCMA_MIPS_MIPS74K_EXCEPTBASE 0x0004
  20. #define BCMA_MIPS_MIPS74K_BIST 0x000C
  21. #define BCMA_MIPS_MIPS74K_INTMASK_INT0 0x0014
  22. #define BCMA_MIPS_MIPS74K_INTMASK(int) \
  23. ((int) * 4 + BCMA_MIPS_MIPS74K_INTMASK_INT0)
  24. #define BCMA_MIPS_MIPS74K_NMIMASK 0x002C
  25. #define BCMA_MIPS_MIPS74K_GPIOSEL 0x0040
  26. #define BCMA_MIPS_MIPS74K_GPIOOUT 0x0044
  27. #define BCMA_MIPS_MIPS74K_GPIOEN 0x0048
  28. #define BCMA_MIPS_MIPS74K_CLKCTLST 0x01E0
  29. #define BCMA_MIPS_OOBSELINA74 0x004
  30. #define BCMA_MIPS_OOBSELOUTA30 0x100
  31. struct bcma_device;
  32. struct bcma_drv_mips {
  33. struct bcma_device *core;
  34. u8 setup_done:1;
  35. u8 early_setup_done:1;
  36. };
  37. extern u32 bcma_cpu_clock(struct bcma_drv_mips *mcore);
  38. #endif /* LINUX_BCMA_DRIVER_MIPS_H_ */