blob: e8a7df02b4418554da9bc4089b7edb2e3d5a54a1 [file] [log] [blame]
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +02001/*
2 * Copyright (c) 2018, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef __MMIO_H__
8#define __MMIO_H__
9
10#include <stdint.h>
11
12static inline void mmio_write_8(uintptr_t addr, uint8_t value)
13{
14 *(volatile uint8_t*)addr = value;
15}
16
17static inline uint8_t mmio_read_8(uintptr_t addr)
18{
19 return *(volatile uint8_t*)addr;
20}
21
22static inline void mmio_write_32(uintptr_t addr, uint32_t value)
23{
24 *(volatile uint32_t*)addr = value;
25}
26
27static inline uint32_t mmio_read_32(uintptr_t addr)
28{
29 return *(volatile uint32_t*)addr;
30}
31
32static inline void mmio_write_64(uintptr_t addr, uint64_t value)
33{
34 *(volatile uint64_t*)addr = value;
35}
36
37static inline uint64_t mmio_read_64(uintptr_t addr)
38{
39 return *(volatile uint64_t*)addr;
40}
41
42#endif /* __MMIO_H__ */