1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
use crate::reg::prelude::*;
use drone_core::reg;
reg! {
pub FPU CPACR => {
address => 0xE000_ED88;
size => 0x20;
reset => 0x0000_0000;
traits => { RReg WReg };
fields => {
CP11 => { offset => 22; width => 2; traits => { RRRegField WWRegField } };
CP10 => { offset => 20; width => 2; traits => { RRRegField WWRegField } };
};
};
}
reg! {
pub FPU FPCCR => {
address => 0xE000_EF34;
size => 0x20;
reset => 0xC000_0000;
traits => { RReg WReg };
fields => {
ASPEN => { offset => 31; width => 1; traits => { RRRegField WWRegField } };
LSPEN => { offset => 30; width => 1; traits => { RRRegField WWRegField } };
MONRDY => { offset => 8; width => 1; traits => { RRRegField } };
BFRDY => { offset => 6; width => 1; traits => { RRRegField } };
MMRDY => { offset => 5; width => 1; traits => { RRRegField } };
HFRDY => { offset => 4; width => 1; traits => { RRRegField } };
THREAD => { offset => 3; width => 1; traits => { RRRegField } };
USER => { offset => 1; width => 1; traits => { RRRegField } };
LSPACT => { offset => 0; width => 1; traits => { RRRegField } };
};
};
}
reg! {
pub FPU FPCAR => {
address => 0xE000_EF38;
size => 0x20;
reset => 0x0000_0000;
traits => { RReg };
fields => {
ADDRESS => { offset => 3; width => 29; traits => { RRRegField } };
};
};
}
reg! {
pub FPU FPDSCR => {
address => 0xE000_EF3C;
size => 0x20;
reset => 0x0000_0000;
traits => { RReg WReg };
fields => {
AHP => { offset => 26; width => 1; traits => { RRRegField WWRegField } };
DN => { offset => 25; width => 1; traits => { RRRegField WWRegField } };
FZ => { offset => 24; width => 1; traits => { RRRegField WWRegField } };
RMode => { offset => 22; width => 2; traits => { RRRegField WWRegField } };
};
};
}