35#define REG_ATOMIC_XOR_BIT      (0x1000U) 
   40#define REG_ATOMIC_SET_BIT      (0x2000U) 
   45#define REG_ATOMIC_CLEAR_BIT    (0x3000U) 
   51#define REG_ATOMIC_XOR(reg)     ((volatile uint32_t *)(((uintptr_t)(reg)) | REG_ATOMIC_XOR_BIT)) 
   57#define REG_ATOMIC_SET(reg)     ((volatile uint32_t *)(((uintptr_t)(reg)) | REG_ATOMIC_SET_BIT)) 
   63#define REG_ATOMIC_CLEAR(reg)   ((volatile uint32_t *)(((uintptr_t)(reg)) | REG_ATOMIC_CLEAR_BIT)) 
  126    *reg = (*reg & (~mask)) | value;
 
 
static void io_reg_atomic_xor(volatile uint32_t *reg, uint32_t mask)
Performed an atomic XOR of the set bits in op with the bits in the register at address reg.
static void io_reg_atomic_clear(volatile uint32_t *reg, uint32_t mask)
Clear the bits in the register at address reg as given by the set bits in operand op.
#define REG_ATOMIC_CLEAR(reg)
The operation to be performed to the register at address reg will be an atomic clear of the bits of t...
static void io_reg_write_dont_corrupt(volatile uint32_t *reg, uint32_t value, uint32_t mask)
Updates part of an I/O register without corrupting its contents.
#define REG_ATOMIC_SET(reg)
The operation to be performed to the register at address reg will be an atomic set of the bits of the...
static void io_reg_atomic_set(volatile uint32_t *reg, uint32_t mask)
Set the bits in the register at address reg as given by the set bits in operand op.
#define REG_ATOMIC_XOR(reg)
The operation to be performed to the register at address reg will be an atomic XOR of the bits of the...