648 lines
17 KiB
Rust
648 lines
17 KiB
Rust
#[doc = r" Value read from the register"]
|
|
pub struct R {
|
|
bits: u32,
|
|
}
|
|
impl super::ES {
|
|
#[doc = r" Reads the contents of the register"]
|
|
#[inline]
|
|
pub fn read(&self) -> R {
|
|
R {
|
|
bits: self.register.get(),
|
|
}
|
|
}
|
|
}
|
|
#[doc = "Possible values of the field `DBE`"]
|
|
#[derive(Clone, Copy, Debug, PartialEq)]
|
|
pub enum DBER {
|
|
#[doc = "No destination bus error"]
|
|
_0,
|
|
#[doc = "The last recorded error was a bus error on a destination write"]
|
|
_1,
|
|
}
|
|
impl DBER {
|
|
#[doc = r" Returns `true` if the bit is clear (0)"]
|
|
#[inline]
|
|
pub fn bit_is_clear(&self) -> bool {
|
|
!self.bit()
|
|
}
|
|
#[doc = r" Returns `true` if the bit is set (1)"]
|
|
#[inline]
|
|
pub fn bit_is_set(&self) -> bool {
|
|
self.bit()
|
|
}
|
|
#[doc = r" Value of the field as raw bits"]
|
|
#[inline]
|
|
pub fn bit(&self) -> bool {
|
|
match *self {
|
|
DBER::_0 => false,
|
|
DBER::_1 => true,
|
|
}
|
|
}
|
|
#[allow(missing_docs)]
|
|
#[doc(hidden)]
|
|
#[inline]
|
|
pub fn _from(value: bool) -> DBER {
|
|
match value {
|
|
false => DBER::_0,
|
|
true => DBER::_1,
|
|
}
|
|
}
|
|
#[doc = "Checks if the value of the field is `_0`"]
|
|
#[inline]
|
|
pub fn is_0(&self) -> bool {
|
|
*self == DBER::_0
|
|
}
|
|
#[doc = "Checks if the value of the field is `_1`"]
|
|
#[inline]
|
|
pub fn is_1(&self) -> bool {
|
|
*self == DBER::_1
|
|
}
|
|
}
|
|
#[doc = "Possible values of the field `SBE`"]
|
|
#[derive(Clone, Copy, Debug, PartialEq)]
|
|
pub enum SBER {
|
|
#[doc = "No source bus error"]
|
|
_0,
|
|
#[doc = "The last recorded error was a bus error on a source read"]
|
|
_1,
|
|
}
|
|
impl SBER {
|
|
#[doc = r" Returns `true` if the bit is clear (0)"]
|
|
#[inline]
|
|
pub fn bit_is_clear(&self) -> bool {
|
|
!self.bit()
|
|
}
|
|
#[doc = r" Returns `true` if the bit is set (1)"]
|
|
#[inline]
|
|
pub fn bit_is_set(&self) -> bool {
|
|
self.bit()
|
|
}
|
|
#[doc = r" Value of the field as raw bits"]
|
|
#[inline]
|
|
pub fn bit(&self) -> bool {
|
|
match *self {
|
|
SBER::_0 => false,
|
|
SBER::_1 => true,
|
|
}
|
|
}
|
|
#[allow(missing_docs)]
|
|
#[doc(hidden)]
|
|
#[inline]
|
|
pub fn _from(value: bool) -> SBER {
|
|
match value {
|
|
false => SBER::_0,
|
|
true => SBER::_1,
|
|
}
|
|
}
|
|
#[doc = "Checks if the value of the field is `_0`"]
|
|
#[inline]
|
|
pub fn is_0(&self) -> bool {
|
|
*self == SBER::_0
|
|
}
|
|
#[doc = "Checks if the value of the field is `_1`"]
|
|
#[inline]
|
|
pub fn is_1(&self) -> bool {
|
|
*self == SBER::_1
|
|
}
|
|
}
|
|
#[doc = "Possible values of the field `SGE`"]
|
|
#[derive(Clone, Copy, Debug, PartialEq)]
|
|
pub enum SGER {
|
|
#[doc = "No scatter/gather configuration error"]
|
|
_0,
|
|
#[doc = "The last recorded error was a configuration error detected in the TCDn_DLASTSGA field. This field is checked at the beginning of a scatter/gather operation after major loop completion if TCDn_CSR[ESG] is enabled. TCDn_DLASTSGA is not on a 32 byte boundary."]
|
|
_1,
|
|
}
|
|
impl SGER {
|
|
#[doc = r" Returns `true` if the bit is clear (0)"]
|
|
#[inline]
|
|
pub fn bit_is_clear(&self) -> bool {
|
|
!self.bit()
|
|
}
|
|
#[doc = r" Returns `true` if the bit is set (1)"]
|
|
#[inline]
|
|
pub fn bit_is_set(&self) -> bool {
|
|
self.bit()
|
|
}
|
|
#[doc = r" Value of the field as raw bits"]
|
|
#[inline]
|
|
pub fn bit(&self) -> bool {
|
|
match *self {
|
|
SGER::_0 => false,
|
|
SGER::_1 => true,
|
|
}
|
|
}
|
|
#[allow(missing_docs)]
|
|
#[doc(hidden)]
|
|
#[inline]
|
|
pub fn _from(value: bool) -> SGER {
|
|
match value {
|
|
false => SGER::_0,
|
|
true => SGER::_1,
|
|
}
|
|
}
|
|
#[doc = "Checks if the value of the field is `_0`"]
|
|
#[inline]
|
|
pub fn is_0(&self) -> bool {
|
|
*self == SGER::_0
|
|
}
|
|
#[doc = "Checks if the value of the field is `_1`"]
|
|
#[inline]
|
|
pub fn is_1(&self) -> bool {
|
|
*self == SGER::_1
|
|
}
|
|
}
|
|
#[doc = "Possible values of the field `NCE`"]
|
|
#[derive(Clone, Copy, Debug, PartialEq)]
|
|
pub enum NCER {
|
|
#[doc = "No NBYTES/CITER configuration error"]
|
|
_0,
|
|
#[doc = r" Reserved"]
|
|
_Reserved(bool),
|
|
}
|
|
impl NCER {
|
|
#[doc = r" Returns `true` if the bit is clear (0)"]
|
|
#[inline]
|
|
pub fn bit_is_clear(&self) -> bool {
|
|
!self.bit()
|
|
}
|
|
#[doc = r" Returns `true` if the bit is set (1)"]
|
|
#[inline]
|
|
pub fn bit_is_set(&self) -> bool {
|
|
self.bit()
|
|
}
|
|
#[doc = r" Value of the field as raw bits"]
|
|
#[inline]
|
|
pub fn bit(&self) -> bool {
|
|
match *self {
|
|
NCER::_0 => false,
|
|
NCER::_Reserved(bits) => bits,
|
|
}
|
|
}
|
|
#[allow(missing_docs)]
|
|
#[doc(hidden)]
|
|
#[inline]
|
|
pub fn _from(value: bool) -> NCER {
|
|
match value {
|
|
false => NCER::_0,
|
|
i => NCER::_Reserved(i),
|
|
}
|
|
}
|
|
#[doc = "Checks if the value of the field is `_0`"]
|
|
#[inline]
|
|
pub fn is_0(&self) -> bool {
|
|
*self == NCER::_0
|
|
}
|
|
}
|
|
#[doc = "Possible values of the field `DOE`"]
|
|
#[derive(Clone, Copy, Debug, PartialEq)]
|
|
pub enum DOER {
|
|
#[doc = "No destination offset configuration error"]
|
|
_0,
|
|
#[doc = "The last recorded error was a configuration error detected in the TCDn_DOFF field. TCDn_DOFF is inconsistent with TCDn_ATTR[DSIZE]."]
|
|
_1,
|
|
}
|
|
impl DOER {
|
|
#[doc = r" Returns `true` if the bit is clear (0)"]
|
|
#[inline]
|
|
pub fn bit_is_clear(&self) -> bool {
|
|
!self.bit()
|
|
}
|
|
#[doc = r" Returns `true` if the bit is set (1)"]
|
|
#[inline]
|
|
pub fn bit_is_set(&self) -> bool {
|
|
self.bit()
|
|
}
|
|
#[doc = r" Value of the field as raw bits"]
|
|
#[inline]
|
|
pub fn bit(&self) -> bool {
|
|
match *self {
|
|
DOER::_0 => false,
|
|
DOER::_1 => true,
|
|
}
|
|
}
|
|
#[allow(missing_docs)]
|
|
#[doc(hidden)]
|
|
#[inline]
|
|
pub fn _from(value: bool) -> DOER {
|
|
match value {
|
|
false => DOER::_0,
|
|
true => DOER::_1,
|
|
}
|
|
}
|
|
#[doc = "Checks if the value of the field is `_0`"]
|
|
#[inline]
|
|
pub fn is_0(&self) -> bool {
|
|
*self == DOER::_0
|
|
}
|
|
#[doc = "Checks if the value of the field is `_1`"]
|
|
#[inline]
|
|
pub fn is_1(&self) -> bool {
|
|
*self == DOER::_1
|
|
}
|
|
}
|
|
#[doc = "Possible values of the field `DAE`"]
|
|
#[derive(Clone, Copy, Debug, PartialEq)]
|
|
pub enum DAER {
|
|
#[doc = "No destination address configuration error"]
|
|
_0,
|
|
#[doc = "The last recorded error was a configuration error detected in the TCDn_DADDR field. TCDn_DADDR is inconsistent with TCDn_ATTR[DSIZE]."]
|
|
_1,
|
|
}
|
|
impl DAER {
|
|
#[doc = r" Returns `true` if the bit is clear (0)"]
|
|
#[inline]
|
|
pub fn bit_is_clear(&self) -> bool {
|
|
!self.bit()
|
|
}
|
|
#[doc = r" Returns `true` if the bit is set (1)"]
|
|
#[inline]
|
|
pub fn bit_is_set(&self) -> bool {
|
|
self.bit()
|
|
}
|
|
#[doc = r" Value of the field as raw bits"]
|
|
#[inline]
|
|
pub fn bit(&self) -> bool {
|
|
match *self {
|
|
DAER::_0 => false,
|
|
DAER::_1 => true,
|
|
}
|
|
}
|
|
#[allow(missing_docs)]
|
|
#[doc(hidden)]
|
|
#[inline]
|
|
pub fn _from(value: bool) -> DAER {
|
|
match value {
|
|
false => DAER::_0,
|
|
true => DAER::_1,
|
|
}
|
|
}
|
|
#[doc = "Checks if the value of the field is `_0`"]
|
|
#[inline]
|
|
pub fn is_0(&self) -> bool {
|
|
*self == DAER::_0
|
|
}
|
|
#[doc = "Checks if the value of the field is `_1`"]
|
|
#[inline]
|
|
pub fn is_1(&self) -> bool {
|
|
*self == DAER::_1
|
|
}
|
|
}
|
|
#[doc = "Possible values of the field `SOE`"]
|
|
#[derive(Clone, Copy, Debug, PartialEq)]
|
|
pub enum SOER {
|
|
#[doc = "No source offset configuration error"]
|
|
_0,
|
|
#[doc = "The last recorded error was a configuration error detected in the TCDn_SOFF field. TCDn_SOFF is inconsistent with TCDn_ATTR[SSIZE]."]
|
|
_1,
|
|
}
|
|
impl SOER {
|
|
#[doc = r" Returns `true` if the bit is clear (0)"]
|
|
#[inline]
|
|
pub fn bit_is_clear(&self) -> bool {
|
|
!self.bit()
|
|
}
|
|
#[doc = r" Returns `true` if the bit is set (1)"]
|
|
#[inline]
|
|
pub fn bit_is_set(&self) -> bool {
|
|
self.bit()
|
|
}
|
|
#[doc = r" Value of the field as raw bits"]
|
|
#[inline]
|
|
pub fn bit(&self) -> bool {
|
|
match *self {
|
|
SOER::_0 => false,
|
|
SOER::_1 => true,
|
|
}
|
|
}
|
|
#[allow(missing_docs)]
|
|
#[doc(hidden)]
|
|
#[inline]
|
|
pub fn _from(value: bool) -> SOER {
|
|
match value {
|
|
false => SOER::_0,
|
|
true => SOER::_1,
|
|
}
|
|
}
|
|
#[doc = "Checks if the value of the field is `_0`"]
|
|
#[inline]
|
|
pub fn is_0(&self) -> bool {
|
|
*self == SOER::_0
|
|
}
|
|
#[doc = "Checks if the value of the field is `_1`"]
|
|
#[inline]
|
|
pub fn is_1(&self) -> bool {
|
|
*self == SOER::_1
|
|
}
|
|
}
|
|
#[doc = "Possible values of the field `SAE`"]
|
|
#[derive(Clone, Copy, Debug, PartialEq)]
|
|
pub enum SAER {
|
|
#[doc = "No source address configuration error."]
|
|
_0,
|
|
#[doc = "The last recorded error was a configuration error detected in the TCDn_SADDR field. TCDn_SADDR is inconsistent with TCDn_ATTR[SSIZE]."]
|
|
_1,
|
|
}
|
|
impl SAER {
|
|
#[doc = r" Returns `true` if the bit is clear (0)"]
|
|
#[inline]
|
|
pub fn bit_is_clear(&self) -> bool {
|
|
!self.bit()
|
|
}
|
|
#[doc = r" Returns `true` if the bit is set (1)"]
|
|
#[inline]
|
|
pub fn bit_is_set(&self) -> bool {
|
|
self.bit()
|
|
}
|
|
#[doc = r" Value of the field as raw bits"]
|
|
#[inline]
|
|
pub fn bit(&self) -> bool {
|
|
match *self {
|
|
SAER::_0 => false,
|
|
SAER::_1 => true,
|
|
}
|
|
}
|
|
#[allow(missing_docs)]
|
|
#[doc(hidden)]
|
|
#[inline]
|
|
pub fn _from(value: bool) -> SAER {
|
|
match value {
|
|
false => SAER::_0,
|
|
true => SAER::_1,
|
|
}
|
|
}
|
|
#[doc = "Checks if the value of the field is `_0`"]
|
|
#[inline]
|
|
pub fn is_0(&self) -> bool {
|
|
*self == SAER::_0
|
|
}
|
|
#[doc = "Checks if the value of the field is `_1`"]
|
|
#[inline]
|
|
pub fn is_1(&self) -> bool {
|
|
*self == SAER::_1
|
|
}
|
|
}
|
|
#[doc = r" Value of the field"]
|
|
pub struct ERRCHNR {
|
|
bits: u8,
|
|
}
|
|
impl ERRCHNR {
|
|
#[doc = r" Value of the field as raw bits"]
|
|
#[inline]
|
|
pub fn bits(&self) -> u8 {
|
|
self.bits
|
|
}
|
|
}
|
|
#[doc = "Possible values of the field `CPE`"]
|
|
#[derive(Clone, Copy, Debug, PartialEq)]
|
|
pub enum CPER {
|
|
#[doc = "No channel priority error"]
|
|
_0,
|
|
#[doc = r" Reserved"]
|
|
_Reserved(bool),
|
|
}
|
|
impl CPER {
|
|
#[doc = r" Returns `true` if the bit is clear (0)"]
|
|
#[inline]
|
|
pub fn bit_is_clear(&self) -> bool {
|
|
!self.bit()
|
|
}
|
|
#[doc = r" Returns `true` if the bit is set (1)"]
|
|
#[inline]
|
|
pub fn bit_is_set(&self) -> bool {
|
|
self.bit()
|
|
}
|
|
#[doc = r" Value of the field as raw bits"]
|
|
#[inline]
|
|
pub fn bit(&self) -> bool {
|
|
match *self {
|
|
CPER::_0 => false,
|
|
CPER::_Reserved(bits) => bits,
|
|
}
|
|
}
|
|
#[allow(missing_docs)]
|
|
#[doc(hidden)]
|
|
#[inline]
|
|
pub fn _from(value: bool) -> CPER {
|
|
match value {
|
|
false => CPER::_0,
|
|
i => CPER::_Reserved(i),
|
|
}
|
|
}
|
|
#[doc = "Checks if the value of the field is `_0`"]
|
|
#[inline]
|
|
pub fn is_0(&self) -> bool {
|
|
*self == CPER::_0
|
|
}
|
|
}
|
|
#[doc = "Possible values of the field `ECX`"]
|
|
#[derive(Clone, Copy, Debug, PartialEq)]
|
|
pub enum ECXR {
|
|
#[doc = "No canceled transfers"]
|
|
_0,
|
|
#[doc = "The last recorded entry was a canceled transfer by the error cancel transfer input"]
|
|
_1,
|
|
}
|
|
impl ECXR {
|
|
#[doc = r" Returns `true` if the bit is clear (0)"]
|
|
#[inline]
|
|
pub fn bit_is_clear(&self) -> bool {
|
|
!self.bit()
|
|
}
|
|
#[doc = r" Returns `true` if the bit is set (1)"]
|
|
#[inline]
|
|
pub fn bit_is_set(&self) -> bool {
|
|
self.bit()
|
|
}
|
|
#[doc = r" Value of the field as raw bits"]
|
|
#[inline]
|
|
pub fn bit(&self) -> bool {
|
|
match *self {
|
|
ECXR::_0 => false,
|
|
ECXR::_1 => true,
|
|
}
|
|
}
|
|
#[allow(missing_docs)]
|
|
#[doc(hidden)]
|
|
#[inline]
|
|
pub fn _from(value: bool) -> ECXR {
|
|
match value {
|
|
false => ECXR::_0,
|
|
true => ECXR::_1,
|
|
}
|
|
}
|
|
#[doc = "Checks if the value of the field is `_0`"]
|
|
#[inline]
|
|
pub fn is_0(&self) -> bool {
|
|
*self == ECXR::_0
|
|
}
|
|
#[doc = "Checks if the value of the field is `_1`"]
|
|
#[inline]
|
|
pub fn is_1(&self) -> bool {
|
|
*self == ECXR::_1
|
|
}
|
|
}
|
|
#[doc = "Possible values of the field `VLD`"]
|
|
#[derive(Clone, Copy, Debug, PartialEq)]
|
|
pub enum VLDR {
|
|
#[doc = "No ERR bits are set."]
|
|
_0,
|
|
#[doc = "At least one ERR bit is set indicating a valid error exists that has not been cleared."]
|
|
_1,
|
|
}
|
|
impl VLDR {
|
|
#[doc = r" Returns `true` if the bit is clear (0)"]
|
|
#[inline]
|
|
pub fn bit_is_clear(&self) -> bool {
|
|
!self.bit()
|
|
}
|
|
#[doc = r" Returns `true` if the bit is set (1)"]
|
|
#[inline]
|
|
pub fn bit_is_set(&self) -> bool {
|
|
self.bit()
|
|
}
|
|
#[doc = r" Value of the field as raw bits"]
|
|
#[inline]
|
|
pub fn bit(&self) -> bool {
|
|
match *self {
|
|
VLDR::_0 => false,
|
|
VLDR::_1 => true,
|
|
}
|
|
}
|
|
#[allow(missing_docs)]
|
|
#[doc(hidden)]
|
|
#[inline]
|
|
pub fn _from(value: bool) -> VLDR {
|
|
match value {
|
|
false => VLDR::_0,
|
|
true => VLDR::_1,
|
|
}
|
|
}
|
|
#[doc = "Checks if the value of the field is `_0`"]
|
|
#[inline]
|
|
pub fn is_0(&self) -> bool {
|
|
*self == VLDR::_0
|
|
}
|
|
#[doc = "Checks if the value of the field is `_1`"]
|
|
#[inline]
|
|
pub fn is_1(&self) -> bool {
|
|
*self == VLDR::_1
|
|
}
|
|
}
|
|
impl R {
|
|
#[doc = r" Value of the register as raw bits"]
|
|
#[inline]
|
|
pub fn bits(&self) -> u32 {
|
|
self.bits
|
|
}
|
|
#[doc = "Bit 0 - Destination Bus Error"]
|
|
#[inline]
|
|
pub fn dbe(&self) -> DBER {
|
|
DBER::_from({
|
|
const MASK: bool = true;
|
|
const OFFSET: u8 = 0;
|
|
((self.bits >> OFFSET) & MASK as u32) != 0
|
|
})
|
|
}
|
|
#[doc = "Bit 1 - Source Bus Error"]
|
|
#[inline]
|
|
pub fn sbe(&self) -> SBER {
|
|
SBER::_from({
|
|
const MASK: bool = true;
|
|
const OFFSET: u8 = 1;
|
|
((self.bits >> OFFSET) & MASK as u32) != 0
|
|
})
|
|
}
|
|
#[doc = "Bit 2 - Scatter/Gather Configuration Error"]
|
|
#[inline]
|
|
pub fn sge(&self) -> SGER {
|
|
SGER::_from({
|
|
const MASK: bool = true;
|
|
const OFFSET: u8 = 2;
|
|
((self.bits >> OFFSET) & MASK as u32) != 0
|
|
})
|
|
}
|
|
#[doc = "Bit 3 - NBYTES/CITER Configuration Error"]
|
|
#[inline]
|
|
pub fn nce(&self) -> NCER {
|
|
NCER::_from({
|
|
const MASK: bool = true;
|
|
const OFFSET: u8 = 3;
|
|
((self.bits >> OFFSET) & MASK as u32) != 0
|
|
})
|
|
}
|
|
#[doc = "Bit 4 - Destination Offset Error"]
|
|
#[inline]
|
|
pub fn doe(&self) -> DOER {
|
|
DOER::_from({
|
|
const MASK: bool = true;
|
|
const OFFSET: u8 = 4;
|
|
((self.bits >> OFFSET) & MASK as u32) != 0
|
|
})
|
|
}
|
|
#[doc = "Bit 5 - Destination Address Error"]
|
|
#[inline]
|
|
pub fn dae(&self) -> DAER {
|
|
DAER::_from({
|
|
const MASK: bool = true;
|
|
const OFFSET: u8 = 5;
|
|
((self.bits >> OFFSET) & MASK as u32) != 0
|
|
})
|
|
}
|
|
#[doc = "Bit 6 - Source Offset Error"]
|
|
#[inline]
|
|
pub fn soe(&self) -> SOER {
|
|
SOER::_from({
|
|
const MASK: bool = true;
|
|
const OFFSET: u8 = 6;
|
|
((self.bits >> OFFSET) & MASK as u32) != 0
|
|
})
|
|
}
|
|
#[doc = "Bit 7 - Source Address Error"]
|
|
#[inline]
|
|
pub fn sae(&self) -> SAER {
|
|
SAER::_from({
|
|
const MASK: bool = true;
|
|
const OFFSET: u8 = 7;
|
|
((self.bits >> OFFSET) & MASK as u32) != 0
|
|
})
|
|
}
|
|
#[doc = "Bits 8:11 - Error Channel Number or Canceled Channel Number"]
|
|
#[inline]
|
|
pub fn errchn(&self) -> ERRCHNR {
|
|
let bits = {
|
|
const MASK: u8 = 15;
|
|
const OFFSET: u8 = 8;
|
|
((self.bits >> OFFSET) & MASK as u32) as u8
|
|
};
|
|
ERRCHNR { bits }
|
|
}
|
|
#[doc = "Bit 14 - Channel Priority Error"]
|
|
#[inline]
|
|
pub fn cpe(&self) -> CPER {
|
|
CPER::_from({
|
|
const MASK: bool = true;
|
|
const OFFSET: u8 = 14;
|
|
((self.bits >> OFFSET) & MASK as u32) != 0
|
|
})
|
|
}
|
|
#[doc = "Bit 16 - Transfer Canceled"]
|
|
#[inline]
|
|
pub fn ecx(&self) -> ECXR {
|
|
ECXR::_from({
|
|
const MASK: bool = true;
|
|
const OFFSET: u8 = 16;
|
|
((self.bits >> OFFSET) & MASK as u32) != 0
|
|
})
|
|
}
|
|
#[doc = "Bit 31 - VLD"]
|
|
#[inline]
|
|
pub fn vld(&self) -> VLDR {
|
|
VLDR::_from({
|
|
const MASK: bool = true;
|
|
const OFFSET: u8 = 31;
|
|
((self.bits >> OFFSET) & MASK as u32) != 0
|
|
})
|
|
}
|
|
}
|