aboutsummaryrefslogtreecommitdiff
path: root/embassy-net-enc28j60/src/bank0.rs
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-net-enc28j60/src/bank0.rs')
-rw-r--r--embassy-net-enc28j60/src/bank0.rs69
1 files changed, 69 insertions, 0 deletions
diff --git a/embassy-net-enc28j60/src/bank0.rs b/embassy-net-enc28j60/src/bank0.rs
new file mode 100644
index 000000000..1c1b3a7f6
--- /dev/null
+++ b/embassy-net-enc28j60/src/bank0.rs
@@ -0,0 +1,69 @@
1#[allow(dead_code)]
2#[derive(Clone, Copy)]
3pub enum Register {
4 ERDPTL = 0x00,
5 ERDPTH = 0x01,
6 EWRPTL = 0x02,
7 EWRPTH = 0x03,
8 ETXSTL = 0x04,
9 ETXSTH = 0x05,
10 ETXNDL = 0x06,
11 ETXNDH = 0x07,
12 ERXSTL = 0x08,
13 ERXSTH = 0x09,
14 ERXNDL = 0x0a,
15 ERXNDH = 0x0b,
16 ERXRDPTL = 0x0c,
17 ERXRDPTH = 0x0d,
18 ERXWRPTL = 0x0e,
19 ERXWRPTH = 0x0f,
20 EDMASTL = 0x10,
21 EDMASTH = 0x11,
22 EDMANDL = 0x12,
23 EDMANDH = 0x13,
24 EDMADSTL = 0x14,
25 EDMADSTH = 0x15,
26 EDMACSL = 0x16,
27 EDMACSH = 0x17,
28}
29
30impl Register {
31 pub(crate) fn addr(&self) -> u8 {
32 *self as u8
33 }
34
35 pub(crate) fn is_eth_register(&self) -> bool {
36 match *self {
37 Register::ERDPTL => true,
38 Register::ERDPTH => true,
39 Register::EWRPTL => true,
40 Register::EWRPTH => true,
41 Register::ETXSTL => true,
42 Register::ETXSTH => true,
43 Register::ETXNDL => true,
44 Register::ETXNDH => true,
45 Register::ERXSTL => true,
46 Register::ERXSTH => true,
47 Register::ERXNDL => true,
48 Register::ERXNDH => true,
49 Register::ERXRDPTL => true,
50 Register::ERXRDPTH => true,
51 Register::ERXWRPTL => true,
52 Register::ERXWRPTH => true,
53 Register::EDMASTL => true,
54 Register::EDMASTH => true,
55 Register::EDMANDL => true,
56 Register::EDMANDH => true,
57 Register::EDMADSTL => true,
58 Register::EDMADSTH => true,
59 Register::EDMACSL => true,
60 Register::EDMACSH => true,
61 }
62 }
63}
64
65impl Into<super::Register> for Register {
66 fn into(self) -> super::Register {
67 super::Register::Bank0(self)
68 }
69}