sam3x8e-pac 0.1.6-dev

Peripheral Access Crate (PAC) for the Atmel SAM3X8E.
#[doc = "Ethernet MAC 10/100"]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct Emac {
    ptr: *mut u8,
}
unsafe impl Send for Emac {}
unsafe impl Sync for Emac {}
impl Emac {
    #[inline(always)]
    pub const unsafe fn from_ptr(ptr: *mut ()) -> Self {
        Self { ptr: ptr as _ }
    }
    #[inline(always)]
    pub const fn as_ptr(&self) -> *mut () {
        self.ptr as _
    }
    #[doc = "Network Control Register"]
    #[inline(always)]
    pub const fn ncr(self) -> crate::common::Reg<regs::Ncr, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x0usize) as _) }
    }
    #[doc = "Network Configuration Register"]
    #[inline(always)]
    pub const fn ncfgr(self) -> crate::common::Reg<regs::Ncfgr, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x04usize) as _) }
    }
    #[doc = "Network Status Register"]
    #[inline(always)]
    pub const fn nsr(self) -> crate::common::Reg<regs::Nsr, crate::common::R> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x08usize) as _) }
    }
    #[doc = "Transmit Status Register"]
    #[inline(always)]
    pub const fn tsr(self) -> crate::common::Reg<regs::Tsr, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x14usize) as _) }
    }
    #[doc = "Receive Buffer Queue Pointer Register"]
    #[inline(always)]
    pub const fn rbqp(self) -> crate::common::Reg<regs::Rbqp, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x18usize) as _) }
    }
    #[doc = "Transmit Buffer Queue Pointer Register"]
    #[inline(always)]
    pub const fn tbqp(self) -> crate::common::Reg<regs::Tbqp, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x1cusize) as _) }
    }
    #[doc = "Receive Status Register"]
    #[inline(always)]
    pub const fn rsr(self) -> crate::common::Reg<regs::Rsr, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x20usize) as _) }
    }
    #[doc = "Interrupt Status Register"]
    #[inline(always)]
    pub const fn isr(self) -> crate::common::Reg<regs::Isr, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x24usize) as _) }
    }
    #[doc = "Interrupt Enable Register"]
    #[inline(always)]
    pub const fn ier(self) -> crate::common::Reg<regs::Ier, crate::common::W> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x28usize) as _) }
    }
    #[doc = "Interrupt Disable Register"]
    #[inline(always)]
    pub const fn idr(self) -> crate::common::Reg<regs::Idr, crate::common::W> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x2cusize) as _) }
    }
    #[doc = "Interrupt Mask Register"]
    #[inline(always)]
    pub const fn imr(self) -> crate::common::Reg<regs::Imr, crate::common::R> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x30usize) as _) }
    }
    #[doc = "Phy Maintenance Register"]
    #[inline(always)]
    pub const fn man(self) -> crate::common::Reg<regs::Man, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x34usize) as _) }
    }
    #[doc = "Pause Time Register"]
    #[inline(always)]
    pub const fn ptr(self) -> crate::common::Reg<regs::Ptr, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x38usize) as _) }
    }
    #[doc = "Pause Frames Received Register"]
    #[inline(always)]
    pub const fn pfr(self) -> crate::common::Reg<regs::Pfr, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x3cusize) as _) }
    }
    #[doc = "Frames Transmitted Ok Register"]
    #[inline(always)]
    pub const fn fto(self) -> crate::common::Reg<regs::Fto, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x40usize) as _) }
    }
    #[doc = "Single Collision Frames Register"]
    #[inline(always)]
    pub const fn scf(self) -> crate::common::Reg<regs::Scf, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x44usize) as _) }
    }
    #[doc = "Multiple Collision Frames Register"]
    #[inline(always)]
    pub const fn mcf(self) -> crate::common::Reg<regs::Mcf, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x48usize) as _) }
    }
    #[doc = "Frames Received Ok Register"]
    #[inline(always)]
    pub const fn fro(self) -> crate::common::Reg<regs::Fro, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x4cusize) as _) }
    }
    #[doc = "Frame Check Sequence Errors Register"]
    #[inline(always)]
    pub const fn fcse(self) -> crate::common::Reg<regs::Fcse, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x50usize) as _) }
    }
    #[doc = "Alignment Errors Register"]
    #[inline(always)]
    pub const fn ale(self) -> crate::common::Reg<regs::Ale, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x54usize) as _) }
    }
    #[doc = "Deferred Transmission Frames Register"]
    #[inline(always)]
    pub const fn dtf(self) -> crate::common::Reg<regs::Dtf, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x58usize) as _) }
    }
    #[doc = "Late Collisions Register"]
    #[inline(always)]
    pub const fn lcol(self) -> crate::common::Reg<regs::Lcol, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x5cusize) as _) }
    }
    #[doc = "Excessive Collisions Register"]
    #[inline(always)]
    pub const fn ecol(self) -> crate::common::Reg<regs::Ecol, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x60usize) as _) }
    }
    #[doc = "Transmit Underrun Errors Register"]
    #[inline(always)]
    pub const fn tund(self) -> crate::common::Reg<regs::Tund, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x64usize) as _) }
    }
    #[doc = "Carrier Sense Errors Register"]
    #[inline(always)]
    pub const fn cse(self) -> crate::common::Reg<regs::Cse, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x68usize) as _) }
    }
    #[doc = "Receive Resource Errors Register"]
    #[inline(always)]
    pub const fn rre(self) -> crate::common::Reg<regs::Rre, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x6cusize) as _) }
    }
    #[doc = "Receive Overrun Errors Register"]
    #[inline(always)]
    pub const fn rov(self) -> crate::common::Reg<regs::Rov, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x70usize) as _) }
    }
    #[doc = "Receive Symbol Errors Register"]
    #[inline(always)]
    pub const fn rse(self) -> crate::common::Reg<regs::Rse, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x74usize) as _) }
    }
    #[doc = "Excessive Length Errors Register"]
    #[inline(always)]
    pub const fn ele(self) -> crate::common::Reg<regs::Ele, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x78usize) as _) }
    }
    #[doc = "Receive Jabbers Register"]
    #[inline(always)]
    pub const fn rja(self) -> crate::common::Reg<regs::Rja, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x7cusize) as _) }
    }
    #[doc = "Undersize Frames Register"]
    #[inline(always)]
    pub const fn usf(self) -> crate::common::Reg<regs::Usf, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x80usize) as _) }
    }
    #[doc = "SQE Test Errors Register"]
    #[inline(always)]
    pub const fn ste(self) -> crate::common::Reg<regs::Ste, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x84usize) as _) }
    }
    #[doc = "Received Length Field Mismatch Register"]
    #[inline(always)]
    pub const fn rle(self) -> crate::common::Reg<regs::Rle, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x88usize) as _) }
    }
    #[doc = "Hash Register Bottom \\[31:0\\] Register"]
    #[inline(always)]
    pub const fn hrb(self) -> crate::common::Reg<regs::Hrb, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x90usize) as _) }
    }
    #[doc = "Hash Register Top \\[63:32\\] Register"]
    #[inline(always)]
    pub const fn hrt(self) -> crate::common::Reg<regs::Hrt, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x94usize) as _) }
    }
    #[doc = "Specific Address 1 Bottom Register"]
    #[inline(always)]
    pub const fn sa1b(self) -> crate::common::Reg<regs::Sa1b, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x98usize) as _) }
    }
    #[doc = "Specific Address 1 Top Register"]
    #[inline(always)]
    pub const fn sa1t(self) -> crate::common::Reg<regs::Sa1t, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0x9cusize) as _) }
    }
    #[doc = "Specific Address 2 Bottom Register"]
    #[inline(always)]
    pub const fn sa2b(self) -> crate::common::Reg<regs::Sa2b, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0xa0usize) as _) }
    }
    #[doc = "Specific Address 2 Top Register"]
    #[inline(always)]
    pub const fn sa2t(self) -> crate::common::Reg<regs::Sa2t, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0xa4usize) as _) }
    }
    #[doc = "Specific Address 3 Bottom Register"]
    #[inline(always)]
    pub const fn sa3b(self) -> crate::common::Reg<regs::Sa3b, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0xa8usize) as _) }
    }
    #[doc = "Specific Address 3 Top Register"]
    #[inline(always)]
    pub const fn sa3t(self) -> crate::common::Reg<regs::Sa3t, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0xacusize) as _) }
    }
    #[doc = "Specific Address 4 Bottom Register"]
    #[inline(always)]
    pub const fn sa4b(self) -> crate::common::Reg<regs::Sa4b, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0xb0usize) as _) }
    }
    #[doc = "Specific Address 4 Top Register"]
    #[inline(always)]
    pub const fn sa4t(self) -> crate::common::Reg<regs::Sa4t, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0xb4usize) as _) }
    }
    #[doc = "Type ID Checking Register"]
    #[inline(always)]
    pub const fn tid(self) -> crate::common::Reg<regs::Tid, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0xb8usize) as _) }
    }
    #[doc = "User Input/Output Register"]
    #[inline(always)]
    pub const fn usrio(self) -> crate::common::Reg<regs::Usrio, crate::common::RW> {
        unsafe { crate::common::Reg::from_ptr(self.ptr.wrapping_add(0xc0usize) as _) }
    }
}
pub mod regs;
pub mod vals;