xref: /minix3/minix/kernel/arch/earm/include/io.h (revision 433d6423c39e34ec4b79c950597bb2d236f886be)
1*433d6423SLionel Sambuc #ifndef _ARM_IO_H_
2*433d6423SLionel Sambuc #define _ARM_IO_H_
3*433d6423SLionel Sambuc 
4*433d6423SLionel Sambuc #ifndef __ASSEMBLY__
5*433d6423SLionel Sambuc 
6*433d6423SLionel Sambuc #include <sys/types.h>
7*433d6423SLionel Sambuc 
8*433d6423SLionel Sambuc /* Access memory-mapped I/O devices */
9*433d6423SLionel Sambuc #define mmio_read(a)    (*(volatile u32_t *)(a))
10*433d6423SLionel Sambuc #define mmio_write(a,v) (*(volatile u32_t *)(a) = (v))
11*433d6423SLionel Sambuc #define mmio_set(a,v)   mmio_write((a), mmio_read((a)) | (v))
12*433d6423SLionel Sambuc #define mmio_clear(a,v) mmio_write((a), mmio_read((a)) & ~(v))
13*433d6423SLionel Sambuc 
14*433d6423SLionel Sambuc #endif /* __ASSEMBLY__ */
15*433d6423SLionel Sambuc 
16*433d6423SLionel Sambuc #endif /* _ARM_IO_H_ */
17