0001
0002
0003
0004
0005
0006 #include "altera_tse.h"
0007 #include "altera_utils.h"
0008
0009 void tse_set_bit(void __iomem *ioaddr, size_t offs, u32 bit_mask)
0010 {
0011 u32 value = csrrd32(ioaddr, offs);
0012 value |= bit_mask;
0013 csrwr32(value, ioaddr, offs);
0014 }
0015
0016 void tse_clear_bit(void __iomem *ioaddr, size_t offs, u32 bit_mask)
0017 {
0018 u32 value = csrrd32(ioaddr, offs);
0019 value &= ~bit_mask;
0020 csrwr32(value, ioaddr, offs);
0021 }
0022
0023 int tse_bit_is_set(void __iomem *ioaddr, size_t offs, u32 bit_mask)
0024 {
0025 u32 value = csrrd32(ioaddr, offs);
0026 return (value & bit_mask) ? 1 : 0;
0027 }
0028
0029 int tse_bit_is_clear(void __iomem *ioaddr, size_t offs, u32 bit_mask)
0030 {
0031 u32 value = csrrd32(ioaddr, offs);
0032 return (value & bit_mask) ? 0 : 1;
0033 }