arbiter.h 695 B

123456789101112131415161718192021222324252627282930
  1. #ifndef _ASM_CRIS_ARCH_ARBITER_H
  2. #define _ASM_CRIS_ARCH_ARBITER_H
  3. #define EXT_REGION 0
  4. #define INT_REGION 1
  5. typedef void (watch_callback)(void);
  6. enum
  7. {
  8. arbiter_all_dmas = 0x3ff,
  9. arbiter_cpu = 0xc00,
  10. arbiter_all_clients = 0x3fff
  11. };
  12. enum
  13. {
  14. arbiter_all_read = 0x55,
  15. arbiter_all_write = 0xaa,
  16. arbiter_all_accesses = 0xff
  17. };
  18. int crisv32_arbiter_allocate_bandwith(int client, int region,
  19. unsigned long bandwidth);
  20. int crisv32_arbiter_watch(unsigned long start, unsigned long size,
  21. unsigned long clients, unsigned long accesses,
  22. watch_callback* cb);
  23. int crisv32_arbiter_unwatch(int id);
  24. #endif