#ifndef _IO_H
#define _IO_H

#include <stddef.h>
#include <stdint.h>

#include "arch_barriers.h"

static inline uint32_t io_read(size_t addr)
{
	return *(volatile uint32_t *)addr;
}

static inline uint32_t io_read_mb(size_t addr)
{
	uint32_t v = io_read(addr);
	dsb();
	isb();
	return v;
}

static inline void io_write(size_t addr, uint32_t v)
{
	*(volatile uint32_t *)addr = v;
}

static inline void io_write_mb(size_t addr, uint32_t v)
{
	dsb();
	isb();
	io_write(addr, v);
}

#endif  /* _IO_H */
