PebbleOS
Loading...
Searching...
No Matches
mmio.h File Reference
#include <stdint.h>
#include <pbl/kernel/compiler.h>
#include <pbl/kernel/irq.h>
#include <pbl_arch_mmio.h>

Functions

static uint8_t pbl_readb (uintptr_t addr)
 Read an 8-bit register.
 
static uint16_t pbl_readw (uintptr_t addr)
 Read a 16-bit register.
 
static uint32_t pbl_readl (uintptr_t addr)
 Read a 32-bit register.
 
static void pbl_writeb (uint8_t val, uintptr_t addr)
 Write an 8-bit register.
 
static void pbl_writew (uint16_t val, uintptr_t addr)
 Write a 16-bit register.
 
static void pbl_writel (uint32_t val, uintptr_t addr)
 Write a 32-bit register.
 
static void pbl_modifyb (uint8_t clear, uint8_t set, uintptr_t addr)
 Atomically clear and set bits of a shared 8-bit register.
 
static void pbl_modifyw (uint16_t clear, uint16_t set, uintptr_t addr)
 Atomically clear and set bits of a shared 16-bit register.
 
static void pbl_modifyl (uint32_t clear, uint32_t set, uintptr_t addr)
 Atomically clear and set bits of a shared 32-bit register.