1439 lines
118 KiB
Rust
1439 lines
118 KiB
Rust
#![allow(clippy::missing_safety_doc)]
|
|
#![allow(clippy::identity_op)]
|
|
#![allow(clippy::unnecessary_cast)]
|
|
#![allow(clippy::erasing_op)]
|
|
|
|
# [doc = "OTG_HS."]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Otg { ptr : * mut u8 } unsafe impl Send for Otg { } unsafe impl Sync for Otg { } impl Otg { # [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 = "Control and status register"]
|
|
# [inline (always)]
|
|
pub const fn gotgctl (self) -> crate :: common :: Reg < regs :: Gotgctl , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0usize) as _) } } # [doc = "Interrupt register"]
|
|
# [inline (always)]
|
|
pub const fn gotgint (self) -> crate :: common :: Reg < regs :: Gotgint , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x04usize) as _) } } # [doc = "AHB configuration register"]
|
|
# [inline (always)]
|
|
pub const fn gahbcfg (self) -> crate :: common :: Reg < regs :: Gahbcfg , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x08usize) as _) } } # [doc = "USB configuration register"]
|
|
# [inline (always)]
|
|
pub const fn gusbcfg (self) -> crate :: common :: Reg < regs :: Gusbcfg , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0cusize) as _) } } # [doc = "Reset register"]
|
|
# [inline (always)]
|
|
pub const fn grstctl (self) -> crate :: common :: Reg < regs :: Grstctl , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x10usize) as _) } } # [doc = "Core interrupt register"]
|
|
# [inline (always)]
|
|
pub const fn gintsts (self) -> crate :: common :: Reg < regs :: Gintsts , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x14usize) as _) } } # [doc = "Interrupt mask register"]
|
|
# [inline (always)]
|
|
pub const fn gintmsk (self) -> crate :: common :: Reg < regs :: Gintmsk , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x18usize) as _) } } # [doc = "Receive status debug read register"]
|
|
# [inline (always)]
|
|
pub const fn grxstsr (self) -> crate :: common :: Reg < regs :: Grxsts , crate :: common :: R > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x1cusize) as _) } } # [doc = "Status read and pop register"]
|
|
# [inline (always)]
|
|
pub const fn grxstsp (self) -> crate :: common :: Reg < regs :: Grxsts , crate :: common :: R > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x20usize) as _) } } # [doc = "Receive FIFO size register"]
|
|
# [inline (always)]
|
|
pub const fn grxfsiz (self) -> crate :: common :: Reg < regs :: Grxfsiz , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x24usize) as _) } } # [doc = "Endpoint 0 transmit FIFO size register (device mode)"]
|
|
# [inline (always)]
|
|
pub const fn dieptxf0 (self) -> crate :: common :: Reg < regs :: Fsiz , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x28usize) as _) } } # [doc = "General core configuration register, for core_id 0x0000_1xxx"]
|
|
# [inline (always)]
|
|
pub const fn gccfg_v1 (self) -> crate :: common :: Reg < regs :: GccfgV1 , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x38usize) as _) } } # [doc = "General core configuration register, for core_id 0x0000_\\[23\\]xxx"]
|
|
# [inline (always)]
|
|
pub const fn gccfg_v2 (self) -> crate :: common :: Reg < regs :: GccfgV2 , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x38usize) as _) } } # [doc = "Core ID register"]
|
|
# [inline (always)]
|
|
pub const fn cid (self) -> crate :: common :: Reg < regs :: Cid , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x3cusize) as _) } } # [doc = "OTG core LPM configuration register"]
|
|
# [inline (always)]
|
|
pub const fn glpmcfg (self) -> crate :: common :: Reg < regs :: Glpmcfg , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x54usize) as _) } } # [doc = "Device IN endpoint transmit FIFO size register"]
|
|
# [inline (always)]
|
|
pub const fn dieptxf (self , n : usize) -> crate :: common :: Reg < regs :: Fsiz , crate :: common :: RW > { assert ! (n < 7usize) ; unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0104usize + n * 4usize) as _) } } # [doc = "Host configuration register"]
|
|
# [inline (always)]
|
|
pub const fn hcfg (self) -> crate :: common :: Reg < regs :: Hcfg , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0400usize) as _) } } # [doc = "Host frame interval register"]
|
|
# [inline (always)]
|
|
pub const fn hfir (self) -> crate :: common :: Reg < regs :: Hfir , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0404usize) as _) } } # [doc = "Host frame number/frame time remaining register"]
|
|
# [inline (always)]
|
|
pub const fn hfnum (self) -> crate :: common :: Reg < regs :: Hfnum , crate :: common :: R > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0408usize) as _) } } # [doc = "Periodic transmit FIFO/queue status register"]
|
|
# [inline (always)]
|
|
pub const fn hptxsts (self) -> crate :: common :: Reg < u32 , crate :: common :: R > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0410usize) as _) } } # [doc = "Host all channels interrupt register"]
|
|
# [inline (always)]
|
|
pub const fn haint (self) -> crate :: common :: Reg < regs :: Haint , crate :: common :: R > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0414usize) as _) } } # [doc = "Host all channels interrupt mask register"]
|
|
# [inline (always)]
|
|
pub const fn haintmsk (self) -> crate :: common :: Reg < regs :: Haintmsk , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0418usize) as _) } } # [doc = "Host port control and status register"]
|
|
# [inline (always)]
|
|
pub const fn hprt (self) -> crate :: common :: Reg < regs :: Hprt , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0440usize) as _) } } # [doc = "Device configuration register"]
|
|
# [inline (always)]
|
|
pub const fn dcfg (self) -> crate :: common :: Reg < regs :: Dcfg , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0800usize) as _) } } # [doc = "Device control register"]
|
|
# [inline (always)]
|
|
pub const fn dctl (self) -> crate :: common :: Reg < regs :: Dctl , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0804usize) as _) } } # [doc = "Device status register"]
|
|
# [inline (always)]
|
|
pub const fn dsts (self) -> crate :: common :: Reg < regs :: Dsts , crate :: common :: R > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0808usize) as _) } } # [doc = "Device IN endpoint common interrupt mask register"]
|
|
# [inline (always)]
|
|
pub const fn diepmsk (self) -> crate :: common :: Reg < regs :: Diepmsk , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0810usize) as _) } } # [doc = "Device OUT endpoint common interrupt mask register"]
|
|
# [inline (always)]
|
|
pub const fn doepmsk (self) -> crate :: common :: Reg < regs :: Doepmsk , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0814usize) as _) } } # [doc = "Device all endpoints interrupt register"]
|
|
# [inline (always)]
|
|
pub const fn daint (self) -> crate :: common :: Reg < regs :: Daint , crate :: common :: R > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0818usize) as _) } } # [doc = "All endpoints interrupt mask register"]
|
|
# [inline (always)]
|
|
pub const fn daintmsk (self) -> crate :: common :: Reg < regs :: Daintmsk , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x081cusize) as _) } } # [doc = "Device VBUS discharge time register"]
|
|
# [inline (always)]
|
|
pub const fn dvbusdis (self) -> crate :: common :: Reg < regs :: Dvbusdis , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0828usize) as _) } } # [doc = "Device VBUS pulsing time register"]
|
|
# [inline (always)]
|
|
pub const fn dvbuspulse (self) -> crate :: common :: Reg < regs :: Dvbuspulse , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x082cusize) as _) } } # [doc = "OTG device threshold control register."]
|
|
# [inline (always)]
|
|
pub const fn dthrctl (self) -> crate :: common :: Reg < regs :: Dthrctl , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0830usize) as _) } } # [doc = "Device IN endpoint FIFO empty interrupt mask register"]
|
|
# [inline (always)]
|
|
pub const fn diepempmsk (self) -> crate :: common :: Reg < regs :: Diepempmsk , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0834usize) as _) } } # [doc = "OTG device each OUT endpoint-1 interrupt mask register."]
|
|
# [inline (always)]
|
|
pub const fn hs_doepeachmsk1 (self) -> crate :: common :: Reg < regs :: HsDoepeachmsk1 , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0884usize) as _) } } # [doc = "Device IN endpoint control register"]
|
|
# [inline (always)]
|
|
pub const fn diepctl (self , n : usize) -> crate :: common :: Reg < regs :: Diepctl , crate :: common :: RW > { assert ! (n < 16usize) ; unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0900usize + n * 32usize) as _) } } # [doc = "Device IN endpoint interrupt register"]
|
|
# [inline (always)]
|
|
pub const fn diepint (self , n : usize) -> crate :: common :: Reg < regs :: Diepint , crate :: common :: RW > { assert ! (n < 16usize) ; unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0908usize + n * 32usize) as _) } } # [doc = "Device IN endpoint transfer size register"]
|
|
# [inline (always)]
|
|
pub const fn dieptsiz (self , n : usize) -> crate :: common :: Reg < regs :: Dieptsiz , crate :: common :: RW > { assert ! (n < 16usize) ; unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0910usize + n * 32usize) as _) } } # [doc = "Device IN endpoint transmit FIFO status register"]
|
|
# [inline (always)]
|
|
pub const fn dtxfsts (self , n : usize) -> crate :: common :: Reg < regs :: Dtxfsts , crate :: common :: R > { assert ! (n < 16usize) ; unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0918usize + n * 32usize) as _) } } # [doc = "Device OUT endpoint control register"]
|
|
# [inline (always)]
|
|
pub const fn doepctl (self , n : usize) -> crate :: common :: Reg < regs :: Doepctl , crate :: common :: RW > { assert ! (n < 16usize) ; unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0b00usize + n * 32usize) as _) } } # [doc = "Device OUT endpoint interrupt register"]
|
|
# [inline (always)]
|
|
pub const fn doepint (self , n : usize) -> crate :: common :: Reg < regs :: Doepint , crate :: common :: RW > { assert ! (n < 16usize) ; unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0b08usize + n * 32usize) as _) } } # [doc = "Device OUT endpoint transfer size register"]
|
|
# [inline (always)]
|
|
pub const fn doeptsiz (self , n : usize) -> crate :: common :: Reg < regs :: Doeptsiz , crate :: common :: RW > { assert ! (n < 16usize) ; unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0b10usize + n * 32usize) as _) } } # [doc = "OTG device OUT endpoint 0 DMA address register."]
|
|
# [inline (always)]
|
|
pub const fn doepdma (self , n : usize) -> crate :: common :: Reg < regs :: Doepdma , crate :: common :: RW > { assert ! (n < 16usize) ; unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0b14usize + n * 32usize) as _) } } # [doc = "Power and clock gating control register"]
|
|
# [inline (always)]
|
|
pub const fn pcgcctl (self) -> crate :: common :: Reg < regs :: Pcgcctl , crate :: common :: RW > { unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x0e00usize) as _) } } # [doc = "Device endpoint / host channel FIFO register"]
|
|
# [inline (always)]
|
|
pub const fn fifo (self , n : usize) -> crate :: common :: Reg < regs :: Fifo , crate :: common :: RW > { assert ! (n < 16usize) ; unsafe { crate :: common :: Reg :: from_ptr (self . ptr . add (0x1000usize + n * 4096usize) as _) } } } pub mod regs { # [doc = "Core ID register"]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Cid (pub u32) ; impl Cid { # [doc = "Product ID field"]
|
|
# [inline (always)]
|
|
pub const fn product_id (& self) -> u32 { let val = (self . 0 >> 0usize) & 0xffff_ffff ; val as u32 } # [doc = "Product ID field"]
|
|
# [inline (always)]
|
|
pub fn set_product_id (& mut self , val : u32) { self . 0 = (self . 0 & ! (0xffff_ffff << 0usize)) | (((val as u32) & 0xffff_ffff) << 0usize) ; } } impl Default for Cid { # [inline (always)]
|
|
fn default () -> Cid { Cid (0) } } # [doc = "Device all endpoints interrupt register"]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Daint (pub u32) ; impl Daint { # [doc = "IN endpoint interrupt bits"]
|
|
# [inline (always)]
|
|
pub const fn iepint (& self) -> u16 { let val = (self . 0 >> 0usize) & 0xffff ; val as u16 } # [doc = "IN endpoint interrupt bits"]
|
|
# [inline (always)]
|
|
pub fn set_iepint (& mut self , val : u16) { self . 0 = (self . 0 & ! (0xffff << 0usize)) | (((val as u32) & 0xffff) << 0usize) ; } # [doc = "OUT endpoint interrupt bits"]
|
|
# [inline (always)]
|
|
pub const fn oepint (& self) -> u16 { let val = (self . 0 >> 16usize) & 0xffff ; val as u16 } # [doc = "OUT endpoint interrupt bits"]
|
|
# [inline (always)]
|
|
pub fn set_oepint (& mut self , val : u16) { self . 0 = (self . 0 & ! (0xffff << 16usize)) | (((val as u32) & 0xffff) << 16usize) ; } } impl Default for Daint { # [inline (always)]
|
|
fn default () -> Daint { Daint (0) } } # [doc = "All endpoints interrupt mask register"]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Daintmsk (pub u32) ; impl Daintmsk { # [doc = "IN EP interrupt mask bits"]
|
|
# [inline (always)]
|
|
pub const fn iepm (& self) -> u16 { let val = (self . 0 >> 0usize) & 0xffff ; val as u16 } # [doc = "IN EP interrupt mask bits"]
|
|
# [inline (always)]
|
|
pub fn set_iepm (& mut self , val : u16) { self . 0 = (self . 0 & ! (0xffff << 0usize)) | (((val as u32) & 0xffff) << 0usize) ; } # [doc = "OUT EP interrupt mask bits"]
|
|
# [inline (always)]
|
|
pub const fn oepm (& self) -> u16 { let val = (self . 0 >> 16usize) & 0xffff ; val as u16 } # [doc = "OUT EP interrupt mask bits"]
|
|
# [inline (always)]
|
|
pub fn set_oepm (& mut self , val : u16) { self . 0 = (self . 0 & ! (0xffff << 16usize)) | (((val as u32) & 0xffff) << 16usize) ; } } impl Default for Daintmsk { # [inline (always)]
|
|
fn default () -> Daintmsk { Daintmsk (0) } } # [doc = "Device configuration register"]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Dcfg (pub u32) ; impl Dcfg { # [doc = "Device speed"]
|
|
# [inline (always)]
|
|
pub const fn dspd (& self) -> super :: vals :: Dspd { let val = (self . 0 >> 0usize) & 0x03 ; super :: vals :: Dspd :: from_bits (val as u8) } # [doc = "Device speed"]
|
|
# [inline (always)]
|
|
pub fn set_dspd (& mut self , val : super :: vals :: Dspd) { self . 0 = (self . 0 & ! (0x03 << 0usize)) | (((val . to_bits () as u32) & 0x03) << 0usize) ; } # [doc = "Non-zero-length status OUT handshake"]
|
|
# [inline (always)]
|
|
pub const fn nzlsohsk (& self) -> bool { let val = (self . 0 >> 2usize) & 0x01 ; val != 0 } # [doc = "Non-zero-length status OUT handshake"]
|
|
# [inline (always)]
|
|
pub fn set_nzlsohsk (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 2usize)) | (((val as u32) & 0x01) << 2usize) ; } # [doc = "Device address"]
|
|
# [inline (always)]
|
|
pub const fn dad (& self) -> u8 { let val = (self . 0 >> 4usize) & 0x7f ; val as u8 } # [doc = "Device address"]
|
|
# [inline (always)]
|
|
pub fn set_dad (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x7f << 4usize)) | (((val as u32) & 0x7f) << 4usize) ; } # [doc = "PFIVL."]
|
|
# [inline (always)]
|
|
pub const fn pfivl (& self) -> u8 { let val = (self . 0 >> 11usize) & 0x03 ; val as u8 } # [doc = "PFIVL."]
|
|
# [inline (always)]
|
|
pub fn set_pfivl (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x03 << 11usize)) | (((val as u32) & 0x03) << 11usize) ; } # [doc = "ERRATIM."]
|
|
# [inline (always)]
|
|
pub const fn erratim (& self) -> bool { let val = (self . 0 >> 15usize) & 0x01 ; val != 0 } # [doc = "ERRATIM."]
|
|
# [inline (always)]
|
|
pub fn set_erratim (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 15usize)) | (((val as u32) & 0x01) << 15usize) ; } } impl Default for Dcfg { # [inline (always)]
|
|
fn default () -> Dcfg { Dcfg (0) } } # [doc = "Device control register"]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Dctl (pub u32) ; impl Dctl { # [doc = "Remote wakeup signaling"]
|
|
# [inline (always)]
|
|
pub const fn rwusig (& self) -> bool { let val = (self . 0 >> 0usize) & 0x01 ; val != 0 } # [doc = "Remote wakeup signaling"]
|
|
# [inline (always)]
|
|
pub fn set_rwusig (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize) ; } # [doc = "Soft disconnect"]
|
|
# [inline (always)]
|
|
pub const fn sdis (& self) -> bool { let val = (self . 0 >> 1usize) & 0x01 ; val != 0 } # [doc = "Soft disconnect"]
|
|
# [inline (always)]
|
|
pub fn set_sdis (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 1usize)) | (((val as u32) & 0x01) << 1usize) ; } # [doc = "Global IN NAK status"]
|
|
# [inline (always)]
|
|
pub const fn ginsts (& self) -> bool { let val = (self . 0 >> 2usize) & 0x01 ; val != 0 } # [doc = "Global IN NAK status"]
|
|
# [inline (always)]
|
|
pub fn set_ginsts (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 2usize)) | (((val as u32) & 0x01) << 2usize) ; } # [doc = "Global OUT NAK status"]
|
|
# [inline (always)]
|
|
pub const fn gonsts (& self) -> bool { let val = (self . 0 >> 3usize) & 0x01 ; val != 0 } # [doc = "Global OUT NAK status"]
|
|
# [inline (always)]
|
|
pub fn set_gonsts (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 3usize)) | (((val as u32) & 0x01) << 3usize) ; } # [doc = "Test control"]
|
|
# [inline (always)]
|
|
pub const fn tctl (& self) -> u8 { let val = (self . 0 >> 4usize) & 0x07 ; val as u8 } # [doc = "Test control"]
|
|
# [inline (always)]
|
|
pub fn set_tctl (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x07 << 4usize)) | (((val as u32) & 0x07) << 4usize) ; } # [doc = "SGINAK."]
|
|
# [inline (always)]
|
|
pub const fn sginak (& self) -> bool { let val = (self . 0 >> 7usize) & 0x01 ; val != 0 } # [doc = "SGINAK."]
|
|
# [inline (always)]
|
|
pub fn set_sginak (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 7usize)) | (((val as u32) & 0x01) << 7usize) ; } # [doc = "CGINAK."]
|
|
# [inline (always)]
|
|
pub const fn cginak (& self) -> bool { let val = (self . 0 >> 8usize) & 0x01 ; val != 0 } # [doc = "CGINAK."]
|
|
# [inline (always)]
|
|
pub fn set_cginak (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 8usize)) | (((val as u32) & 0x01) << 8usize) ; } # [doc = "SGONAK."]
|
|
# [inline (always)]
|
|
pub const fn sgonak (& self) -> bool { let val = (self . 0 >> 9usize) & 0x01 ; val != 0 } # [doc = "SGONAK."]
|
|
# [inline (always)]
|
|
pub fn set_sgonak (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 9usize)) | (((val as u32) & 0x01) << 9usize) ; } # [doc = "CGONAK."]
|
|
# [inline (always)]
|
|
pub const fn cgonak (& self) -> bool { let val = (self . 0 >> 10usize) & 0x01 ; val != 0 } # [doc = "CGONAK."]
|
|
# [inline (always)]
|
|
pub fn set_cgonak (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 10usize)) | (((val as u32) & 0x01) << 10usize) ; } # [doc = "POPRGDNE."]
|
|
# [inline (always)]
|
|
pub const fn poprgdne (& self) -> bool { let val = (self . 0 >> 11usize) & 0x01 ; val != 0 } # [doc = "POPRGDNE."]
|
|
# [inline (always)]
|
|
pub fn set_poprgdne (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 11usize)) | (((val as u32) & 0x01) << 11usize) ; } # [doc = "DSBESLRJCT."]
|
|
# [inline (always)]
|
|
pub const fn dsbeslrjct (& self) -> bool { let val = (self . 0 >> 18usize) & 0x01 ; val != 0 } # [doc = "DSBESLRJCT."]
|
|
# [inline (always)]
|
|
pub fn set_dsbeslrjct (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 18usize)) | (((val as u32) & 0x01) << 18usize) ; } } impl Default for Dctl { # [inline (always)]
|
|
fn default () -> Dctl { Dctl (0) } } # [doc = "Device endpoint control register"]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Diepctl (pub u32) ; impl Diepctl { # [doc = "MPSIZ"]
|
|
# [inline (always)]
|
|
pub const fn mpsiz (& self) -> u16 { let val = (self . 0 >> 0usize) & 0x07ff ; val as u16 } # [doc = "MPSIZ"]
|
|
# [inline (always)]
|
|
pub fn set_mpsiz (& mut self , val : u16) { self . 0 = (self . 0 & ! (0x07ff << 0usize)) | (((val as u32) & 0x07ff) << 0usize) ; } # [doc = "USBAEP"]
|
|
# [inline (always)]
|
|
pub const fn usbaep (& self) -> bool { let val = (self . 0 >> 15usize) & 0x01 ; val != 0 } # [doc = "USBAEP"]
|
|
# [inline (always)]
|
|
pub fn set_usbaep (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 15usize)) | (((val as u32) & 0x01) << 15usize) ; } # [doc = "EONUM/DPID"]
|
|
# [inline (always)]
|
|
pub const fn eonum_dpid (& self) -> bool { let val = (self . 0 >> 16usize) & 0x01 ; val != 0 } # [doc = "EONUM/DPID"]
|
|
# [inline (always)]
|
|
pub fn set_eonum_dpid (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 16usize)) | (((val as u32) & 0x01) << 16usize) ; } # [doc = "NAKSTS"]
|
|
# [inline (always)]
|
|
pub const fn naksts (& self) -> bool { let val = (self . 0 >> 17usize) & 0x01 ; val != 0 } # [doc = "NAKSTS"]
|
|
# [inline (always)]
|
|
pub fn set_naksts (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 17usize)) | (((val as u32) & 0x01) << 17usize) ; } # [doc = "EPTYP"]
|
|
# [inline (always)]
|
|
pub const fn eptyp (& self) -> super :: vals :: Eptyp { let val = (self . 0 >> 18usize) & 0x03 ; super :: vals :: Eptyp :: from_bits (val as u8) } # [doc = "EPTYP"]
|
|
# [inline (always)]
|
|
pub fn set_eptyp (& mut self , val : super :: vals :: Eptyp) { self . 0 = (self . 0 & ! (0x03 << 18usize)) | (((val . to_bits () as u32) & 0x03) << 18usize) ; } # [doc = "SNPM"]
|
|
# [inline (always)]
|
|
pub const fn snpm (& self) -> bool { let val = (self . 0 >> 20usize) & 0x01 ; val != 0 } # [doc = "SNPM"]
|
|
# [inline (always)]
|
|
pub fn set_snpm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 20usize)) | (((val as u32) & 0x01) << 20usize) ; } # [doc = "STALL"]
|
|
# [inline (always)]
|
|
pub const fn stall (& self) -> bool { let val = (self . 0 >> 21usize) & 0x01 ; val != 0 } # [doc = "STALL"]
|
|
# [inline (always)]
|
|
pub fn set_stall (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 21usize)) | (((val as u32) & 0x01) << 21usize) ; } # [doc = "TXFNUM"]
|
|
# [inline (always)]
|
|
pub const fn txfnum (& self) -> u8 { let val = (self . 0 >> 22usize) & 0x0f ; val as u8 } # [doc = "TXFNUM"]
|
|
# [inline (always)]
|
|
pub fn set_txfnum (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x0f << 22usize)) | (((val as u32) & 0x0f) << 22usize) ; } # [doc = "CNAK"]
|
|
# [inline (always)]
|
|
pub const fn cnak (& self) -> bool { let val = (self . 0 >> 26usize) & 0x01 ; val != 0 } # [doc = "CNAK"]
|
|
# [inline (always)]
|
|
pub fn set_cnak (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 26usize)) | (((val as u32) & 0x01) << 26usize) ; } # [doc = "SNAK"]
|
|
# [inline (always)]
|
|
pub const fn snak (& self) -> bool { let val = (self . 0 >> 27usize) & 0x01 ; val != 0 } # [doc = "SNAK"]
|
|
# [inline (always)]
|
|
pub fn set_snak (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 27usize)) | (((val as u32) & 0x01) << 27usize) ; } # [doc = "SD0PID/SEVNFRM"]
|
|
# [inline (always)]
|
|
pub const fn sd0pid_sevnfrm (& self) -> bool { let val = (self . 0 >> 28usize) & 0x01 ; val != 0 } # [doc = "SD0PID/SEVNFRM"]
|
|
# [inline (always)]
|
|
pub fn set_sd0pid_sevnfrm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 28usize)) | (((val as u32) & 0x01) << 28usize) ; } # [doc = "SODDFRM/SD1PID"]
|
|
# [inline (always)]
|
|
pub const fn soddfrm_sd1pid (& self) -> bool { let val = (self . 0 >> 29usize) & 0x01 ; val != 0 } # [doc = "SODDFRM/SD1PID"]
|
|
# [inline (always)]
|
|
pub fn set_soddfrm_sd1pid (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 29usize)) | (((val as u32) & 0x01) << 29usize) ; } # [doc = "EPDIS"]
|
|
# [inline (always)]
|
|
pub const fn epdis (& self) -> bool { let val = (self . 0 >> 30usize) & 0x01 ; val != 0 } # [doc = "EPDIS"]
|
|
# [inline (always)]
|
|
pub fn set_epdis (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 30usize)) | (((val as u32) & 0x01) << 30usize) ; } # [doc = "EPENA"]
|
|
# [inline (always)]
|
|
pub const fn epena (& self) -> bool { let val = (self . 0 >> 31usize) & 0x01 ; val != 0 } # [doc = "EPENA"]
|
|
# [inline (always)]
|
|
pub fn set_epena (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 31usize)) | (((val as u32) & 0x01) << 31usize) ; } } impl Default for Diepctl { # [inline (always)]
|
|
fn default () -> Diepctl { Diepctl (0) } } # [doc = "This register is used to control the IN endpoint FIFO empty interrupt generation (TXFE_DIEPINTx)."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Diepempmsk (pub u32) ; impl Diepempmsk { # [doc = "INEPTXFEM."]
|
|
# [inline (always)]
|
|
pub const fn ineptxfem (& self) -> u16 { let val = (self . 0 >> 0usize) & 0xffff ; val as u16 } # [doc = "INEPTXFEM."]
|
|
# [inline (always)]
|
|
pub fn set_ineptxfem (& mut self , val : u16) { self . 0 = (self . 0 & ! (0xffff << 0usize)) | (((val as u32) & 0xffff) << 0usize) ; } } impl Default for Diepempmsk { # [inline (always)]
|
|
fn default () -> Diepempmsk { Diepempmsk (0) } } # [doc = "Device endpoint interrupt register"]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Diepint (pub u32) ; impl Diepint { # [doc = "XFRC"]
|
|
# [inline (always)]
|
|
pub const fn xfrc (& self) -> bool { let val = (self . 0 >> 0usize) & 0x01 ; val != 0 } # [doc = "XFRC"]
|
|
# [inline (always)]
|
|
pub fn set_xfrc (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize) ; } # [doc = "EPDISD"]
|
|
# [inline (always)]
|
|
pub const fn epdisd (& self) -> bool { let val = (self . 0 >> 1usize) & 0x01 ; val != 0 } # [doc = "EPDISD"]
|
|
# [inline (always)]
|
|
pub fn set_epdisd (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 1usize)) | (((val as u32) & 0x01) << 1usize) ; } # [doc = "TOC"]
|
|
# [inline (always)]
|
|
pub const fn toc (& self) -> bool { let val = (self . 0 >> 3usize) & 0x01 ; val != 0 } # [doc = "TOC"]
|
|
# [inline (always)]
|
|
pub fn set_toc (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 3usize)) | (((val as u32) & 0x01) << 3usize) ; } # [doc = "ITTXFE"]
|
|
# [inline (always)]
|
|
pub const fn ittxfe (& self) -> bool { let val = (self . 0 >> 4usize) & 0x01 ; val != 0 } # [doc = "ITTXFE"]
|
|
# [inline (always)]
|
|
pub fn set_ittxfe (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 4usize)) | (((val as u32) & 0x01) << 4usize) ; } # [doc = "INEPNM."]
|
|
# [inline (always)]
|
|
pub const fn inepnm (& self) -> bool { let val = (self . 0 >> 5usize) & 0x01 ; val != 0 } # [doc = "INEPNM."]
|
|
# [inline (always)]
|
|
pub fn set_inepnm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 5usize)) | (((val as u32) & 0x01) << 5usize) ; } # [doc = "INEPNE"]
|
|
# [inline (always)]
|
|
pub const fn inepne (& self) -> bool { let val = (self . 0 >> 6usize) & 0x01 ; val != 0 } # [doc = "INEPNE"]
|
|
# [inline (always)]
|
|
pub fn set_inepne (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 6usize)) | (((val as u32) & 0x01) << 6usize) ; } # [doc = "TXFE"]
|
|
# [inline (always)]
|
|
pub const fn txfe (& self) -> bool { let val = (self . 0 >> 7usize) & 0x01 ; val != 0 } # [doc = "TXFE"]
|
|
# [inline (always)]
|
|
pub fn set_txfe (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 7usize)) | (((val as u32) & 0x01) << 7usize) ; } # [doc = "PKTDRPSTS."]
|
|
# [inline (always)]
|
|
pub const fn pktdrpsts (& self) -> bool { let val = (self . 0 >> 11usize) & 0x01 ; val != 0 } # [doc = "PKTDRPSTS."]
|
|
# [inline (always)]
|
|
pub fn set_pktdrpsts (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 11usize)) | (((val as u32) & 0x01) << 11usize) ; } # [doc = "NAK."]
|
|
# [inline (always)]
|
|
pub const fn nak (& self) -> bool { let val = (self . 0 >> 13usize) & 0x01 ; val != 0 } # [doc = "NAK."]
|
|
# [inline (always)]
|
|
pub fn set_nak (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 13usize)) | (((val as u32) & 0x01) << 13usize) ; } } impl Default for Diepint { # [inline (always)]
|
|
fn default () -> Diepint { Diepint (0) } } # [doc = "This register works with each of the DIEPINTx registers for all endpoints to generate an interrupt per IN endpoint. The IN endpoint interrupt for a specific status in the DIEPINTx register can be masked by writing to the corresponding bit in this register. Status bits are masked by default."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Diepmsk (pub u32) ; impl Diepmsk { # [doc = "XFRCM."]
|
|
# [inline (always)]
|
|
pub const fn xfrcm (& self) -> bool { let val = (self . 0 >> 0usize) & 0x01 ; val != 0 } # [doc = "XFRCM."]
|
|
# [inline (always)]
|
|
pub fn set_xfrcm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize) ; } # [doc = "EPDM."]
|
|
# [inline (always)]
|
|
pub const fn epdm (& self) -> bool { let val = (self . 0 >> 1usize) & 0x01 ; val != 0 } # [doc = "EPDM."]
|
|
# [inline (always)]
|
|
pub fn set_epdm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 1usize)) | (((val as u32) & 0x01) << 1usize) ; } # [doc = "AHBERRM."]
|
|
# [inline (always)]
|
|
pub const fn ahberrm (& self) -> bool { let val = (self . 0 >> 2usize) & 0x01 ; val != 0 } # [doc = "AHBERRM."]
|
|
# [inline (always)]
|
|
pub fn set_ahberrm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 2usize)) | (((val as u32) & 0x01) << 2usize) ; } # [doc = "TOM."]
|
|
# [inline (always)]
|
|
pub const fn tom (& self) -> bool { let val = (self . 0 >> 3usize) & 0x01 ; val != 0 } # [doc = "TOM."]
|
|
# [inline (always)]
|
|
pub fn set_tom (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 3usize)) | (((val as u32) & 0x01) << 3usize) ; } # [doc = "ITTXFEMSK."]
|
|
# [inline (always)]
|
|
pub const fn ittxfemsk (& self) -> bool { let val = (self . 0 >> 4usize) & 0x01 ; val != 0 } # [doc = "ITTXFEMSK."]
|
|
# [inline (always)]
|
|
pub fn set_ittxfemsk (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 4usize)) | (((val as u32) & 0x01) << 4usize) ; } # [doc = "INEPNMM."]
|
|
# [inline (always)]
|
|
pub const fn inepnmm (& self) -> bool { let val = (self . 0 >> 5usize) & 0x01 ; val != 0 } # [doc = "INEPNMM."]
|
|
# [inline (always)]
|
|
pub fn set_inepnmm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 5usize)) | (((val as u32) & 0x01) << 5usize) ; } # [doc = "INEPNEM."]
|
|
# [inline (always)]
|
|
pub const fn inepnem (& self) -> bool { let val = (self . 0 >> 6usize) & 0x01 ; val != 0 } # [doc = "INEPNEM."]
|
|
# [inline (always)]
|
|
pub fn set_inepnem (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 6usize)) | (((val as u32) & 0x01) << 6usize) ; } # [doc = "TXFURM."]
|
|
# [inline (always)]
|
|
pub const fn txfurm (& self) -> bool { let val = (self . 0 >> 8usize) & 0x01 ; val != 0 } # [doc = "TXFURM."]
|
|
# [inline (always)]
|
|
pub fn set_txfurm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 8usize)) | (((val as u32) & 0x01) << 8usize) ; } # [doc = "NAKM."]
|
|
# [inline (always)]
|
|
pub const fn nakm (& self) -> bool { let val = (self . 0 >> 13usize) & 0x01 ; val != 0 } # [doc = "NAKM."]
|
|
# [inline (always)]
|
|
pub fn set_nakm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 13usize)) | (((val as u32) & 0x01) << 13usize) ; } } impl Default for Diepmsk { # [inline (always)]
|
|
fn default () -> Diepmsk { Diepmsk (0) } } # [doc = "The application must modify this register before enabling endpoint 0."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Dieptsiz (pub u32) ; impl Dieptsiz { # [doc = "XFRSIZ."]
|
|
# [inline (always)]
|
|
pub const fn xfrsiz (& self) -> u32 { let val = (self . 0 >> 0usize) & 0x0007_ffff ; val as u32 } # [doc = "XFRSIZ."]
|
|
# [inline (always)]
|
|
pub fn set_xfrsiz (& mut self , val : u32) { self . 0 = (self . 0 & ! (0x0007_ffff << 0usize)) | (((val as u32) & 0x0007_ffff) << 0usize) ; } # [doc = "PKTCNT."]
|
|
# [inline (always)]
|
|
pub const fn pktcnt (& self) -> u16 { let val = (self . 0 >> 19usize) & 0x03ff ; val as u16 } # [doc = "PKTCNT."]
|
|
# [inline (always)]
|
|
pub fn set_pktcnt (& mut self , val : u16) { self . 0 = (self . 0 & ! (0x03ff << 19usize)) | (((val as u32) & 0x03ff) << 19usize) ; } # [doc = "Multi count"]
|
|
# [inline (always)]
|
|
pub const fn mcnt (& self) -> u8 { let val = (self . 0 >> 29usize) & 0x03 ; val as u8 } # [doc = "Multi count"]
|
|
# [inline (always)]
|
|
pub fn set_mcnt (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x03 << 29usize)) | (((val as u32) & 0x03) << 29usize) ; } } impl Default for Dieptsiz { # [inline (always)]
|
|
fn default () -> Dieptsiz { Dieptsiz (0) } } # [doc = "This section describes the DOEPCTL0 register."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Doepctl (pub u32) ; impl Doepctl { # [doc = "MPSIZ."]
|
|
# [inline (always)]
|
|
pub const fn mpsiz (& self) -> u8 { let val = (self . 0 >> 0usize) & 0x03 ; val as u8 } # [doc = "MPSIZ."]
|
|
# [inline (always)]
|
|
pub fn set_mpsiz (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x03 << 0usize)) | (((val as u32) & 0x03) << 0usize) ; } # [doc = "USBAEP."]
|
|
# [inline (always)]
|
|
pub const fn usbaep (& self) -> bool { let val = (self . 0 >> 15usize) & 0x01 ; val != 0 } # [doc = "USBAEP."]
|
|
# [inline (always)]
|
|
pub fn set_usbaep (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 15usize)) | (((val as u32) & 0x01) << 15usize) ; } # [doc = "NAKSTS."]
|
|
# [inline (always)]
|
|
pub const fn naksts (& self) -> bool { let val = (self . 0 >> 17usize) & 0x01 ; val != 0 } # [doc = "NAKSTS."]
|
|
# [inline (always)]
|
|
pub fn set_naksts (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 17usize)) | (((val as u32) & 0x01) << 17usize) ; } # [doc = "EPTYP."]
|
|
# [inline (always)]
|
|
pub const fn eptyp (& self) -> u8 { let val = (self . 0 >> 18usize) & 0x03 ; val as u8 } # [doc = "EPTYP."]
|
|
# [inline (always)]
|
|
pub fn set_eptyp (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x03 << 18usize)) | (((val as u32) & 0x03) << 18usize) ; } # [doc = "SNPM."]
|
|
# [inline (always)]
|
|
pub const fn snpm (& self) -> bool { let val = (self . 0 >> 20usize) & 0x01 ; val != 0 } # [doc = "SNPM."]
|
|
# [inline (always)]
|
|
pub fn set_snpm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 20usize)) | (((val as u32) & 0x01) << 20usize) ; } # [doc = "STALL."]
|
|
# [inline (always)]
|
|
pub const fn stall (& self) -> bool { let val = (self . 0 >> 21usize) & 0x01 ; val != 0 } # [doc = "STALL."]
|
|
# [inline (always)]
|
|
pub fn set_stall (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 21usize)) | (((val as u32) & 0x01) << 21usize) ; } # [doc = "CNAK."]
|
|
# [inline (always)]
|
|
pub const fn cnak (& self) -> bool { let val = (self . 0 >> 26usize) & 0x01 ; val != 0 } # [doc = "CNAK."]
|
|
# [inline (always)]
|
|
pub fn set_cnak (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 26usize)) | (((val as u32) & 0x01) << 26usize) ; } # [doc = "SNAK."]
|
|
# [inline (always)]
|
|
pub const fn snak (& self) -> bool { let val = (self . 0 >> 27usize) & 0x01 ; val != 0 } # [doc = "SNAK."]
|
|
# [inline (always)]
|
|
pub fn set_snak (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 27usize)) | (((val as u32) & 0x01) << 27usize) ; } # [doc = "EPDIS."]
|
|
# [inline (always)]
|
|
pub const fn epdis (& self) -> bool { let val = (self . 0 >> 30usize) & 0x01 ; val != 0 } # [doc = "EPDIS."]
|
|
# [inline (always)]
|
|
pub fn set_epdis (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 30usize)) | (((val as u32) & 0x01) << 30usize) ; } # [doc = "EPENA."]
|
|
# [inline (always)]
|
|
pub const fn epena (& self) -> bool { let val = (self . 0 >> 31usize) & 0x01 ; val != 0 } # [doc = "EPENA."]
|
|
# [inline (always)]
|
|
pub fn set_epena (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 31usize)) | (((val as u32) & 0x01) << 31usize) ; } } impl Default for Doepctl { # [inline (always)]
|
|
fn default () -> Doepctl { Doepctl (0) } } # [doc = "OTG device OUT endpoint 0 DMA address register."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Doepdma (pub u32) ; impl Doepdma { # [doc = "DMAADDR."]
|
|
# [inline (always)]
|
|
pub const fn dmaaddr (& self) -> u32 { let val = (self . 0 >> 0usize) & 0xffff_ffff ; val as u32 } # [doc = "DMAADDR."]
|
|
# [inline (always)]
|
|
pub fn set_dmaaddr (& mut self , val : u32) { self . 0 = (self . 0 & ! (0xffff_ffff << 0usize)) | (((val as u32) & 0xffff_ffff) << 0usize) ; } } impl Default for Doepdma { # [inline (always)]
|
|
fn default () -> Doepdma { Doepdma (0) } } # [doc = "This register indicates the status of an endpoint with respect to USB- and AHB-related events. It is shown in Figure724. The application must read this register when the OUT endpoints interrupt bit of the GINTSTS register (OEPINT bit in GINTSTS) is set. Before the application can read this register, it must first read the DAINT register to get the exact endpoint number for the DOEPINTx register. The application must clear the appropriate bit in this register to clear the corresponding bits in the DAINT and GINTSTS registers."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Doepint (pub u32) ; impl Doepint { # [doc = "XFRC."]
|
|
# [inline (always)]
|
|
pub const fn xfrc (& self) -> bool { let val = (self . 0 >> 0usize) & 0x01 ; val != 0 } # [doc = "XFRC."]
|
|
# [inline (always)]
|
|
pub fn set_xfrc (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize) ; } # [doc = "EPDISD."]
|
|
# [inline (always)]
|
|
pub const fn epdisd (& self) -> bool { let val = (self . 0 >> 1usize) & 0x01 ; val != 0 } # [doc = "EPDISD."]
|
|
# [inline (always)]
|
|
pub fn set_epdisd (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 1usize)) | (((val as u32) & 0x01) << 1usize) ; } # [doc = "AHBERR."]
|
|
# [inline (always)]
|
|
pub const fn ahberr (& self) -> bool { let val = (self . 0 >> 2usize) & 0x01 ; val != 0 } # [doc = "AHBERR."]
|
|
# [inline (always)]
|
|
pub fn set_ahberr (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 2usize)) | (((val as u32) & 0x01) << 2usize) ; } # [doc = "STUP."]
|
|
# [inline (always)]
|
|
pub const fn stup (& self) -> bool { let val = (self . 0 >> 3usize) & 0x01 ; val != 0 } # [doc = "STUP."]
|
|
# [inline (always)]
|
|
pub fn set_stup (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 3usize)) | (((val as u32) & 0x01) << 3usize) ; } # [doc = "OTEPDIS."]
|
|
# [inline (always)]
|
|
pub const fn otepdis (& self) -> bool { let val = (self . 0 >> 4usize) & 0x01 ; val != 0 } # [doc = "OTEPDIS."]
|
|
# [inline (always)]
|
|
pub fn set_otepdis (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 4usize)) | (((val as u32) & 0x01) << 4usize) ; } # [doc = "STSPHSRX."]
|
|
# [inline (always)]
|
|
pub const fn stsphsrx (& self) -> bool { let val = (self . 0 >> 5usize) & 0x01 ; val != 0 } # [doc = "STSPHSRX."]
|
|
# [inline (always)]
|
|
pub fn set_stsphsrx (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 5usize)) | (((val as u32) & 0x01) << 5usize) ; } # [doc = "B2BSTUP."]
|
|
# [inline (always)]
|
|
pub const fn b2bstup (& self) -> bool { let val = (self . 0 >> 6usize) & 0x01 ; val != 0 } # [doc = "B2BSTUP."]
|
|
# [inline (always)]
|
|
pub fn set_b2bstup (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 6usize)) | (((val as u32) & 0x01) << 6usize) ; } # [doc = "OUTPKTERR."]
|
|
# [inline (always)]
|
|
pub const fn outpkterr (& self) -> bool { let val = (self . 0 >> 8usize) & 0x01 ; val != 0 } # [doc = "OUTPKTERR."]
|
|
# [inline (always)]
|
|
pub fn set_outpkterr (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 8usize)) | (((val as u32) & 0x01) << 8usize) ; } # [doc = "BNA."]
|
|
# [inline (always)]
|
|
pub const fn bna (& self) -> bool { let val = (self . 0 >> 9usize) & 0x01 ; val != 0 } # [doc = "BNA."]
|
|
# [inline (always)]
|
|
pub fn set_bna (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 9usize)) | (((val as u32) & 0x01) << 9usize) ; } # [doc = "BERR."]
|
|
# [inline (always)]
|
|
pub const fn berr (& self) -> bool { let val = (self . 0 >> 12usize) & 0x01 ; val != 0 } # [doc = "BERR."]
|
|
# [inline (always)]
|
|
pub fn set_berr (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 12usize)) | (((val as u32) & 0x01) << 12usize) ; } # [doc = "NAK."]
|
|
# [inline (always)]
|
|
pub const fn nak (& self) -> bool { let val = (self . 0 >> 13usize) & 0x01 ; val != 0 } # [doc = "NAK."]
|
|
# [inline (always)]
|
|
pub fn set_nak (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 13usize)) | (((val as u32) & 0x01) << 13usize) ; } # [doc = "NYET."]
|
|
# [inline (always)]
|
|
pub const fn nyet (& self) -> bool { let val = (self . 0 >> 14usize) & 0x01 ; val != 0 } # [doc = "NYET."]
|
|
# [inline (always)]
|
|
pub fn set_nyet (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 14usize)) | (((val as u32) & 0x01) << 14usize) ; } # [doc = "STPKTRX."]
|
|
# [inline (always)]
|
|
pub const fn stpktrx (& self) -> bool { let val = (self . 0 >> 15usize) & 0x01 ; val != 0 } # [doc = "STPKTRX."]
|
|
# [inline (always)]
|
|
pub fn set_stpktrx (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 15usize)) | (((val as u32) & 0x01) << 15usize) ; } } impl Default for Doepint { # [inline (always)]
|
|
fn default () -> Doepint { Doepint (0) } } # [doc = "This register works with each of the DOEPINTx registers for all endpoints to generate an interrupt per OUT endpoint. The OUT endpoint interrupt for a specific status in the DOEPINTx register can be masked by writing into the corresponding bit in this register. Status bits are masked by default."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Doepmsk (pub u32) ; impl Doepmsk { # [doc = "XFRCM."]
|
|
# [inline (always)]
|
|
pub const fn xfrcm (& self) -> bool { let val = (self . 0 >> 0usize) & 0x01 ; val != 0 } # [doc = "XFRCM."]
|
|
# [inline (always)]
|
|
pub fn set_xfrcm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize) ; } # [doc = "EPDM."]
|
|
# [inline (always)]
|
|
pub const fn epdm (& self) -> bool { let val = (self . 0 >> 1usize) & 0x01 ; val != 0 } # [doc = "EPDM."]
|
|
# [inline (always)]
|
|
pub fn set_epdm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 1usize)) | (((val as u32) & 0x01) << 1usize) ; } # [doc = "AHBERRM."]
|
|
# [inline (always)]
|
|
pub const fn ahberrm (& self) -> bool { let val = (self . 0 >> 2usize) & 0x01 ; val != 0 } # [doc = "AHBERRM."]
|
|
# [inline (always)]
|
|
pub fn set_ahberrm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 2usize)) | (((val as u32) & 0x01) << 2usize) ; } # [doc = "STUPM."]
|
|
# [inline (always)]
|
|
pub const fn stupm (& self) -> bool { let val = (self . 0 >> 3usize) & 0x01 ; val != 0 } # [doc = "STUPM."]
|
|
# [inline (always)]
|
|
pub fn set_stupm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 3usize)) | (((val as u32) & 0x01) << 3usize) ; } # [doc = "OTEPDM."]
|
|
# [inline (always)]
|
|
pub const fn otepdm (& self) -> bool { let val = (self . 0 >> 4usize) & 0x01 ; val != 0 } # [doc = "OTEPDM."]
|
|
# [inline (always)]
|
|
pub fn set_otepdm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 4usize)) | (((val as u32) & 0x01) << 4usize) ; } # [doc = "STSPHSRXM."]
|
|
# [inline (always)]
|
|
pub const fn stsphsrxm (& self) -> bool { let val = (self . 0 >> 5usize) & 0x01 ; val != 0 } # [doc = "STSPHSRXM."]
|
|
# [inline (always)]
|
|
pub fn set_stsphsrxm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 5usize)) | (((val as u32) & 0x01) << 5usize) ; } # [doc = "B2BSTUPM."]
|
|
# [inline (always)]
|
|
pub const fn b2bstupm (& self) -> bool { let val = (self . 0 >> 6usize) & 0x01 ; val != 0 } # [doc = "B2BSTUPM."]
|
|
# [inline (always)]
|
|
pub fn set_b2bstupm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 6usize)) | (((val as u32) & 0x01) << 6usize) ; } # [doc = "OUTPKTERRM."]
|
|
# [inline (always)]
|
|
pub const fn outpkterrm (& self) -> bool { let val = (self . 0 >> 8usize) & 0x01 ; val != 0 } # [doc = "OUTPKTERRM."]
|
|
# [inline (always)]
|
|
pub fn set_outpkterrm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 8usize)) | (((val as u32) & 0x01) << 8usize) ; } # [doc = "BERRM."]
|
|
# [inline (always)]
|
|
pub const fn berrm (& self) -> bool { let val = (self . 0 >> 12usize) & 0x01 ; val != 0 } # [doc = "BERRM."]
|
|
# [inline (always)]
|
|
pub fn set_berrm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 12usize)) | (((val as u32) & 0x01) << 12usize) ; } # [doc = "NAKMSK."]
|
|
# [inline (always)]
|
|
pub const fn nakmsk (& self) -> bool { let val = (self . 0 >> 13usize) & 0x01 ; val != 0 } # [doc = "NAKMSK."]
|
|
# [inline (always)]
|
|
pub fn set_nakmsk (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 13usize)) | (((val as u32) & 0x01) << 13usize) ; } # [doc = "NYETMSK."]
|
|
# [inline (always)]
|
|
pub const fn nyetmsk (& self) -> bool { let val = (self . 0 >> 14usize) & 0x01 ; val != 0 } # [doc = "NYETMSK."]
|
|
# [inline (always)]
|
|
pub fn set_nyetmsk (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 14usize)) | (((val as u32) & 0x01) << 14usize) ; } } impl Default for Doepmsk { # [inline (always)]
|
|
fn default () -> Doepmsk { Doepmsk (0) } } # [doc = "The application must modify this register before enabling endpoint 0."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Doeptsiz (pub u32) ; impl Doeptsiz { # [doc = "XFRSIZ."]
|
|
# [inline (always)]
|
|
pub const fn xfrsiz (& self) -> u32 { let val = (self . 0 >> 0usize) & 0x0007_ffff ; val as u32 } # [doc = "XFRSIZ."]
|
|
# [inline (always)]
|
|
pub fn set_xfrsiz (& mut self , val : u32) { self . 0 = (self . 0 & ! (0x0007_ffff << 0usize)) | (((val as u32) & 0x0007_ffff) << 0usize) ; } # [doc = "PKTCNT."]
|
|
# [inline (always)]
|
|
pub const fn pktcnt (& self) -> u16 { let val = (self . 0 >> 19usize) & 0x03ff ; val as u16 } # [doc = "PKTCNT."]
|
|
# [inline (always)]
|
|
pub fn set_pktcnt (& mut self , val : u16) { self . 0 = (self . 0 & ! (0x03ff << 19usize)) | (((val as u32) & 0x03ff) << 19usize) ; } # [doc = "RXDPID."]
|
|
# [inline (always)]
|
|
pub const fn rxdpid (& self) -> u8 { let val = (self . 0 >> 29usize) & 0x03 ; val as u8 } # [doc = "RXDPID."]
|
|
# [inline (always)]
|
|
pub fn set_rxdpid (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x03 << 29usize)) | (((val as u32) & 0x03) << 29usize) ; } # [doc = "STUPCNT."]
|
|
# [inline (always)]
|
|
pub const fn stupcnt (& self) -> u8 { let val = (self . 0 >> 29usize) & 0x03 ; val as u8 } # [doc = "STUPCNT."]
|
|
# [inline (always)]
|
|
pub fn set_stupcnt (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x03 << 29usize)) | (((val as u32) & 0x03) << 29usize) ; } } impl Default for Doeptsiz { # [inline (always)]
|
|
fn default () -> Doeptsiz { Doeptsiz (0) } } # [doc = "This register indicates the status of the core with respect to USB-related events. It must be read on interrupts from the device all interrupts (DAINT) register."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Dsts (pub u32) ; impl Dsts { # [doc = "SUSPSTS."]
|
|
# [inline (always)]
|
|
pub const fn suspsts (& self) -> bool { let val = (self . 0 >> 0usize) & 0x01 ; val != 0 } # [doc = "SUSPSTS."]
|
|
# [inline (always)]
|
|
pub fn set_suspsts (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize) ; } # [doc = "ENUMSPD."]
|
|
# [inline (always)]
|
|
pub const fn enumspd (& self) -> u8 { let val = (self . 0 >> 1usize) & 0x03 ; val as u8 } # [doc = "ENUMSPD."]
|
|
# [inline (always)]
|
|
pub fn set_enumspd (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x03 << 1usize)) | (((val as u32) & 0x03) << 1usize) ; } # [doc = "EERR."]
|
|
# [inline (always)]
|
|
pub const fn eerr (& self) -> bool { let val = (self . 0 >> 3usize) & 0x01 ; val != 0 } # [doc = "EERR."]
|
|
# [inline (always)]
|
|
pub fn set_eerr (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 3usize)) | (((val as u32) & 0x01) << 3usize) ; } # [doc = "FNSOF."]
|
|
# [inline (always)]
|
|
pub const fn fnsof (& self) -> u16 { let val = (self . 0 >> 8usize) & 0x3fff ; val as u16 } # [doc = "FNSOF."]
|
|
# [inline (always)]
|
|
pub fn set_fnsof (& mut self , val : u16) { self . 0 = (self . 0 & ! (0x3fff << 8usize)) | (((val as u32) & 0x3fff) << 8usize) ; } # [doc = "DEVLNSTS."]
|
|
# [inline (always)]
|
|
pub const fn devlnsts (& self) -> u8 { let val = (self . 0 >> 22usize) & 0x03 ; val as u8 } # [doc = "DEVLNSTS."]
|
|
# [inline (always)]
|
|
pub fn set_devlnsts (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x03 << 22usize)) | (((val as u32) & 0x03) << 22usize) ; } } impl Default for Dsts { # [inline (always)]
|
|
fn default () -> Dsts { Dsts (0) } } # [doc = "OTG device threshold control register."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Dthrctl (pub u32) ; impl Dthrctl { # [doc = "Nonisochronous IN endpoints threshold enable. When this bit is set, the core enables thresholding for nonisochronous IN endpoints."]
|
|
# [inline (always)]
|
|
pub const fn nonisothren (& self) -> bool { let val = (self . 0 >> 0usize) & 0x01 ; val != 0 } # [doc = "Nonisochronous IN endpoints threshold enable. When this bit is set, the core enables thresholding for nonisochronous IN endpoints."]
|
|
# [inline (always)]
|
|
pub fn set_nonisothren (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize) ; } # [doc = "ISO IN endpoint threshold enable. When this bit is set, the core enables thresholding for isochronous IN endpoints."]
|
|
# [inline (always)]
|
|
pub const fn isothren (& self) -> bool { let val = (self . 0 >> 1usize) & 0x01 ; val != 0 } # [doc = "ISO IN endpoint threshold enable. When this bit is set, the core enables thresholding for isochronous IN endpoints."]
|
|
# [inline (always)]
|
|
pub fn set_isothren (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 1usize)) | (((val as u32) & 0x01) << 1usize) ; } # [doc = "Transmit threshold length. This field specifies the transmit thresholding size in 32-bit words. This field specifies the amount of data in bytes to be in the corresponding endpoint transmit FIFO, before the core can start transmitting on the USB. The threshold length has to be at least eight 32-bit words. This field controls both isochronous and nonisochronous IN endpoint thresholds. The recommended value for TXTHRLEN is to be the same as the programmed AHB burst length (HBSTLEN bit in OTG_GAHBCFG)."]
|
|
# [inline (always)]
|
|
pub const fn txthrlen (& self) -> u16 { let val = (self . 0 >> 2usize) & 0x01ff ; val as u16 } # [doc = "Transmit threshold length. This field specifies the transmit thresholding size in 32-bit words. This field specifies the amount of data in bytes to be in the corresponding endpoint transmit FIFO, before the core can start transmitting on the USB. The threshold length has to be at least eight 32-bit words. This field controls both isochronous and nonisochronous IN endpoint thresholds. The recommended value for TXTHRLEN is to be the same as the programmed AHB burst length (HBSTLEN bit in OTG_GAHBCFG)."]
|
|
# [inline (always)]
|
|
pub fn set_txthrlen (& mut self , val : u16) { self . 0 = (self . 0 & ! (0x01ff << 2usize)) | (((val as u32) & 0x01ff) << 2usize) ; } # [doc = "Receive threshold enable. When this bit is set, the core enables thresholding in the receive direction."]
|
|
# [inline (always)]
|
|
pub const fn rxthren (& self) -> bool { let val = (self . 0 >> 16usize) & 0x01 ; val != 0 } # [doc = "Receive threshold enable. When this bit is set, the core enables thresholding in the receive direction."]
|
|
# [inline (always)]
|
|
pub fn set_rxthren (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 16usize)) | (((val as u32) & 0x01) << 16usize) ; } # [doc = "Receive threshold length. This field specifies the receive thresholding size in 32-bit words. This field also specifies the amount of data received on the USB before the core can start transmitting on the AHB. The threshold length has to be at least eight 32-bit words. The recommended value for RXTHRLEN is to be the same as the programmed AHB burst length (HBSTLEN bit in OTG_GAHBCFG)."]
|
|
# [inline (always)]
|
|
pub const fn rxthrlen (& self) -> u16 { let val = (self . 0 >> 17usize) & 0x01ff ; val as u16 } # [doc = "Receive threshold length. This field specifies the receive thresholding size in 32-bit words. This field also specifies the amount of data received on the USB before the core can start transmitting on the AHB. The threshold length has to be at least eight 32-bit words. The recommended value for RXTHRLEN is to be the same as the programmed AHB burst length (HBSTLEN bit in OTG_GAHBCFG)."]
|
|
# [inline (always)]
|
|
pub fn set_rxthrlen (& mut self , val : u16) { self . 0 = (self . 0 & ! (0x01ff << 17usize)) | (((val as u32) & 0x01ff) << 17usize) ; } # [doc = "Arbiter parking enable. This bit controls internal DMA arbiter parking for IN endpoints. When thresholding is enabled and this bit is set to one, then the arbiter parks on the IN endpoint for which there is a token received on the USB. This is done to avoid getting into underrun conditions. By default parking is enabled."]
|
|
# [inline (always)]
|
|
pub const fn arpen (& self) -> bool { let val = (self . 0 >> 27usize) & 0x01 ; val != 0 } # [doc = "Arbiter parking enable. This bit controls internal DMA arbiter parking for IN endpoints. When thresholding is enabled and this bit is set to one, then the arbiter parks on the IN endpoint for which there is a token received on the USB. This is done to avoid getting into underrun conditions. By default parking is enabled."]
|
|
# [inline (always)]
|
|
pub fn set_arpen (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 27usize)) | (((val as u32) & 0x01) << 27usize) ; } } impl Default for Dthrctl { # [inline (always)]
|
|
fn default () -> Dthrctl { Dthrctl (0) } } # [doc = "This read-only register contains the free space information for the device IN endpoint Tx FIFO."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Dtxfsts (pub u32) ; impl Dtxfsts { # [doc = "INEPTFSAV."]
|
|
# [inline (always)]
|
|
pub const fn ineptfsav (& self) -> u16 { let val = (self . 0 >> 0usize) & 0xffff ; val as u16 } # [doc = "INEPTFSAV."]
|
|
# [inline (always)]
|
|
pub fn set_ineptfsav (& mut self , val : u16) { self . 0 = (self . 0 & ! (0xffff << 0usize)) | (((val as u32) & 0xffff) << 0usize) ; } } impl Default for Dtxfsts { # [inline (always)]
|
|
fn default () -> Dtxfsts { Dtxfsts (0) } } # [doc = "This register specifies the VBUS discharge time after VBUS pulsing during SRP."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Dvbusdis (pub u32) ; impl Dvbusdis { # [doc = "VBUSDT."]
|
|
# [inline (always)]
|
|
pub const fn vbusdt (& self) -> u16 { let val = (self . 0 >> 0usize) & 0xffff ; val as u16 } # [doc = "VBUSDT."]
|
|
# [inline (always)]
|
|
pub fn set_vbusdt (& mut self , val : u16) { self . 0 = (self . 0 & ! (0xffff << 0usize)) | (((val as u32) & 0xffff) << 0usize) ; } } impl Default for Dvbusdis { # [inline (always)]
|
|
fn default () -> Dvbusdis { Dvbusdis (0) } } # [doc = "This register specifies the VBUS pulsing time during SRP."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Dvbuspulse (pub u32) ; impl Dvbuspulse { # [doc = "DVBUSP."]
|
|
# [inline (always)]
|
|
pub const fn dvbusp (& self) -> u16 { let val = (self . 0 >> 0usize) & 0xffff ; val as u16 } # [doc = "DVBUSP."]
|
|
# [inline (always)]
|
|
pub fn set_dvbusp (& mut self , val : u16) { self . 0 = (self . 0 & ! (0xffff << 0usize)) | (((val as u32) & 0xffff) << 0usize) ; } } impl Default for Dvbuspulse { # [inline (always)]
|
|
fn default () -> Dvbuspulse { Dvbuspulse (0) } } # [doc = "FIFO register"]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Fifo (pub u32) ; impl Fifo { # [doc = "Data"]
|
|
# [inline (always)]
|
|
pub const fn data (& self) -> u32 { let val = (self . 0 >> 0usize) & 0xffff_ffff ; val as u32 } # [doc = "Data"]
|
|
# [inline (always)]
|
|
pub fn set_data (& mut self , val : u32) { self . 0 = (self . 0 & ! (0xffff_ffff << 0usize)) | (((val as u32) & 0xffff_ffff) << 0usize) ; } } impl Default for Fifo { # [inline (always)]
|
|
fn default () -> Fifo { Fifo (0) } } # [doc = "FIFO size register"]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Fsiz (pub u32) ; impl Fsiz { # [doc = "RAM start address"]
|
|
# [inline (always)]
|
|
pub const fn sa (& self) -> u16 { let val = (self . 0 >> 0usize) & 0xffff ; val as u16 } # [doc = "RAM start address"]
|
|
# [inline (always)]
|
|
pub fn set_sa (& mut self , val : u16) { self . 0 = (self . 0 & ! (0xffff << 0usize)) | (((val as u32) & 0xffff) << 0usize) ; } # [doc = "FIFO depth"]
|
|
# [inline (always)]
|
|
pub const fn fd (& self) -> u16 { let val = (self . 0 >> 16usize) & 0xffff ; val as u16 } # [doc = "FIFO depth"]
|
|
# [inline (always)]
|
|
pub fn set_fd (& mut self , val : u16) { self . 0 = (self . 0 & ! (0xffff << 16usize)) | (((val as u32) & 0xffff) << 16usize) ; } } impl Default for Fsiz { # [inline (always)]
|
|
fn default () -> Fsiz { Fsiz (0) } } # [doc = "This register can be used to configure the core after power-on or a change in mode. This register mainly contains AHB system-related configuration parameters. Do not change this register after the initial programming. The application must program this register before starting any transactions on either the AHB or the USB."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Gahbcfg (pub u32) ; impl Gahbcfg { # [doc = "GINTMSK."]
|
|
# [inline (always)]
|
|
pub const fn gintmsk (& self) -> bool { let val = (self . 0 >> 0usize) & 0x01 ; val != 0 } # [doc = "GINTMSK."]
|
|
# [inline (always)]
|
|
pub fn set_gintmsk (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize) ; } # [doc = "TXFELVL."]
|
|
# [inline (always)]
|
|
pub const fn txfelvl (& self) -> bool { let val = (self . 0 >> 7usize) & 0x01 ; val != 0 } # [doc = "TXFELVL."]
|
|
# [inline (always)]
|
|
pub fn set_txfelvl (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 7usize)) | (((val as u32) & 0x01) << 7usize) ; } # [doc = "PTXFELVL."]
|
|
# [inline (always)]
|
|
pub const fn ptxfelvl (& self) -> bool { let val = (self . 0 >> 8usize) & 0x01 ; val != 0 } # [doc = "PTXFELVL."]
|
|
# [inline (always)]
|
|
pub fn set_ptxfelvl (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 8usize)) | (((val as u32) & 0x01) << 8usize) ; } } impl Default for Gahbcfg { # [inline (always)]
|
|
fn default () -> Gahbcfg { Gahbcfg (0) } } # [doc = "General core configuration register"]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct GccfgV1 (pub u32) ; impl GccfgV1 { # [doc = "Power down"]
|
|
# [inline (always)]
|
|
pub const fn pwrdwn (& self) -> bool { let val = (self . 0 >> 16usize) & 0x01 ; val != 0 } # [doc = "Power down"]
|
|
# [inline (always)]
|
|
pub fn set_pwrdwn (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 16usize)) | (((val as u32) & 0x01) << 16usize) ; } # [doc = "Enable the VBUS \"A\" sensing device"]
|
|
# [inline (always)]
|
|
pub const fn vbusasen (& self) -> bool { let val = (self . 0 >> 18usize) & 0x01 ; val != 0 } # [doc = "Enable the VBUS \"A\" sensing device"]
|
|
# [inline (always)]
|
|
pub fn set_vbusasen (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 18usize)) | (((val as u32) & 0x01) << 18usize) ; } # [doc = "Enable the VBUS \"B\" sensing device"]
|
|
# [inline (always)]
|
|
pub const fn vbusbsen (& self) -> bool { let val = (self . 0 >> 19usize) & 0x01 ; val != 0 } # [doc = "Enable the VBUS \"B\" sensing device"]
|
|
# [inline (always)]
|
|
pub fn set_vbusbsen (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 19usize)) | (((val as u32) & 0x01) << 19usize) ; } # [doc = "SOF output enable"]
|
|
# [inline (always)]
|
|
pub const fn sofouten (& self) -> bool { let val = (self . 0 >> 20usize) & 0x01 ; val != 0 } # [doc = "SOF output enable"]
|
|
# [inline (always)]
|
|
pub fn set_sofouten (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 20usize)) | (((val as u32) & 0x01) << 20usize) ; } # [doc = "VBUS sensing disable"]
|
|
# [inline (always)]
|
|
pub const fn novbussens (& self) -> bool { let val = (self . 0 >> 21usize) & 0x01 ; val != 0 } # [doc = "VBUS sensing disable"]
|
|
# [inline (always)]
|
|
pub fn set_novbussens (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 21usize)) | (((val as u32) & 0x01) << 21usize) ; } } impl Default for GccfgV1 { # [inline (always)]
|
|
fn default () -> GccfgV1 { GccfgV1 (0) } } # [doc = "General core configuration register"]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct GccfgV2 (pub u32) ; impl GccfgV2 { # [doc = "Data contact detection (DCD) status"]
|
|
# [inline (always)]
|
|
pub const fn dcdet (& self) -> bool { let val = (self . 0 >> 0usize) & 0x01 ; val != 0 } # [doc = "Data contact detection (DCD) status"]
|
|
# [inline (always)]
|
|
pub fn set_dcdet (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize) ; } # [doc = "Primary detection (PD) status"]
|
|
# [inline (always)]
|
|
pub const fn pdet (& self) -> bool { let val = (self . 0 >> 1usize) & 0x01 ; val != 0 } # [doc = "Primary detection (PD) status"]
|
|
# [inline (always)]
|
|
pub fn set_pdet (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 1usize)) | (((val as u32) & 0x01) << 1usize) ; } # [doc = "Secondary detection (SD) status"]
|
|
# [inline (always)]
|
|
pub const fn sdet (& self) -> bool { let val = (self . 0 >> 2usize) & 0x01 ; val != 0 } # [doc = "Secondary detection (SD) status"]
|
|
# [inline (always)]
|
|
pub fn set_sdet (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 2usize)) | (((val as u32) & 0x01) << 2usize) ; } # [doc = "DM pull-up detection status"]
|
|
# [inline (always)]
|
|
pub const fn ps2det (& self) -> bool { let val = (self . 0 >> 3usize) & 0x01 ; val != 0 } # [doc = "DM pull-up detection status"]
|
|
# [inline (always)]
|
|
pub fn set_ps2det (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 3usize)) | (((val as u32) & 0x01) << 3usize) ; } # [doc = "Power down"]
|
|
# [inline (always)]
|
|
pub const fn pwrdwn (& self) -> bool { let val = (self . 0 >> 16usize) & 0x01 ; val != 0 } # [doc = "Power down"]
|
|
# [inline (always)]
|
|
pub fn set_pwrdwn (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 16usize)) | (((val as u32) & 0x01) << 16usize) ; } # [doc = "Battery charging detector (BCD) enable"]
|
|
# [inline (always)]
|
|
pub const fn bcden (& self) -> bool { let val = (self . 0 >> 17usize) & 0x01 ; val != 0 } # [doc = "Battery charging detector (BCD) enable"]
|
|
# [inline (always)]
|
|
pub fn set_bcden (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 17usize)) | (((val as u32) & 0x01) << 17usize) ; } # [doc = "Data contact detection (DCD) mode enable"]
|
|
# [inline (always)]
|
|
pub const fn dcden (& self) -> bool { let val = (self . 0 >> 18usize) & 0x01 ; val != 0 } # [doc = "Data contact detection (DCD) mode enable"]
|
|
# [inline (always)]
|
|
pub fn set_dcden (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 18usize)) | (((val as u32) & 0x01) << 18usize) ; } # [doc = "Primary detection (PD) mode enable"]
|
|
# [inline (always)]
|
|
pub const fn pden (& self) -> bool { let val = (self . 0 >> 19usize) & 0x01 ; val != 0 } # [doc = "Primary detection (PD) mode enable"]
|
|
# [inline (always)]
|
|
pub fn set_pden (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 19usize)) | (((val as u32) & 0x01) << 19usize) ; } # [doc = "Secondary detection (SD) mode enable"]
|
|
# [inline (always)]
|
|
pub const fn sden (& self) -> bool { let val = (self . 0 >> 20usize) & 0x01 ; val != 0 } # [doc = "Secondary detection (SD) mode enable"]
|
|
# [inline (always)]
|
|
pub fn set_sden (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 20usize)) | (((val as u32) & 0x01) << 20usize) ; } # [doc = "USB VBUS detection enable"]
|
|
# [inline (always)]
|
|
pub const fn vbden (& self) -> bool { let val = (self . 0 >> 21usize) & 0x01 ; val != 0 } # [doc = "USB VBUS detection enable"]
|
|
# [inline (always)]
|
|
pub fn set_vbden (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 21usize)) | (((val as u32) & 0x01) << 21usize) ; } # [doc = "Internal high-speed PHY enable."]
|
|
# [inline (always)]
|
|
pub const fn phyhsen (& self) -> bool { let val = (self . 0 >> 23usize) & 0x01 ; val != 0 } # [doc = "Internal high-speed PHY enable."]
|
|
# [inline (always)]
|
|
pub fn set_phyhsen (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 23usize)) | (((val as u32) & 0x01) << 23usize) ; } } impl Default for GccfgV2 { # [inline (always)]
|
|
fn default () -> GccfgV2 { GccfgV2 (0) } } # [doc = "This register works with the core interrupt register to interrupt the application. When an interrupt bit is masked, the interrupt associated with that bit is not generated. However, the core interrupt (GINTSTS) register bit corresponding to that interrupt is still set."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Gintmsk (pub u32) ; impl Gintmsk { # [doc = "MMISM."]
|
|
# [inline (always)]
|
|
pub const fn mmism (& self) -> bool { let val = (self . 0 >> 1usize) & 0x01 ; val != 0 } # [doc = "MMISM."]
|
|
# [inline (always)]
|
|
pub fn set_mmism (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 1usize)) | (((val as u32) & 0x01) << 1usize) ; } # [doc = "OTGINT."]
|
|
# [inline (always)]
|
|
pub const fn otgint (& self) -> bool { let val = (self . 0 >> 2usize) & 0x01 ; val != 0 } # [doc = "OTGINT."]
|
|
# [inline (always)]
|
|
pub fn set_otgint (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 2usize)) | (((val as u32) & 0x01) << 2usize) ; } # [doc = "SOFM."]
|
|
# [inline (always)]
|
|
pub const fn sofm (& self) -> bool { let val = (self . 0 >> 3usize) & 0x01 ; val != 0 } # [doc = "SOFM."]
|
|
# [inline (always)]
|
|
pub fn set_sofm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 3usize)) | (((val as u32) & 0x01) << 3usize) ; } # [doc = "RXFLVLM."]
|
|
# [inline (always)]
|
|
pub const fn rxflvlm (& self) -> bool { let val = (self . 0 >> 4usize) & 0x01 ; val != 0 } # [doc = "RXFLVLM."]
|
|
# [inline (always)]
|
|
pub fn set_rxflvlm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 4usize)) | (((val as u32) & 0x01) << 4usize) ; } # [doc = "NPTXFEM."]
|
|
# [inline (always)]
|
|
pub const fn nptxfem (& self) -> bool { let val = (self . 0 >> 5usize) & 0x01 ; val != 0 } # [doc = "NPTXFEM."]
|
|
# [inline (always)]
|
|
pub fn set_nptxfem (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 5usize)) | (((val as u32) & 0x01) << 5usize) ; } # [doc = "GINAKEFFM."]
|
|
# [inline (always)]
|
|
pub const fn ginakeffm (& self) -> bool { let val = (self . 0 >> 6usize) & 0x01 ; val != 0 } # [doc = "GINAKEFFM."]
|
|
# [inline (always)]
|
|
pub fn set_ginakeffm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 6usize)) | (((val as u32) & 0x01) << 6usize) ; } # [doc = "GONAKEFFM."]
|
|
# [inline (always)]
|
|
pub const fn gonakeffm (& self) -> bool { let val = (self . 0 >> 7usize) & 0x01 ; val != 0 } # [doc = "GONAKEFFM."]
|
|
# [inline (always)]
|
|
pub fn set_gonakeffm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 7usize)) | (((val as u32) & 0x01) << 7usize) ; } # [doc = "ESUSPM."]
|
|
# [inline (always)]
|
|
pub const fn esuspm (& self) -> bool { let val = (self . 0 >> 10usize) & 0x01 ; val != 0 } # [doc = "ESUSPM."]
|
|
# [inline (always)]
|
|
pub fn set_esuspm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 10usize)) | (((val as u32) & 0x01) << 10usize) ; } # [doc = "USBSUSPM."]
|
|
# [inline (always)]
|
|
pub const fn usbsuspm (& self) -> bool { let val = (self . 0 >> 11usize) & 0x01 ; val != 0 } # [doc = "USBSUSPM."]
|
|
# [inline (always)]
|
|
pub fn set_usbsuspm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 11usize)) | (((val as u32) & 0x01) << 11usize) ; } # [doc = "USBRST."]
|
|
# [inline (always)]
|
|
pub const fn usbrst (& self) -> bool { let val = (self . 0 >> 12usize) & 0x01 ; val != 0 } # [doc = "USBRST."]
|
|
# [inline (always)]
|
|
pub fn set_usbrst (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 12usize)) | (((val as u32) & 0x01) << 12usize) ; } # [doc = "ENUMDNEM."]
|
|
# [inline (always)]
|
|
pub const fn enumdnem (& self) -> bool { let val = (self . 0 >> 13usize) & 0x01 ; val != 0 } # [doc = "ENUMDNEM."]
|
|
# [inline (always)]
|
|
pub fn set_enumdnem (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 13usize)) | (((val as u32) & 0x01) << 13usize) ; } # [doc = "ISOODRPM."]
|
|
# [inline (always)]
|
|
pub const fn isoodrpm (& self) -> bool { let val = (self . 0 >> 14usize) & 0x01 ; val != 0 } # [doc = "ISOODRPM."]
|
|
# [inline (always)]
|
|
pub fn set_isoodrpm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 14usize)) | (((val as u32) & 0x01) << 14usize) ; } # [doc = "EOPFM."]
|
|
# [inline (always)]
|
|
pub const fn eopfm (& self) -> bool { let val = (self . 0 >> 15usize) & 0x01 ; val != 0 } # [doc = "EOPFM."]
|
|
# [inline (always)]
|
|
pub fn set_eopfm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 15usize)) | (((val as u32) & 0x01) << 15usize) ; } # [doc = "IEPINT."]
|
|
# [inline (always)]
|
|
pub const fn iepint (& self) -> bool { let val = (self . 0 >> 18usize) & 0x01 ; val != 0 } # [doc = "IEPINT."]
|
|
# [inline (always)]
|
|
pub fn set_iepint (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 18usize)) | (((val as u32) & 0x01) << 18usize) ; } # [doc = "OEPINT."]
|
|
# [inline (always)]
|
|
pub const fn oepint (& self) -> bool { let val = (self . 0 >> 19usize) & 0x01 ; val != 0 } # [doc = "OEPINT."]
|
|
# [inline (always)]
|
|
pub fn set_oepint (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 19usize)) | (((val as u32) & 0x01) << 19usize) ; } # [doc = "IISOIXFRM."]
|
|
# [inline (always)]
|
|
pub const fn iisoixfrm (& self) -> bool { let val = (self . 0 >> 20usize) & 0x01 ; val != 0 } # [doc = "IISOIXFRM."]
|
|
# [inline (always)]
|
|
pub fn set_iisoixfrm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 20usize)) | (((val as u32) & 0x01) << 20usize) ; } # [doc = "IPXFRM."]
|
|
# [inline (always)]
|
|
pub const fn ipxfrm (& self) -> bool { let val = (self . 0 >> 21usize) & 0x01 ; val != 0 } # [doc = "IPXFRM."]
|
|
# [inline (always)]
|
|
pub fn set_ipxfrm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 21usize)) | (((val as u32) & 0x01) << 21usize) ; } # [doc = "FSUSPM."]
|
|
# [inline (always)]
|
|
pub const fn fsuspm (& self) -> bool { let val = (self . 0 >> 22usize) & 0x01 ; val != 0 } # [doc = "FSUSPM."]
|
|
# [inline (always)]
|
|
pub fn set_fsuspm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 22usize)) | (((val as u32) & 0x01) << 22usize) ; } # [doc = "RSTDETM."]
|
|
# [inline (always)]
|
|
pub const fn rstdetm (& self) -> bool { let val = (self . 0 >> 23usize) & 0x01 ; val != 0 } # [doc = "RSTDETM."]
|
|
# [inline (always)]
|
|
pub fn set_rstdetm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 23usize)) | (((val as u32) & 0x01) << 23usize) ; } # [doc = "PRTIM."]
|
|
# [inline (always)]
|
|
pub const fn prtim (& self) -> bool { let val = (self . 0 >> 24usize) & 0x01 ; val != 0 } # [doc = "PRTIM."]
|
|
# [inline (always)]
|
|
pub fn set_prtim (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 24usize)) | (((val as u32) & 0x01) << 24usize) ; } # [doc = "HCIM."]
|
|
# [inline (always)]
|
|
pub const fn hcim (& self) -> bool { let val = (self . 0 >> 25usize) & 0x01 ; val != 0 } # [doc = "HCIM."]
|
|
# [inline (always)]
|
|
pub fn set_hcim (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 25usize)) | (((val as u32) & 0x01) << 25usize) ; } # [doc = "PTXFEM."]
|
|
# [inline (always)]
|
|
pub const fn ptxfem (& self) -> bool { let val = (self . 0 >> 26usize) & 0x01 ; val != 0 } # [doc = "PTXFEM."]
|
|
# [inline (always)]
|
|
pub fn set_ptxfem (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 26usize)) | (((val as u32) & 0x01) << 26usize) ; } # [doc = "LPMINTM."]
|
|
# [inline (always)]
|
|
pub const fn lpmintm (& self) -> bool { let val = (self . 0 >> 27usize) & 0x01 ; val != 0 } # [doc = "LPMINTM."]
|
|
# [inline (always)]
|
|
pub fn set_lpmintm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 27usize)) | (((val as u32) & 0x01) << 27usize) ; } # [doc = "CIDSCHGM."]
|
|
# [inline (always)]
|
|
pub const fn cidschgm (& self) -> bool { let val = (self . 0 >> 28usize) & 0x01 ; val != 0 } # [doc = "CIDSCHGM."]
|
|
# [inline (always)]
|
|
pub fn set_cidschgm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 28usize)) | (((val as u32) & 0x01) << 28usize) ; } # [doc = "DISCINT."]
|
|
# [inline (always)]
|
|
pub const fn discint (& self) -> bool { let val = (self . 0 >> 29usize) & 0x01 ; val != 0 } # [doc = "DISCINT."]
|
|
# [inline (always)]
|
|
pub fn set_discint (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 29usize)) | (((val as u32) & 0x01) << 29usize) ; } # [doc = "SRQIM."]
|
|
# [inline (always)]
|
|
pub const fn srqim (& self) -> bool { let val = (self . 0 >> 30usize) & 0x01 ; val != 0 } # [doc = "SRQIM."]
|
|
# [inline (always)]
|
|
pub fn set_srqim (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 30usize)) | (((val as u32) & 0x01) << 30usize) ; } # [doc = "WUIM."]
|
|
# [inline (always)]
|
|
pub const fn wuim (& self) -> bool { let val = (self . 0 >> 31usize) & 0x01 ; val != 0 } # [doc = "WUIM."]
|
|
# [inline (always)]
|
|
pub fn set_wuim (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 31usize)) | (((val as u32) & 0x01) << 31usize) ; } } impl Default for Gintmsk { # [inline (always)]
|
|
fn default () -> Gintmsk { Gintmsk (0) } } # [doc = "This register interrupts the application for system-level events in the current mode (device mode or host mode). Some of the bits in this register are valid only in host mode, while others are valid in device mode only. This register also indicates the current mode. To clear the interrupt status bits of the rc_w1 type, the application must write 1 into the bit. The FIFO status interrupts are read-only; once software reads from or writes to the FIFO while servicing these interrupts, FIFO interrupt conditions are cleared automatically. The application must clear the GINTSTS register at initialization before unmasking the interrupt bit to avoid any interrupts generated prior to initialization."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Gintsts (pub u32) ; impl Gintsts { # [doc = "CMOD."]
|
|
# [inline (always)]
|
|
pub const fn cmod (& self) -> bool { let val = (self . 0 >> 0usize) & 0x01 ; val != 0 } # [doc = "CMOD."]
|
|
# [inline (always)]
|
|
pub fn set_cmod (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize) ; } # [doc = "MMIS."]
|
|
# [inline (always)]
|
|
pub const fn mmis (& self) -> bool { let val = (self . 0 >> 1usize) & 0x01 ; val != 0 } # [doc = "MMIS."]
|
|
# [inline (always)]
|
|
pub fn set_mmis (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 1usize)) | (((val as u32) & 0x01) << 1usize) ; } # [doc = "OTGINT."]
|
|
# [inline (always)]
|
|
pub const fn otgint (& self) -> bool { let val = (self . 0 >> 2usize) & 0x01 ; val != 0 } # [doc = "OTGINT."]
|
|
# [inline (always)]
|
|
pub fn set_otgint (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 2usize)) | (((val as u32) & 0x01) << 2usize) ; } # [doc = "SOF."]
|
|
# [inline (always)]
|
|
pub const fn sof (& self) -> bool { let val = (self . 0 >> 3usize) & 0x01 ; val != 0 } # [doc = "SOF."]
|
|
# [inline (always)]
|
|
pub fn set_sof (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 3usize)) | (((val as u32) & 0x01) << 3usize) ; } # [doc = "RXFLVL."]
|
|
# [inline (always)]
|
|
pub const fn rxflvl (& self) -> bool { let val = (self . 0 >> 4usize) & 0x01 ; val != 0 } # [doc = "RXFLVL."]
|
|
# [inline (always)]
|
|
pub fn set_rxflvl (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 4usize)) | (((val as u32) & 0x01) << 4usize) ; } # [doc = "NPTXFE."]
|
|
# [inline (always)]
|
|
pub const fn nptxfe (& self) -> bool { let val = (self . 0 >> 5usize) & 0x01 ; val != 0 } # [doc = "NPTXFE."]
|
|
# [inline (always)]
|
|
pub fn set_nptxfe (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 5usize)) | (((val as u32) & 0x01) << 5usize) ; } # [doc = "GINAKEFF."]
|
|
# [inline (always)]
|
|
pub const fn ginakeff (& self) -> bool { let val = (self . 0 >> 6usize) & 0x01 ; val != 0 } # [doc = "GINAKEFF."]
|
|
# [inline (always)]
|
|
pub fn set_ginakeff (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 6usize)) | (((val as u32) & 0x01) << 6usize) ; } # [doc = "GONAKEFF."]
|
|
# [inline (always)]
|
|
pub const fn gonakeff (& self) -> bool { let val = (self . 0 >> 7usize) & 0x01 ; val != 0 } # [doc = "GONAKEFF."]
|
|
# [inline (always)]
|
|
pub fn set_gonakeff (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 7usize)) | (((val as u32) & 0x01) << 7usize) ; } # [doc = "ESUSP."]
|
|
# [inline (always)]
|
|
pub const fn esusp (& self) -> bool { let val = (self . 0 >> 10usize) & 0x01 ; val != 0 } # [doc = "ESUSP."]
|
|
# [inline (always)]
|
|
pub fn set_esusp (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 10usize)) | (((val as u32) & 0x01) << 10usize) ; } # [doc = "USBSUSP."]
|
|
# [inline (always)]
|
|
pub const fn usbsusp (& self) -> bool { let val = (self . 0 >> 11usize) & 0x01 ; val != 0 } # [doc = "USBSUSP."]
|
|
# [inline (always)]
|
|
pub fn set_usbsusp (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 11usize)) | (((val as u32) & 0x01) << 11usize) ; } # [doc = "USBRST."]
|
|
# [inline (always)]
|
|
pub const fn usbrst (& self) -> bool { let val = (self . 0 >> 12usize) & 0x01 ; val != 0 } # [doc = "USBRST."]
|
|
# [inline (always)]
|
|
pub fn set_usbrst (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 12usize)) | (((val as u32) & 0x01) << 12usize) ; } # [doc = "ENUMDNE."]
|
|
# [inline (always)]
|
|
pub const fn enumdne (& self) -> bool { let val = (self . 0 >> 13usize) & 0x01 ; val != 0 } # [doc = "ENUMDNE."]
|
|
# [inline (always)]
|
|
pub fn set_enumdne (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 13usize)) | (((val as u32) & 0x01) << 13usize) ; } # [doc = "ISOODRP."]
|
|
# [inline (always)]
|
|
pub const fn isoodrp (& self) -> bool { let val = (self . 0 >> 14usize) & 0x01 ; val != 0 } # [doc = "ISOODRP."]
|
|
# [inline (always)]
|
|
pub fn set_isoodrp (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 14usize)) | (((val as u32) & 0x01) << 14usize) ; } # [doc = "EOPF."]
|
|
# [inline (always)]
|
|
pub const fn eopf (& self) -> bool { let val = (self . 0 >> 15usize) & 0x01 ; val != 0 } # [doc = "EOPF."]
|
|
# [inline (always)]
|
|
pub fn set_eopf (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 15usize)) | (((val as u32) & 0x01) << 15usize) ; } # [doc = "IEPINT."]
|
|
# [inline (always)]
|
|
pub const fn iepint (& self) -> bool { let val = (self . 0 >> 18usize) & 0x01 ; val != 0 } # [doc = "IEPINT."]
|
|
# [inline (always)]
|
|
pub fn set_iepint (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 18usize)) | (((val as u32) & 0x01) << 18usize) ; } # [doc = "OEPINT."]
|
|
# [inline (always)]
|
|
pub const fn oepint (& self) -> bool { let val = (self . 0 >> 19usize) & 0x01 ; val != 0 } # [doc = "OEPINT."]
|
|
# [inline (always)]
|
|
pub fn set_oepint (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 19usize)) | (((val as u32) & 0x01) << 19usize) ; } # [doc = "IISOIXFR."]
|
|
# [inline (always)]
|
|
pub const fn iisoixfr (& self) -> bool { let val = (self . 0 >> 20usize) & 0x01 ; val != 0 } # [doc = "IISOIXFR."]
|
|
# [inline (always)]
|
|
pub fn set_iisoixfr (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 20usize)) | (((val as u32) & 0x01) << 20usize) ; } # [doc = "IPXFR."]
|
|
# [inline (always)]
|
|
pub const fn ipxfr (& self) -> bool { let val = (self . 0 >> 21usize) & 0x01 ; val != 0 } # [doc = "IPXFR."]
|
|
# [inline (always)]
|
|
pub fn set_ipxfr (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 21usize)) | (((val as u32) & 0x01) << 21usize) ; } # [doc = "DATAFSUSP."]
|
|
# [inline (always)]
|
|
pub const fn datafsusp (& self) -> bool { let val = (self . 0 >> 22usize) & 0x01 ; val != 0 } # [doc = "DATAFSUSP."]
|
|
# [inline (always)]
|
|
pub fn set_datafsusp (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 22usize)) | (((val as u32) & 0x01) << 22usize) ; } # [doc = "RSTDET."]
|
|
# [inline (always)]
|
|
pub const fn rstdet (& self) -> bool { let val = (self . 0 >> 23usize) & 0x01 ; val != 0 } # [doc = "RSTDET."]
|
|
# [inline (always)]
|
|
pub fn set_rstdet (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 23usize)) | (((val as u32) & 0x01) << 23usize) ; } # [doc = "HPRTINT."]
|
|
# [inline (always)]
|
|
pub const fn hprtint (& self) -> bool { let val = (self . 0 >> 24usize) & 0x01 ; val != 0 } # [doc = "HPRTINT."]
|
|
# [inline (always)]
|
|
pub fn set_hprtint (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 24usize)) | (((val as u32) & 0x01) << 24usize) ; } # [doc = "HCINT."]
|
|
# [inline (always)]
|
|
pub const fn hcint (& self) -> bool { let val = (self . 0 >> 25usize) & 0x01 ; val != 0 } # [doc = "HCINT."]
|
|
# [inline (always)]
|
|
pub fn set_hcint (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 25usize)) | (((val as u32) & 0x01) << 25usize) ; } # [doc = "PTXFE."]
|
|
# [inline (always)]
|
|
pub const fn ptxfe (& self) -> bool { let val = (self . 0 >> 26usize) & 0x01 ; val != 0 } # [doc = "PTXFE."]
|
|
# [inline (always)]
|
|
pub fn set_ptxfe (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 26usize)) | (((val as u32) & 0x01) << 26usize) ; } # [doc = "LPMINT."]
|
|
# [inline (always)]
|
|
pub const fn lpmint (& self) -> bool { let val = (self . 0 >> 27usize) & 0x01 ; val != 0 } # [doc = "LPMINT."]
|
|
# [inline (always)]
|
|
pub fn set_lpmint (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 27usize)) | (((val as u32) & 0x01) << 27usize) ; } # [doc = "CIDSCHG."]
|
|
# [inline (always)]
|
|
pub const fn cidschg (& self) -> bool { let val = (self . 0 >> 28usize) & 0x01 ; val != 0 } # [doc = "CIDSCHG."]
|
|
# [inline (always)]
|
|
pub fn set_cidschg (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 28usize)) | (((val as u32) & 0x01) << 28usize) ; } # [doc = "DISCINT."]
|
|
# [inline (always)]
|
|
pub const fn discint (& self) -> bool { let val = (self . 0 >> 29usize) & 0x01 ; val != 0 } # [doc = "DISCINT."]
|
|
# [inline (always)]
|
|
pub fn set_discint (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 29usize)) | (((val as u32) & 0x01) << 29usize) ; } # [doc = "SRQINT."]
|
|
# [inline (always)]
|
|
pub const fn srqint (& self) -> bool { let val = (self . 0 >> 30usize) & 0x01 ; val != 0 } # [doc = "SRQINT."]
|
|
# [inline (always)]
|
|
pub fn set_srqint (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 30usize)) | (((val as u32) & 0x01) << 30usize) ; } # [doc = "WKUPINT."]
|
|
# [inline (always)]
|
|
pub const fn wkupint (& self) -> bool { let val = (self . 0 >> 31usize) & 0x01 ; val != 0 } # [doc = "WKUPINT."]
|
|
# [inline (always)]
|
|
pub fn set_wkupint (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 31usize)) | (((val as u32) & 0x01) << 31usize) ; } } impl Default for Gintsts { # [inline (always)]
|
|
fn default () -> Gintsts { Gintsts (0) } } # [doc = "OTG core LPM configuration register."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Glpmcfg (pub u32) ; impl Glpmcfg { # [doc = "LPMEN."]
|
|
# [inline (always)]
|
|
pub const fn lpmen (& self) -> bool { let val = (self . 0 >> 0usize) & 0x01 ; val != 0 } # [doc = "LPMEN."]
|
|
# [inline (always)]
|
|
pub fn set_lpmen (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize) ; } # [doc = "LPMACK."]
|
|
# [inline (always)]
|
|
pub const fn lpmack (& self) -> bool { let val = (self . 0 >> 1usize) & 0x01 ; val != 0 } # [doc = "LPMACK."]
|
|
# [inline (always)]
|
|
pub fn set_lpmack (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 1usize)) | (((val as u32) & 0x01) << 1usize) ; } # [doc = "BESL."]
|
|
# [inline (always)]
|
|
pub const fn besl (& self) -> u8 { let val = (self . 0 >> 2usize) & 0x0f ; val as u8 } # [doc = "BESL."]
|
|
# [inline (always)]
|
|
pub fn set_besl (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x0f << 2usize)) | (((val as u32) & 0x0f) << 2usize) ; } # [doc = "REMWAKE."]
|
|
# [inline (always)]
|
|
pub const fn remwake (& self) -> bool { let val = (self . 0 >> 6usize) & 0x01 ; val != 0 } # [doc = "REMWAKE."]
|
|
# [inline (always)]
|
|
pub fn set_remwake (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 6usize)) | (((val as u32) & 0x01) << 6usize) ; } # [doc = "L1SSEN."]
|
|
# [inline (always)]
|
|
pub const fn l1ssen (& self) -> bool { let val = (self . 0 >> 7usize) & 0x01 ; val != 0 } # [doc = "L1SSEN."]
|
|
# [inline (always)]
|
|
pub fn set_l1ssen (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 7usize)) | (((val as u32) & 0x01) << 7usize) ; } # [doc = "BESLTHRS."]
|
|
# [inline (always)]
|
|
pub const fn beslthrs (& self) -> u8 { let val = (self . 0 >> 8usize) & 0x0f ; val as u8 } # [doc = "BESLTHRS."]
|
|
# [inline (always)]
|
|
pub fn set_beslthrs (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x0f << 8usize)) | (((val as u32) & 0x0f) << 8usize) ; } # [doc = "L1DSEN."]
|
|
# [inline (always)]
|
|
pub const fn l1dsen (& self) -> bool { let val = (self . 0 >> 12usize) & 0x01 ; val != 0 } # [doc = "L1DSEN."]
|
|
# [inline (always)]
|
|
pub fn set_l1dsen (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 12usize)) | (((val as u32) & 0x01) << 12usize) ; } # [doc = "LPMRSP."]
|
|
# [inline (always)]
|
|
pub const fn lpmrsp (& self) -> u8 { let val = (self . 0 >> 13usize) & 0x03 ; val as u8 } # [doc = "LPMRSP."]
|
|
# [inline (always)]
|
|
pub fn set_lpmrsp (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x03 << 13usize)) | (((val as u32) & 0x03) << 13usize) ; } # [doc = "SLPSTS."]
|
|
# [inline (always)]
|
|
pub const fn slpsts (& self) -> bool { let val = (self . 0 >> 15usize) & 0x01 ; val != 0 } # [doc = "SLPSTS."]
|
|
# [inline (always)]
|
|
pub fn set_slpsts (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 15usize)) | (((val as u32) & 0x01) << 15usize) ; } # [doc = "L1RSMOK."]
|
|
# [inline (always)]
|
|
pub const fn l1rsmok (& self) -> bool { let val = (self . 0 >> 16usize) & 0x01 ; val != 0 } # [doc = "L1RSMOK."]
|
|
# [inline (always)]
|
|
pub fn set_l1rsmok (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 16usize)) | (((val as u32) & 0x01) << 16usize) ; } # [doc = "LPMCHIDX."]
|
|
# [inline (always)]
|
|
pub const fn lpmchidx (& self) -> u8 { let val = (self . 0 >> 17usize) & 0x0f ; val as u8 } # [doc = "LPMCHIDX."]
|
|
# [inline (always)]
|
|
pub fn set_lpmchidx (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x0f << 17usize)) | (((val as u32) & 0x0f) << 17usize) ; } # [doc = "LPMRCNT."]
|
|
# [inline (always)]
|
|
pub const fn lpmrcnt (& self) -> u8 { let val = (self . 0 >> 21usize) & 0x07 ; val as u8 } # [doc = "LPMRCNT."]
|
|
# [inline (always)]
|
|
pub fn set_lpmrcnt (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x07 << 21usize)) | (((val as u32) & 0x07) << 21usize) ; } # [doc = "SNDLPM."]
|
|
# [inline (always)]
|
|
pub const fn sndlpm (& self) -> bool { let val = (self . 0 >> 24usize) & 0x01 ; val != 0 } # [doc = "SNDLPM."]
|
|
# [inline (always)]
|
|
pub fn set_sndlpm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 24usize)) | (((val as u32) & 0x01) << 24usize) ; } # [doc = "LPMRCNTSTS."]
|
|
# [inline (always)]
|
|
pub const fn lpmrcntsts (& self) -> u8 { let val = (self . 0 >> 25usize) & 0x07 ; val as u8 } # [doc = "LPMRCNTSTS."]
|
|
# [inline (always)]
|
|
pub fn set_lpmrcntsts (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x07 << 25usize)) | (((val as u32) & 0x07) << 25usize) ; } # [doc = "ENBESL."]
|
|
# [inline (always)]
|
|
pub const fn enbesl (& self) -> bool { let val = (self . 0 >> 28usize) & 0x01 ; val != 0 } # [doc = "ENBESL."]
|
|
# [inline (always)]
|
|
pub fn set_enbesl (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 28usize)) | (((val as u32) & 0x01) << 28usize) ; } } impl Default for Glpmcfg { # [inline (always)]
|
|
fn default () -> Glpmcfg { Glpmcfg (0) } } # [doc = "The GOTGCTL register controls the behavior and reflects the status of the OTG function of the core."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Gotgctl (pub u32) ; impl Gotgctl { # [doc = "SRQSCS."]
|
|
# [inline (always)]
|
|
pub const fn srqscs (& self) -> bool { let val = (self . 0 >> 0usize) & 0x01 ; val != 0 } # [doc = "SRQSCS."]
|
|
# [inline (always)]
|
|
pub fn set_srqscs (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize) ; } # [doc = "SRQ."]
|
|
# [inline (always)]
|
|
pub const fn srq (& self) -> bool { let val = (self . 0 >> 1usize) & 0x01 ; val != 0 } # [doc = "SRQ."]
|
|
# [inline (always)]
|
|
pub fn set_srq (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 1usize)) | (((val as u32) & 0x01) << 1usize) ; } # [doc = "VBVALOEN."]
|
|
# [inline (always)]
|
|
pub const fn vbvaloen (& self) -> bool { let val = (self . 0 >> 2usize) & 0x01 ; val != 0 } # [doc = "VBVALOEN."]
|
|
# [inline (always)]
|
|
pub fn set_vbvaloen (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 2usize)) | (((val as u32) & 0x01) << 2usize) ; } # [doc = "VBVALOVAL."]
|
|
# [inline (always)]
|
|
pub const fn vbvaloval (& self) -> bool { let val = (self . 0 >> 3usize) & 0x01 ; val != 0 } # [doc = "VBVALOVAL."]
|
|
# [inline (always)]
|
|
pub fn set_vbvaloval (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 3usize)) | (((val as u32) & 0x01) << 3usize) ; } # [doc = "AVALOEN."]
|
|
# [inline (always)]
|
|
pub const fn avaloen (& self) -> bool { let val = (self . 0 >> 4usize) & 0x01 ; val != 0 } # [doc = "AVALOEN."]
|
|
# [inline (always)]
|
|
pub fn set_avaloen (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 4usize)) | (((val as u32) & 0x01) << 4usize) ; } # [doc = "AVALOVAL."]
|
|
# [inline (always)]
|
|
pub const fn avaloval (& self) -> bool { let val = (self . 0 >> 5usize) & 0x01 ; val != 0 } # [doc = "AVALOVAL."]
|
|
# [inline (always)]
|
|
pub fn set_avaloval (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 5usize)) | (((val as u32) & 0x01) << 5usize) ; } # [doc = "BVALOEN."]
|
|
# [inline (always)]
|
|
pub const fn bvaloen (& self) -> bool { let val = (self . 0 >> 6usize) & 0x01 ; val != 0 } # [doc = "BVALOEN."]
|
|
# [inline (always)]
|
|
pub fn set_bvaloen (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 6usize)) | (((val as u32) & 0x01) << 6usize) ; } # [doc = "BVALOVAL."]
|
|
# [inline (always)]
|
|
pub const fn bvaloval (& self) -> bool { let val = (self . 0 >> 7usize) & 0x01 ; val != 0 } # [doc = "BVALOVAL."]
|
|
# [inline (always)]
|
|
pub fn set_bvaloval (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 7usize)) | (((val as u32) & 0x01) << 7usize) ; } # [doc = "HNGSCS."]
|
|
# [inline (always)]
|
|
pub const fn hngscs (& self) -> bool { let val = (self . 0 >> 8usize) & 0x01 ; val != 0 } # [doc = "HNGSCS."]
|
|
# [inline (always)]
|
|
pub fn set_hngscs (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 8usize)) | (((val as u32) & 0x01) << 8usize) ; } # [doc = "HNPRQ."]
|
|
# [inline (always)]
|
|
pub const fn hnprq (& self) -> bool { let val = (self . 0 >> 9usize) & 0x01 ; val != 0 } # [doc = "HNPRQ."]
|
|
# [inline (always)]
|
|
pub fn set_hnprq (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 9usize)) | (((val as u32) & 0x01) << 9usize) ; } # [doc = "HSHNPEN."]
|
|
# [inline (always)]
|
|
pub const fn hshnpen (& self) -> bool { let val = (self . 0 >> 10usize) & 0x01 ; val != 0 } # [doc = "HSHNPEN."]
|
|
# [inline (always)]
|
|
pub fn set_hshnpen (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 10usize)) | (((val as u32) & 0x01) << 10usize) ; } # [doc = "DHNPEN."]
|
|
# [inline (always)]
|
|
pub const fn dhnpen (& self) -> bool { let val = (self . 0 >> 11usize) & 0x01 ; val != 0 } # [doc = "DHNPEN."]
|
|
# [inline (always)]
|
|
pub fn set_dhnpen (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 11usize)) | (((val as u32) & 0x01) << 11usize) ; } # [doc = "EHEN."]
|
|
# [inline (always)]
|
|
pub const fn ehen (& self) -> bool { let val = (self . 0 >> 12usize) & 0x01 ; val != 0 } # [doc = "EHEN."]
|
|
# [inline (always)]
|
|
pub fn set_ehen (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 12usize)) | (((val as u32) & 0x01) << 12usize) ; } # [doc = "CIDSTS."]
|
|
# [inline (always)]
|
|
pub const fn cidsts (& self) -> bool { let val = (self . 0 >> 16usize) & 0x01 ; val != 0 } # [doc = "CIDSTS."]
|
|
# [inline (always)]
|
|
pub fn set_cidsts (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 16usize)) | (((val as u32) & 0x01) << 16usize) ; } # [doc = "DBCT."]
|
|
# [inline (always)]
|
|
pub const fn dbct (& self) -> bool { let val = (self . 0 >> 17usize) & 0x01 ; val != 0 } # [doc = "DBCT."]
|
|
# [inline (always)]
|
|
pub fn set_dbct (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 17usize)) | (((val as u32) & 0x01) << 17usize) ; } # [doc = "ASVLD."]
|
|
# [inline (always)]
|
|
pub const fn asvld (& self) -> bool { let val = (self . 0 >> 18usize) & 0x01 ; val != 0 } # [doc = "ASVLD."]
|
|
# [inline (always)]
|
|
pub fn set_asvld (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 18usize)) | (((val as u32) & 0x01) << 18usize) ; } # [doc = "BSVLD."]
|
|
# [inline (always)]
|
|
pub const fn bsvld (& self) -> bool { let val = (self . 0 >> 19usize) & 0x01 ; val != 0 } # [doc = "BSVLD."]
|
|
# [inline (always)]
|
|
pub fn set_bsvld (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 19usize)) | (((val as u32) & 0x01) << 19usize) ; } # [doc = "OTGVER."]
|
|
# [inline (always)]
|
|
pub const fn otgver (& self) -> bool { let val = (self . 0 >> 20usize) & 0x01 ; val != 0 } # [doc = "OTGVER."]
|
|
# [inline (always)]
|
|
pub fn set_otgver (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 20usize)) | (((val as u32) & 0x01) << 20usize) ; } # [doc = "CURMOD."]
|
|
# [inline (always)]
|
|
pub const fn curmod (& self) -> bool { let val = (self . 0 >> 21usize) & 0x01 ; val != 0 } # [doc = "CURMOD."]
|
|
# [inline (always)]
|
|
pub fn set_curmod (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 21usize)) | (((val as u32) & 0x01) << 21usize) ; } } impl Default for Gotgctl { # [inline (always)]
|
|
fn default () -> Gotgctl { Gotgctl (0) } } # [doc = "The application reads this register whenever there is an OTG interrupt and clears the bits in this register to clear the OTG interrupt."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Gotgint (pub u32) ; impl Gotgint { # [doc = "SEDET."]
|
|
# [inline (always)]
|
|
pub const fn sedet (& self) -> bool { let val = (self . 0 >> 2usize) & 0x01 ; val != 0 } # [doc = "SEDET."]
|
|
# [inline (always)]
|
|
pub fn set_sedet (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 2usize)) | (((val as u32) & 0x01) << 2usize) ; } # [doc = "SRSSCHG."]
|
|
# [inline (always)]
|
|
pub const fn srsschg (& self) -> bool { let val = (self . 0 >> 8usize) & 0x01 ; val != 0 } # [doc = "SRSSCHG."]
|
|
# [inline (always)]
|
|
pub fn set_srsschg (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 8usize)) | (((val as u32) & 0x01) << 8usize) ; } # [doc = "HNSSCHG."]
|
|
# [inline (always)]
|
|
pub const fn hnsschg (& self) -> bool { let val = (self . 0 >> 9usize) & 0x01 ; val != 0 } # [doc = "HNSSCHG."]
|
|
# [inline (always)]
|
|
pub fn set_hnsschg (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 9usize)) | (((val as u32) & 0x01) << 9usize) ; } # [doc = "HNGDET."]
|
|
# [inline (always)]
|
|
pub const fn hngdet (& self) -> bool { let val = (self . 0 >> 17usize) & 0x01 ; val != 0 } # [doc = "HNGDET."]
|
|
# [inline (always)]
|
|
pub fn set_hngdet (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 17usize)) | (((val as u32) & 0x01) << 17usize) ; } # [doc = "ADTOCHG."]
|
|
# [inline (always)]
|
|
pub const fn adtochg (& self) -> bool { let val = (self . 0 >> 18usize) & 0x01 ; val != 0 } # [doc = "ADTOCHG."]
|
|
# [inline (always)]
|
|
pub fn set_adtochg (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 18usize)) | (((val as u32) & 0x01) << 18usize) ; } # [doc = "DBCDNE."]
|
|
# [inline (always)]
|
|
pub const fn dbcdne (& self) -> bool { let val = (self . 0 >> 19usize) & 0x01 ; val != 0 } # [doc = "DBCDNE."]
|
|
# [inline (always)]
|
|
pub fn set_dbcdne (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 19usize)) | (((val as u32) & 0x01) << 19usize) ; } } impl Default for Gotgint { # [inline (always)]
|
|
fn default () -> Gotgint { Gotgint (0) } } # [doc = "The application uses this register to reset various hardware features inside the core."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Grstctl (pub u32) ; impl Grstctl { # [doc = "CSRST."]
|
|
# [inline (always)]
|
|
pub const fn csrst (& self) -> bool { let val = (self . 0 >> 0usize) & 0x01 ; val != 0 } # [doc = "CSRST."]
|
|
# [inline (always)]
|
|
pub fn set_csrst (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize) ; } # [doc = "PSRST."]
|
|
# [inline (always)]
|
|
pub const fn psrst (& self) -> bool { let val = (self . 0 >> 1usize) & 0x01 ; val != 0 } # [doc = "PSRST."]
|
|
# [inline (always)]
|
|
pub fn set_psrst (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 1usize)) | (((val as u32) & 0x01) << 1usize) ; } # [doc = "FSRST."]
|
|
# [inline (always)]
|
|
pub const fn fsrst (& self) -> bool { let val = (self . 0 >> 2usize) & 0x01 ; val != 0 } # [doc = "FSRST."]
|
|
# [inline (always)]
|
|
pub fn set_fsrst (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 2usize)) | (((val as u32) & 0x01) << 2usize) ; } # [doc = "RXFFLSH."]
|
|
# [inline (always)]
|
|
pub const fn rxfflsh (& self) -> bool { let val = (self . 0 >> 4usize) & 0x01 ; val != 0 } # [doc = "RXFFLSH."]
|
|
# [inline (always)]
|
|
pub fn set_rxfflsh (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 4usize)) | (((val as u32) & 0x01) << 4usize) ; } # [doc = "TXFFLSH."]
|
|
# [inline (always)]
|
|
pub const fn txfflsh (& self) -> bool { let val = (self . 0 >> 5usize) & 0x01 ; val != 0 } # [doc = "TXFFLSH."]
|
|
# [inline (always)]
|
|
pub fn set_txfflsh (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 5usize)) | (((val as u32) & 0x01) << 5usize) ; } # [doc = "TXFNUM."]
|
|
# [inline (always)]
|
|
pub const fn txfnum (& self) -> u8 { let val = (self . 0 >> 6usize) & 0x1f ; val as u8 } # [doc = "TXFNUM."]
|
|
# [inline (always)]
|
|
pub fn set_txfnum (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x1f << 6usize)) | (((val as u32) & 0x1f) << 6usize) ; } # [doc = "DMAREQ."]
|
|
# [inline (always)]
|
|
pub const fn dmareq (& self) -> bool { let val = (self . 0 >> 30usize) & 0x01 ; val != 0 } # [doc = "DMAREQ."]
|
|
# [inline (always)]
|
|
pub fn set_dmareq (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 30usize)) | (((val as u32) & 0x01) << 30usize) ; } # [doc = "AHBIDL."]
|
|
# [inline (always)]
|
|
pub const fn ahbidl (& self) -> bool { let val = (self . 0 >> 31usize) & 0x01 ; val != 0 } # [doc = "AHBIDL."]
|
|
# [inline (always)]
|
|
pub fn set_ahbidl (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 31usize)) | (((val as u32) & 0x01) << 31usize) ; } } impl Default for Grstctl { # [inline (always)]
|
|
fn default () -> Grstctl { Grstctl (0) } } # [doc = "The application can program the RAM size that must be allocated to the Rx FIFO."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Grxfsiz (pub u32) ; impl Grxfsiz { # [doc = "RXFD."]
|
|
# [inline (always)]
|
|
pub const fn rxfd (& self) -> u16 { let val = (self . 0 >> 0usize) & 0xffff ; val as u16 } # [doc = "RXFD."]
|
|
# [inline (always)]
|
|
pub fn set_rxfd (& mut self , val : u16) { self . 0 = (self . 0 & ! (0xffff << 0usize)) | (((val as u32) & 0xffff) << 0usize) ; } } impl Default for Grxfsiz { # [inline (always)]
|
|
fn default () -> Grxfsiz { Grxfsiz (0) } } # [doc = "Status read and pop register"]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Grxsts (pub u32) ; impl Grxsts { # [doc = "Endpoint number (device mode) / Channel number (host mode)"]
|
|
# [inline (always)]
|
|
pub const fn epnum (& self) -> u8 { let val = (self . 0 >> 0usize) & 0x0f ; val as u8 } # [doc = "Endpoint number (device mode) / Channel number (host mode)"]
|
|
# [inline (always)]
|
|
pub fn set_epnum (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x0f << 0usize)) | (((val as u32) & 0x0f) << 0usize) ; } # [doc = "Byte count"]
|
|
# [inline (always)]
|
|
pub const fn bcnt (& self) -> u16 { let val = (self . 0 >> 4usize) & 0x07ff ; val as u16 } # [doc = "Byte count"]
|
|
# [inline (always)]
|
|
pub fn set_bcnt (& mut self , val : u16) { self . 0 = (self . 0 & ! (0x07ff << 4usize)) | (((val as u32) & 0x07ff) << 4usize) ; } # [doc = "Data PID"]
|
|
# [inline (always)]
|
|
pub const fn dpid (& self) -> u8 { let val = (self . 0 >> 15usize) & 0x03 ; val as u8 } # [doc = "Data PID"]
|
|
# [inline (always)]
|
|
pub fn set_dpid (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x03 << 15usize)) | (((val as u32) & 0x03) << 15usize) ; } # [doc = "Packet status (device mode)"]
|
|
# [inline (always)]
|
|
pub const fn pktstsd (& self) -> u8 { let val = (self . 0 >> 17usize) & 0x0f ; val as u8 } # [doc = "Packet status (device mode)"]
|
|
# [inline (always)]
|
|
pub fn set_pktstsd (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x0f << 17usize)) | (((val as u32) & 0x0f) << 17usize) ; } # [doc = "Frame number (device mode)"]
|
|
# [inline (always)]
|
|
pub const fn frmnum (& self) -> u8 { let val = (self . 0 >> 21usize) & 0x0f ; val as u8 } # [doc = "Frame number (device mode)"]
|
|
# [inline (always)]
|
|
pub fn set_frmnum (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x0f << 21usize)) | (((val as u32) & 0x0f) << 21usize) ; } # [doc = "STSPHST."]
|
|
# [inline (always)]
|
|
pub const fn stsphst (& self) -> bool { let val = (self . 0 >> 27usize) & 0x01 ; val != 0 } # [doc = "STSPHST."]
|
|
# [inline (always)]
|
|
pub fn set_stsphst (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 27usize)) | (((val as u32) & 0x01) << 27usize) ; } } impl Default for Grxsts { # [inline (always)]
|
|
fn default () -> Grxsts { Grxsts (0) } } # [doc = "This register can be used to configure the core after power-on or a changing to host mode or device mode. It contains USB and USB-PHY related configuration parameters. The application must program this register before starting any transactions on either the AHB or the USB. Do not make changes to this register after the initial programming."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Gusbcfg (pub u32) ; impl Gusbcfg { # [doc = "TOCAL."]
|
|
# [inline (always)]
|
|
pub const fn tocal (& self) -> u8 { let val = (self . 0 >> 0usize) & 0x07 ; val as u8 } # [doc = "TOCAL."]
|
|
# [inline (always)]
|
|
pub fn set_tocal (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x07 << 0usize)) | (((val as u32) & 0x07) << 0usize) ; } # [doc = "PHYSEL."]
|
|
# [inline (always)]
|
|
pub const fn physel (& self) -> bool { let val = (self . 0 >> 6usize) & 0x01 ; val != 0 } # [doc = "PHYSEL."]
|
|
# [inline (always)]
|
|
pub fn set_physel (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 6usize)) | (((val as u32) & 0x01) << 6usize) ; } # [doc = "SRPCAP."]
|
|
# [inline (always)]
|
|
pub const fn srpcap (& self) -> bool { let val = (self . 0 >> 8usize) & 0x01 ; val != 0 } # [doc = "SRPCAP."]
|
|
# [inline (always)]
|
|
pub fn set_srpcap (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 8usize)) | (((val as u32) & 0x01) << 8usize) ; } # [doc = "HNPCAP."]
|
|
# [inline (always)]
|
|
pub const fn hnpcap (& self) -> bool { let val = (self . 0 >> 9usize) & 0x01 ; val != 0 } # [doc = "HNPCAP."]
|
|
# [inline (always)]
|
|
pub fn set_hnpcap (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 9usize)) | (((val as u32) & 0x01) << 9usize) ; } # [doc = "TRDT."]
|
|
# [inline (always)]
|
|
pub const fn trdt (& self) -> u8 { let val = (self . 0 >> 10usize) & 0x0f ; val as u8 } # [doc = "TRDT."]
|
|
# [inline (always)]
|
|
pub fn set_trdt (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x0f << 10usize)) | (((val as u32) & 0x0f) << 10usize) ; } # [doc = "PHYLPC."]
|
|
# [inline (always)]
|
|
pub const fn phylpc (& self) -> bool { let val = (self . 0 >> 15usize) & 0x01 ; val != 0 } # [doc = "PHYLPC."]
|
|
# [inline (always)]
|
|
pub fn set_phylpc (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 15usize)) | (((val as u32) & 0x01) << 15usize) ; } # [doc = "TSDPS."]
|
|
# [inline (always)]
|
|
pub const fn tsdps (& self) -> bool { let val = (self . 0 >> 22usize) & 0x01 ; val != 0 } # [doc = "TSDPS."]
|
|
# [inline (always)]
|
|
pub fn set_tsdps (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 22usize)) | (((val as u32) & 0x01) << 22usize) ; } # [doc = "FHMOD."]
|
|
# [inline (always)]
|
|
pub const fn fhmod (& self) -> bool { let val = (self . 0 >> 29usize) & 0x01 ; val != 0 } # [doc = "FHMOD."]
|
|
# [inline (always)]
|
|
pub fn set_fhmod (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 29usize)) | (((val as u32) & 0x01) << 29usize) ; } # [doc = "FDMOD."]
|
|
# [inline (always)]
|
|
pub const fn fdmod (& self) -> bool { let val = (self . 0 >> 30usize) & 0x01 ; val != 0 } # [doc = "FDMOD."]
|
|
# [inline (always)]
|
|
pub fn set_fdmod (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 30usize)) | (((val as u32) & 0x01) << 30usize) ; } } impl Default for Gusbcfg { # [inline (always)]
|
|
fn default () -> Gusbcfg { Gusbcfg (0) } } # [doc = "When a significant event occurs on a channel, the host all channels interrupt register interrupts the application using the host channels interrupt bit of the core interrupt register (HCINT bit in GINTSTS). This is shown in Figure724. There is one interrupt bit per channel, up to a maximum of 16 bits. Bits in this register are set and cleared when the application sets and clears bits in the corresponding host channel-x interrupt register."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Haint (pub u32) ; impl Haint { # [doc = "HAINT."]
|
|
# [inline (always)]
|
|
pub const fn haint (& self) -> u16 { let val = (self . 0 >> 0usize) & 0xffff ; val as u16 } # [doc = "HAINT."]
|
|
# [inline (always)]
|
|
pub fn set_haint (& mut self , val : u16) { self . 0 = (self . 0 & ! (0xffff << 0usize)) | (((val as u32) & 0xffff) << 0usize) ; } } impl Default for Haint { # [inline (always)]
|
|
fn default () -> Haint { Haint (0) } } # [doc = "The host all channel interrupt mask register works with the host all channel interrupt register to interrupt the application when an event occurs on a channel. There is one interrupt mask bit per channel, up to a maximum of 16 bits."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Haintmsk (pub u32) ; impl Haintmsk { # [doc = "HAINTM."]
|
|
# [inline (always)]
|
|
pub const fn haintm (& self) -> u16 { let val = (self . 0 >> 0usize) & 0xffff ; val as u16 } # [doc = "HAINTM."]
|
|
# [inline (always)]
|
|
pub fn set_haintm (& mut self , val : u16) { self . 0 = (self . 0 & ! (0xffff << 0usize)) | (((val as u32) & 0xffff) << 0usize) ; } } impl Default for Haintmsk { # [inline (always)]
|
|
fn default () -> Haintmsk { Haintmsk (0) } } # [doc = "This register configures the core after power-on. Do not make changes to this register after initializing the host."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Hcfg (pub u32) ; impl Hcfg { # [doc = "FSLSPCS."]
|
|
# [inline (always)]
|
|
pub const fn fslspcs (& self) -> u8 { let val = (self . 0 >> 0usize) & 0x03 ; val as u8 } # [doc = "FSLSPCS."]
|
|
# [inline (always)]
|
|
pub fn set_fslspcs (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x03 << 0usize)) | (((val as u32) & 0x03) << 0usize) ; } # [doc = "FSLSS."]
|
|
# [inline (always)]
|
|
pub const fn fslss (& self) -> bool { let val = (self . 0 >> 2usize) & 0x01 ; val != 0 } # [doc = "FSLSS."]
|
|
# [inline (always)]
|
|
pub fn set_fslss (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 2usize)) | (((val as u32) & 0x01) << 2usize) ; } } impl Default for Hcfg { # [inline (always)]
|
|
fn default () -> Hcfg { Hcfg (0) } } # [doc = "This register stores the frame interval information for the current speed to which the OTG controller has enumerated."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Hfir (pub u32) ; impl Hfir { # [doc = "FRIVL."]
|
|
# [inline (always)]
|
|
pub const fn frivl (& self) -> u16 { let val = (self . 0 >> 0usize) & 0xffff ; val as u16 } # [doc = "FRIVL."]
|
|
# [inline (always)]
|
|
pub fn set_frivl (& mut self , val : u16) { self . 0 = (self . 0 & ! (0xffff << 0usize)) | (((val as u32) & 0xffff) << 0usize) ; } # [doc = "RLDCTRL."]
|
|
# [inline (always)]
|
|
pub const fn rldctrl (& self) -> bool { let val = (self . 0 >> 16usize) & 0x01 ; val != 0 } # [doc = "RLDCTRL."]
|
|
# [inline (always)]
|
|
pub fn set_rldctrl (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 16usize)) | (((val as u32) & 0x01) << 16usize) ; } } impl Default for Hfir { # [inline (always)]
|
|
fn default () -> Hfir { Hfir (0) } } # [doc = "This register indicates the current frame number. It also indicates the time remaining (in terms of the number of PHY clocks) in the current frame."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Hfnum (pub u32) ; impl Hfnum { # [doc = "FRNUM."]
|
|
# [inline (always)]
|
|
pub const fn frnum (& self) -> u16 { let val = (self . 0 >> 0usize) & 0xffff ; val as u16 } # [doc = "FRNUM."]
|
|
# [inline (always)]
|
|
pub fn set_frnum (& mut self , val : u16) { self . 0 = (self . 0 & ! (0xffff << 0usize)) | (((val as u32) & 0xffff) << 0usize) ; } # [doc = "FTREM."]
|
|
# [inline (always)]
|
|
pub const fn ftrem (& self) -> u16 { let val = (self . 0 >> 16usize) & 0xffff ; val as u16 } # [doc = "FTREM."]
|
|
# [inline (always)]
|
|
pub fn set_ftrem (& mut self , val : u16) { self . 0 = (self . 0 & ! (0xffff << 16usize)) | (((val as u32) & 0xffff) << 16usize) ; } } impl Default for Hfnum { # [inline (always)]
|
|
fn default () -> Hfnum { Hfnum (0) } } # [doc = "This register is available only in host mode. Currently, the OTG host supports only one port. A single register holds USB port-related information such as USB reset, enable, suspend, resume, connect status, and test mode for each port. It is shown in Figure724. The rc_w1 bits in this register can trigger an interrupt to the application through the host port interrupt bit of the core interrupt register (HPRTINT bit in GINTSTS). On a port interrupt, the application must read this register and clear the bit that caused the interrupt. For the rc_w1 bits, the application must write a 1 to the bit to clear the interrupt."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Hprt (pub u32) ; impl Hprt { # [doc = "PCSTS."]
|
|
# [inline (always)]
|
|
pub const fn pcsts (& self) -> bool { let val = (self . 0 >> 0usize) & 0x01 ; val != 0 } # [doc = "PCSTS."]
|
|
# [inline (always)]
|
|
pub fn set_pcsts (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize) ; } # [doc = "PCDET."]
|
|
# [inline (always)]
|
|
pub const fn pcdet (& self) -> bool { let val = (self . 0 >> 1usize) & 0x01 ; val != 0 } # [doc = "PCDET."]
|
|
# [inline (always)]
|
|
pub fn set_pcdet (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 1usize)) | (((val as u32) & 0x01) << 1usize) ; } # [doc = "PENA."]
|
|
# [inline (always)]
|
|
pub const fn pena (& self) -> bool { let val = (self . 0 >> 2usize) & 0x01 ; val != 0 } # [doc = "PENA."]
|
|
# [inline (always)]
|
|
pub fn set_pena (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 2usize)) | (((val as u32) & 0x01) << 2usize) ; } # [doc = "PENCHNG."]
|
|
# [inline (always)]
|
|
pub const fn penchng (& self) -> bool { let val = (self . 0 >> 3usize) & 0x01 ; val != 0 } # [doc = "PENCHNG."]
|
|
# [inline (always)]
|
|
pub fn set_penchng (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 3usize)) | (((val as u32) & 0x01) << 3usize) ; } # [doc = "POCA."]
|
|
# [inline (always)]
|
|
pub const fn poca (& self) -> bool { let val = (self . 0 >> 4usize) & 0x01 ; val != 0 } # [doc = "POCA."]
|
|
# [inline (always)]
|
|
pub fn set_poca (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 4usize)) | (((val as u32) & 0x01) << 4usize) ; } # [doc = "POCCHNG."]
|
|
# [inline (always)]
|
|
pub const fn pocchng (& self) -> bool { let val = (self . 0 >> 5usize) & 0x01 ; val != 0 } # [doc = "POCCHNG."]
|
|
# [inline (always)]
|
|
pub fn set_pocchng (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 5usize)) | (((val as u32) & 0x01) << 5usize) ; } # [doc = "PRES."]
|
|
# [inline (always)]
|
|
pub const fn pres (& self) -> bool { let val = (self . 0 >> 6usize) & 0x01 ; val != 0 } # [doc = "PRES."]
|
|
# [inline (always)]
|
|
pub fn set_pres (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 6usize)) | (((val as u32) & 0x01) << 6usize) ; } # [doc = "PSUSP."]
|
|
# [inline (always)]
|
|
pub const fn psusp (& self) -> bool { let val = (self . 0 >> 7usize) & 0x01 ; val != 0 } # [doc = "PSUSP."]
|
|
# [inline (always)]
|
|
pub fn set_psusp (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 7usize)) | (((val as u32) & 0x01) << 7usize) ; } # [doc = "PRST."]
|
|
# [inline (always)]
|
|
pub const fn prst (& self) -> bool { let val = (self . 0 >> 8usize) & 0x01 ; val != 0 } # [doc = "PRST."]
|
|
# [inline (always)]
|
|
pub fn set_prst (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 8usize)) | (((val as u32) & 0x01) << 8usize) ; } # [doc = "PLSTS."]
|
|
# [inline (always)]
|
|
pub const fn plsts (& self) -> u8 { let val = (self . 0 >> 10usize) & 0x03 ; val as u8 } # [doc = "PLSTS."]
|
|
# [inline (always)]
|
|
pub fn set_plsts (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x03 << 10usize)) | (((val as u32) & 0x03) << 10usize) ; } # [doc = "PPWR."]
|
|
# [inline (always)]
|
|
pub const fn ppwr (& self) -> bool { let val = (self . 0 >> 12usize) & 0x01 ; val != 0 } # [doc = "PPWR."]
|
|
# [inline (always)]
|
|
pub fn set_ppwr (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 12usize)) | (((val as u32) & 0x01) << 12usize) ; } # [doc = "PTCTL."]
|
|
# [inline (always)]
|
|
pub const fn ptctl (& self) -> u8 { let val = (self . 0 >> 13usize) & 0x0f ; val as u8 } # [doc = "PTCTL."]
|
|
# [inline (always)]
|
|
pub fn set_ptctl (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x0f << 13usize)) | (((val as u32) & 0x0f) << 13usize) ; } # [doc = "PSPD."]
|
|
# [inline (always)]
|
|
pub const fn pspd (& self) -> u8 { let val = (self . 0 >> 17usize) & 0x03 ; val as u8 } # [doc = "PSPD."]
|
|
# [inline (always)]
|
|
pub fn set_pspd (& mut self , val : u8) { self . 0 = (self . 0 & ! (0x03 << 17usize)) | (((val as u32) & 0x03) << 17usize) ; } } impl Default for Hprt { # [inline (always)]
|
|
fn default () -> Hprt { Hprt (0) } } # [doc = "OTG device each OUT endpoint-1 interrupt mask register."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct HsDoepeachmsk1 (pub u32) ; impl HsDoepeachmsk1 { # [doc = "XFRCM."]
|
|
# [inline (always)]
|
|
pub const fn xfrcm (& self) -> bool { let val = (self . 0 >> 0usize) & 0x01 ; val != 0 } # [doc = "XFRCM."]
|
|
# [inline (always)]
|
|
pub fn set_xfrcm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize) ; } # [doc = "EPDM."]
|
|
# [inline (always)]
|
|
pub const fn epdm (& self) -> bool { let val = (self . 0 >> 1usize) & 0x01 ; val != 0 } # [doc = "EPDM."]
|
|
# [inline (always)]
|
|
pub fn set_epdm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 1usize)) | (((val as u32) & 0x01) << 1usize) ; } # [doc = "AHBERRM."]
|
|
# [inline (always)]
|
|
pub const fn ahberrm (& self) -> bool { let val = (self . 0 >> 2usize) & 0x01 ; val != 0 } # [doc = "AHBERRM."]
|
|
# [inline (always)]
|
|
pub fn set_ahberrm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 2usize)) | (((val as u32) & 0x01) << 2usize) ; } # [doc = "STUPM."]
|
|
# [inline (always)]
|
|
pub const fn stupm (& self) -> bool { let val = (self . 0 >> 3usize) & 0x01 ; val != 0 } # [doc = "STUPM."]
|
|
# [inline (always)]
|
|
pub fn set_stupm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 3usize)) | (((val as u32) & 0x01) << 3usize) ; } # [doc = "OTEPDM."]
|
|
# [inline (always)]
|
|
pub const fn otepdm (& self) -> bool { let val = (self . 0 >> 4usize) & 0x01 ; val != 0 } # [doc = "OTEPDM."]
|
|
# [inline (always)]
|
|
pub fn set_otepdm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 4usize)) | (((val as u32) & 0x01) << 4usize) ; } # [doc = "B2BSTUPM."]
|
|
# [inline (always)]
|
|
pub const fn b2bstupm (& self) -> bool { let val = (self . 0 >> 6usize) & 0x01 ; val != 0 } # [doc = "B2BSTUPM."]
|
|
# [inline (always)]
|
|
pub fn set_b2bstupm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 6usize)) | (((val as u32) & 0x01) << 6usize) ; } # [doc = "OUTPKTERRM."]
|
|
# [inline (always)]
|
|
pub const fn outpkterrm (& self) -> bool { let val = (self . 0 >> 8usize) & 0x01 ; val != 0 } # [doc = "OUTPKTERRM."]
|
|
# [inline (always)]
|
|
pub fn set_outpkterrm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 8usize)) | (((val as u32) & 0x01) << 8usize) ; } # [doc = "BNAM."]
|
|
# [inline (always)]
|
|
pub const fn bnam (& self) -> bool { let val = (self . 0 >> 9usize) & 0x01 ; val != 0 } # [doc = "BNAM."]
|
|
# [inline (always)]
|
|
pub fn set_bnam (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 9usize)) | (((val as u32) & 0x01) << 9usize) ; } # [doc = "BERRM."]
|
|
# [inline (always)]
|
|
pub const fn berrm (& self) -> bool { let val = (self . 0 >> 12usize) & 0x01 ; val != 0 } # [doc = "BERRM."]
|
|
# [inline (always)]
|
|
pub fn set_berrm (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 12usize)) | (((val as u32) & 0x01) << 12usize) ; } # [doc = "NAKMSK."]
|
|
# [inline (always)]
|
|
pub const fn nakmsk (& self) -> bool { let val = (self . 0 >> 13usize) & 0x01 ; val != 0 } # [doc = "NAKMSK."]
|
|
# [inline (always)]
|
|
pub fn set_nakmsk (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 13usize)) | (((val as u32) & 0x01) << 13usize) ; } # [doc = "NYETMSK."]
|
|
# [inline (always)]
|
|
pub const fn nyetmsk (& self) -> bool { let val = (self . 0 >> 14usize) & 0x01 ; val != 0 } # [doc = "NYETMSK."]
|
|
# [inline (always)]
|
|
pub fn set_nyetmsk (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 14usize)) | (((val as u32) & 0x01) << 14usize) ; } } impl Default for HsDoepeachmsk1 { # [inline (always)]
|
|
fn default () -> HsDoepeachmsk1 { HsDoepeachmsk1 (0) } } # [doc = "This register is available in host and device modes."]
|
|
# [repr (transparent)]
|
|
# [derive (Copy , Clone , Eq , PartialEq)]
|
|
pub struct Pcgcctl (pub u32) ; impl Pcgcctl { # [doc = "STPPCLK."]
|
|
# [inline (always)]
|
|
pub const fn stppclk (& self) -> bool { let val = (self . 0 >> 0usize) & 0x01 ; val != 0 } # [doc = "STPPCLK."]
|
|
# [inline (always)]
|
|
pub fn set_stppclk (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 0usize)) | (((val as u32) & 0x01) << 0usize) ; } # [doc = "GATEHCLK."]
|
|
# [inline (always)]
|
|
pub const fn gatehclk (& self) -> bool { let val = (self . 0 >> 1usize) & 0x01 ; val != 0 } # [doc = "GATEHCLK."]
|
|
# [inline (always)]
|
|
pub fn set_gatehclk (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 1usize)) | (((val as u32) & 0x01) << 1usize) ; } # [doc = "PHYSUSP."]
|
|
# [inline (always)]
|
|
pub const fn physusp (& self) -> bool { let val = (self . 0 >> 4usize) & 0x01 ; val != 0 } # [doc = "PHYSUSP."]
|
|
# [inline (always)]
|
|
pub fn set_physusp (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 4usize)) | (((val as u32) & 0x01) << 4usize) ; } # [doc = "ENL1GTG."]
|
|
# [inline (always)]
|
|
pub const fn enl1gtg (& self) -> bool { let val = (self . 0 >> 5usize) & 0x01 ; val != 0 } # [doc = "ENL1GTG."]
|
|
# [inline (always)]
|
|
pub fn set_enl1gtg (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 5usize)) | (((val as u32) & 0x01) << 5usize) ; } # [doc = "PHYSLEEP."]
|
|
# [inline (always)]
|
|
pub const fn physleep (& self) -> bool { let val = (self . 0 >> 6usize) & 0x01 ; val != 0 } # [doc = "PHYSLEEP."]
|
|
# [inline (always)]
|
|
pub fn set_physleep (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 6usize)) | (((val as u32) & 0x01) << 6usize) ; } # [doc = "SUSP."]
|
|
# [inline (always)]
|
|
pub const fn susp (& self) -> bool { let val = (self . 0 >> 7usize) & 0x01 ; val != 0 } # [doc = "SUSP."]
|
|
# [inline (always)]
|
|
pub fn set_susp (& mut self , val : bool) { self . 0 = (self . 0 & ! (0x01 << 7usize)) | (((val as u32) & 0x01) << 7usize) ; } } impl Default for Pcgcctl { # [inline (always)]
|
|
fn default () -> Pcgcctl { Pcgcctl (0) } } } pub mod vals { # [repr (u8)]
|
|
# [derive (Copy , Clone , Eq , PartialEq , Ord , PartialOrd)]
|
|
pub enum Dspd { # [doc = "High speed"]
|
|
HIGH_SPEED = 0x0 , # [doc = "Full speed using external ULPI PHY"]
|
|
FULL_SPEED_EXTERNAL = 0x01 , _RESERVED_2 = 0x02 , # [doc = "Full speed using internal embedded PHY"]
|
|
FULL_SPEED_INTERNAL = 0x03 , } impl Dspd { # [inline (always)]
|
|
pub const fn from_bits (val : u8) -> Dspd { unsafe { core :: mem :: transmute (val & 0x03) } } # [inline (always)]
|
|
pub const fn to_bits (self) -> u8 { unsafe { core :: mem :: transmute (self) } } } impl From < u8 > for Dspd { # [inline (always)]
|
|
fn from (val : u8) -> Dspd { Dspd :: from_bits (val) } } impl From < Dspd > for u8 { # [inline (always)]
|
|
fn from (val : Dspd) -> u8 { Dspd :: to_bits (val) } } # [repr (u8)]
|
|
# [derive (Copy , Clone , Eq , PartialEq , Ord , PartialOrd)]
|
|
pub enum Eptyp { CONTROL = 0x0 , ISOCHRONOUS = 0x01 , BULK = 0x02 , INTERRUPT = 0x03 , } impl Eptyp { # [inline (always)]
|
|
pub const fn from_bits (val : u8) -> Eptyp { unsafe { core :: mem :: transmute (val & 0x03) } } # [inline (always)]
|
|
pub const fn to_bits (self) -> u8 { unsafe { core :: mem :: transmute (self) } } } impl From < u8 > for Eptyp { # [inline (always)]
|
|
fn from (val : u8) -> Eptyp { Eptyp :: from_bits (val) } } impl From < Eptyp > for u8 { # [inline (always)]
|
|
fn from (val : Eptyp) -> u8 { Eptyp :: to_bits (val) } } } |