blob: 081a911d7af179dba91e367b548636f767b5e788 [file] [log] [blame]
Mikael Starvik51533b62005-07-27 11:44:44 -07001#ifndef _ASM_CRIS_ARCH_ARBITER_H
2#define _ASM_CRIS_ARCH_ARBITER_H
3
4#define EXT_REGION 0
5#define INT_REGION 1
6
7typedef void (watch_callback)(void);
8
9enum
10{
11 arbiter_all_dmas = 0x3ff,
12 arbiter_cpu = 0xc00,
13 arbiter_all_clients = 0x3fff
14};
15
16enum
17{
18 arbiter_all_read = 0x55,
19 arbiter_all_write = 0xaa,
20 arbiter_all_accesses = 0xff
21};
22
Adrian Bunk9aaeded2006-06-30 18:19:55 +020023int crisv32_arbiter_allocate_bandwidth(int client, int region,
24 unsigned long bandwidth);
Mikael Starvik51533b62005-07-27 11:44:44 -070025int crisv32_arbiter_watch(unsigned long start, unsigned long size,
26 unsigned long clients, unsigned long accesses,
27 watch_callback* cb);
28int crisv32_arbiter_unwatch(int id);
29
30#endif