31 #if !BITBAND_FUNCTIONS_PROVIDED 
   37 #define CPU_HAS_BITBAND 1 || 0 (1 if CPU implements bit-banding, 0 if not) 
   49 #define CPU_HAS_SRAM_BITBAND 1 || 0 
   52 #if CPU_HAS_BITBAND || DOXYGEN 
   55 #ifndef CPU_HAS_SRAM_BITBAND 
   56 #define CPU_HAS_SRAM_BITBAND    1 
   74 static inline volatile void *
bitband_addr(
volatile void *ptr, uintptr_t bit)
 
   76     return (
volatile void *)((((uintptr_t)ptr) & 0xF0000000ul) + 0x2000000ul +
 
   77         ((((uintptr_t)ptr) & 0xFFFFFul) << 5) + (bit << 2));
 
   95 static inline void bit_set32(
volatile uint32_t *ptr, uint8_t bit)
 
  115 static inline void bit_set16(
volatile uint16_t *ptr, uint8_t bit)
 
  135 static inline void bit_set8(
volatile uint8_t *ptr, uint8_t bit)
 
  155 static inline void bit_clear32(
volatile uint32_t *ptr, uint8_t bit)
 
  175 static inline void bit_clear16(
volatile uint16_t *ptr, uint8_t bit)
 
  195 static inline void bit_clear8(
volatile uint8_t *ptr, uint8_t bit)
 
  212 static inline bool bit_check32(
volatile uint32_t *ptr, uint8_t bit)
 
  229 static inline bool bit_check16(
volatile uint16_t *ptr, uint8_t bit)
 
  246 static inline bool bit_check8(
volatile uint8_t *ptr, uint8_t bit)
 
  255 static inline void bit_set32(
volatile uint32_t *ptr, uint8_t bit)
 
  257     *ptr |= (1 << (bit));
 
  260 static inline void bit_set16(
volatile uint16_t *ptr, uint8_t bit)
 
  262     *ptr |= (1 << (bit));
 
  265 static inline void bit_set8(
volatile uint8_t *ptr, uint8_t bit)
 
  267     *ptr |= (1 << (bit));
 
  270 static inline void bit_clear32(
volatile uint32_t *ptr, uint8_t bit)
 
  272     *ptr &= ~(1 << (bit));
 
  275 static inline void bit_clear16(
volatile uint16_t *ptr, uint8_t bit)
 
  277     *ptr &= ~(1 << (bit));
 
  280 static inline void bit_clear8(
volatile uint8_t *ptr, uint8_t bit)
 
  282     *ptr &= ~(1 << (bit));
 
  285 static inline bool bit_check32(
volatile uint32_t *ptr, uint8_t bit)
 
  287     return *ptr & (1 << bit);
 
  290 static inline bool bit_check16(
volatile uint16_t *ptr, uint8_t bit)
 
  292     return *ptr & (1 << bit);
 
  295 static inline bool bit_check8(
volatile uint8_t *ptr, uint8_t bit)
 
  297     return *ptr & (1 << bit);
 
static void bit_clear8(volatile uint8_t *ptr, uint8_t bit)
Clear a single bit in the 8 bit byte pointed to by ptr.
 
static volatile void * bitband_addr(volatile void *ptr, uintptr_t bit)
Convert bit band region address and bit number to bit band alias address.
 
static void bit_set16(volatile uint16_t *ptr, uint8_t bit)
Set a single bit in the 16 bit word pointed to by ptr.
 
static void bit_clear32(volatile uint32_t *ptr, uint8_t bit)
Clear a single bit in the 32 bit word pointed to by ptr.
 
static bool bit_check16(volatile uint16_t *ptr, uint8_t bit)
Checks if a single bit in the 16 bit word pointed to by ptr is set.
 
static void bit_set8(volatile uint8_t *ptr, uint8_t bit)
Set a single bit in the 8 bit byte pointed to by ptr.
 
static void bit_set32(volatile uint32_t *ptr, uint8_t bit)
Set a single bit in the 32 bit word pointed to by ptr.
 
static bool bit_check8(volatile uint8_t *ptr, uint8_t bit)
Checks if a single bit in the 8 bit byte pointed to by ptr is set.
 
static bool bit_check32(volatile uint32_t *ptr, uint8_t bit)
Checks if a single bit in the 32 bit word pointed to by ptr is set.
 
static void bit_clear16(volatile uint16_t *ptr, uint8_t bit)
Clear a single bit in the 16 bit word pointed to by ptr.