1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17#include "altera_tse.h"
18#include "altera_utils.h"
19
20void tse_set_bit(void __iomem *ioaddr, size_t offs, u32 bit_mask)
21{
22 u32 value = csrrd32(ioaddr, offs);
23 value |= bit_mask;
24 csrwr32(value, ioaddr, offs);
25}
26
27void tse_clear_bit(void __iomem *ioaddr, size_t offs, u32 bit_mask)
28{
29 u32 value = csrrd32(ioaddr, offs);
30 value &= ~bit_mask;
31 csrwr32(value, ioaddr, offs);
32}
33
34int tse_bit_is_set(void __iomem *ioaddr, size_t offs, u32 bit_mask)
35{
36 u32 value = csrrd32(ioaddr, offs);
37 return (value & bit_mask) ? 1 : 0;
38}
39
40int tse_bit_is_clear(void __iomem *ioaddr, size_t offs, u32 bit_mask)
41{
42 u32 value = csrrd32(ioaddr, offs);
43 return (value & bit_mask) ? 0 : 1;
44}
45