For best results, you should enable Javascript for our web site.
RV32 SoC
DS
UG
High-Perf RV32 SoC
DS
UG
RV64 SoC
DS
UG
API and Examples
Embedded IDE
UG
Loading...
Searching...
No Matches
io.h
Go to the documentation of this file.
1
2
// Copyright (C) 2013-2026 Efinix Inc. All rights reserved.
3
// Full license header bsp/efinix/EfxSapphireSocRV64/include/LICENSE.MD
5
#ifndef IO_H_
6
#define IO_H_
7
8
#include "
type.h
"
9
#include "soc.h"
10
11
#ifdef __cplusplus
12
extern
"C"
{
13
#endif
14
15
static
inline
ulen
read_ulen(
u32
address){
16
return
*((
volatile
ulen
*) (uintptr_t) address);
17
}
18
19
static
inline
void
write_ulen(
ulen
data,
u32
address){
20
*((
volatile
ulen
*) (uintptr_t) address) = data;
21
}
22
23
static
inline
u32
read_u32(
u32
address){
24
return
*((
volatile
u32
*)(
u64
) address);
25
}
26
27
static
inline
void
write_u32(
u32
data,
u32
address){
28
*((
volatile
u32
*)(
u64
) address) = data;
29
}
30
31
static
inline
u16
read_u16(
u32
address){
32
return
*((
volatile
u16
*)(
u64
) address);
33
}
34
35
static
inline
void
write_u16(
u16
data,
u32
address){
36
*((
volatile
u16
*)(
u64
) address) = data;
37
}
38
39
static
inline
u8
read_u8(
u32
address){
40
return
*((
volatile
u8
*)(
u64
) address);
41
}
42
43
static
inline
void
write_u8(
u8
data,
u32
address){
44
*((
volatile
u8
*)(
u64
) address) = data;
45
}
46
47
static
inline
void
write_u32_ad(
u32
address,
u32
data){
48
*((
volatile
u32
*)(
u64
) address) = data;
49
}
50
51
#define writeReg_u32(name, offset) \
52
static inline void name(u32 reg, u32 value){ \
53
write_u32(value, reg + offset); \
54
} \
55
56
#define readReg_u32(name, offset) \
57
static inline u32 name(u32 reg){ \
58
return read_u32(reg + offset); \
59
} \
60
61
#ifdef __cplusplus
62
}
63
#endif
// C_plusplus
64
65
#endif
//IO_H_
66
67
68
69
70
type.h
ulen
uint32_t ulen
Definition
type.h:21
u64
uint64_t u64
Definition
type.h:24
u8
uint8_t u8
Definition
type.h:30
u16
uint16_t u16
Definition
type.h:28
u32
uint32_t u32
Definition
type.h:26
For best results, you should enable Javascript for our web site.