32#ifndef __BORDOISILA_IO_H__
33#define __BORDOISILA_IO_H__
40#define _bordoisila_readb(addr) (*(volatile uint8_t*)(addr))
41#define _bordoisila_writeb(val, addr) \
42 (*(volatile uint8_t*)(addr) = (val));\
47#define _bordoisila_readw(addr) (*(volatile uint16_t*)(addr))
48#define _bordoisila_writew(addr) \
49 (*(volatile uint16_t*)(addr) = (val));\
54#define _bordoisila_readl(addr) (*(volatile uint32_t*)(addr))
55#define _bordoisila_writel(val,addr) (*(volatile uint32_t*)(addr) = (val));\
67 if (timeout_us && elapsed >= timeout_us) {
84 current_val |= (val & mask);
85 *(
volatile uint32_t*)addr = current_val;
89#define _bordoisila_read_poll_timeout(addr, val, cond, sleep_us, timeout_us) ({\
90 uint32_t __timeout_us = (timeout_us);\
91 uint32_t __elapsed_us = 0; \
94 (val) = *(volatile uint32_t*)(addr);\
97 if (__elapsed_us >= __timeout_us) {\
102 AuAA64BoardSleepUS(sleep_us); \
103 __elapsed_us += (sleep_us); \
unsigned int uintptr_t
Definition stdint.h:94
unsigned int uint32_t
Definition acefiex.h:163
void AuAA64BoardSleepUS(uint32_t us)
AuAA64BoardSleepUS – calls board specific sleep function.
Definition board.c:72