ditto - wr32be shall write BE
[AROS.git] / arch / armeb-raspi / boot / include / io.h
blobdda5e4f799d4477069c9a9ab3ce616a47e321a16
1 #ifndef _IO_H
2 #define _IO_H
4 #include <exec/types.h>
5 #include <aros/macros.h>
6 #include <stdint.h>
8 static inline uint32_t rd32le(uint32_t iobase) {
9 return AROS_LE2LONG(*(volatile uint32_t *)(iobase));
12 static inline uint32_t rd32be(uint32_t iobase) {
13 return AROS_BE2LONG(*(volatile uint32_t *)(iobase));
16 static inline uint16_t rd16le(uint32_t iobase) {
17 return AROS_LE2WORD(*(volatile uint16_t *)(iobase));
20 static inline uint16_t rd16be(uint32_t iobase) {
21 return AROS_BE2WORD(*(volatile uint16_t *)(iobase));
24 static inline uint8_t rd8(uint32_t iobase) {
25 return *(volatile uint8_t *)(iobase);
28 static inline void wr32le(uint32_t iobase, uint32_t value) {
29 *(volatile uint32_t *)(iobase) = AROS_LONG2LE(value);
32 static inline void wr32be(uint32_t iobase, uint32_t value) {
33 *(volatile uint32_t *)(iobase) = AROS_LONG2BE(value);
36 static inline void wr16le(uint32_t iobase, uint16_t value) {
37 *(volatile uint16_t *)(iobase) = AROS_WORD2LE(value);
40 static inline void wr16be(uint32_t iobase, uint16_t value) {
41 *(volatile uint16_t *)(iobase) = AROS_WORD2BE(value);
44 static inline void wr8be(uint32_t iobase, uint8_t value) {
45 *(volatile uint8_t *)(iobase) = value;
48 #endif /* _IO_H */