4 #include <exec/types.h>
5 #include <aros/macros.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
;