54 lines
1.3 KiB
Rust
54 lines
1.3 KiB
Rust
|
#[allow(dead_code)]
|
||
|
#[derive(Clone, Copy)]
|
||
|
pub enum Register {
|
||
|
MAADR5 = 0x00,
|
||
|
MAADR6 = 0x01,
|
||
|
MAADR3 = 0x02,
|
||
|
MAADR4 = 0x03,
|
||
|
MAADR1 = 0x04,
|
||
|
MAADR2 = 0x05,
|
||
|
EBSTSD = 0x06,
|
||
|
EBSTCON = 0x07,
|
||
|
EBSTCSL = 0x08,
|
||
|
EBSTCSH = 0x09,
|
||
|
MISTAT = 0x0a,
|
||
|
EREVID = 0x12,
|
||
|
ECOCON = 0x15,
|
||
|
EFLOCON = 0x17,
|
||
|
EPAUSL = 0x18,
|
||
|
EPAUSH = 0x19,
|
||
|
}
|
||
|
|
||
|
impl Register {
|
||
|
pub(crate) fn addr(&self) -> u8 {
|
||
|
*self as u8
|
||
|
}
|
||
|
|
||
|
pub(crate) fn is_eth_register(&self) -> bool {
|
||
|
match *self {
|
||
|
Register::MAADR5 => false,
|
||
|
Register::MAADR6 => false,
|
||
|
Register::MAADR3 => false,
|
||
|
Register::MAADR4 => false,
|
||
|
Register::MAADR1 => false,
|
||
|
Register::MAADR2 => false,
|
||
|
Register::EBSTSD => true,
|
||
|
Register::EBSTCON => true,
|
||
|
Register::EBSTCSL => true,
|
||
|
Register::EBSTCSH => true,
|
||
|
Register::MISTAT => false,
|
||
|
Register::EREVID => true,
|
||
|
Register::ECOCON => true,
|
||
|
Register::EFLOCON => true,
|
||
|
Register::EPAUSL => true,
|
||
|
Register::EPAUSH => true,
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
impl Into<super::Register> for Register {
|
||
|
fn into(self) -> super::Register {
|
||
|
super::Register::Bank3(self)
|
||
|
}
|
||
|
}
|