1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#[doc = "Register `INFIFO_STATUS` reader"]
pub type R = crate::R<INFIFO_STATUS_SPEC>;
#[doc = "Field `INFIFO_FULL_L1` reader - L1 Rx FIFO full signal for Rx channel 0."]
pub type INFIFO_FULL_L1_R = crate::BitReader;
#[doc = "Field `INFIFO_EMPTY_L1` reader - L1 Rx FIFO empty signal for Rx channel 0."]
pub type INFIFO_EMPTY_L1_R = crate::BitReader;
#[doc = "Field `INFIFO_FULL_L2` reader - L2 Rx FIFO full signal for Rx channel 0."]
pub type INFIFO_FULL_L2_R = crate::BitReader;
#[doc = "Field `INFIFO_EMPTY_L2` reader - L2 Rx FIFO empty signal for Rx channel 0."]
pub type INFIFO_EMPTY_L2_R = crate::BitReader;
#[doc = "Field `INFIFO_FULL_L3` reader - L3 Rx FIFO full signal for Rx channel 0."]
pub type INFIFO_FULL_L3_R = crate::BitReader;
#[doc = "Field `INFIFO_EMPTY_L3` reader - L3 Rx FIFO empty signal for Rx channel 0."]
pub type INFIFO_EMPTY_L3_R = crate::BitReader;
#[doc = "Field `INFIFO_CNT_L1` reader - The register stores the byte number of the data in L1 Rx FIFO for Rx channel 0."]
pub type INFIFO_CNT_L1_R = crate::FieldReader;
#[doc = "Field `INFIFO_CNT_L2` reader - The register stores the byte number of the data in L2 Rx FIFO for Rx channel 0."]
pub type INFIFO_CNT_L2_R = crate::FieldReader;
#[doc = "Field `INFIFO_CNT_L3` reader - The register stores the byte number of the data in L3 Rx FIFO for Rx channel 0."]
pub type INFIFO_CNT_L3_R = crate::FieldReader;
#[doc = "Field `IN_REMAIN_UNDER_1B_L3` reader - reserved"]
pub type IN_REMAIN_UNDER_1B_L3_R = crate::BitReader;
#[doc = "Field `IN_REMAIN_UNDER_2B_L3` reader - reserved"]
pub type IN_REMAIN_UNDER_2B_L3_R = crate::BitReader;
#[doc = "Field `IN_REMAIN_UNDER_3B_L3` reader - reserved"]
pub type IN_REMAIN_UNDER_3B_L3_R = crate::BitReader;
#[doc = "Field `IN_REMAIN_UNDER_4B_L3` reader - reserved"]
pub type IN_REMAIN_UNDER_4B_L3_R = crate::BitReader;
#[doc = "Field `IN_BUF_HUNGRY` reader - reserved"]
pub type IN_BUF_HUNGRY_R = crate::BitReader;
impl R {
    #[doc = "Bit 0 - L1 Rx FIFO full signal for Rx channel 0."]
    #[inline(always)]
    pub fn infifo_full_l1(&self) -> INFIFO_FULL_L1_R {
        INFIFO_FULL_L1_R::new((self.bits & 1) != 0)
    }
    #[doc = "Bit 1 - L1 Rx FIFO empty signal for Rx channel 0."]
    #[inline(always)]
    pub fn infifo_empty_l1(&self) -> INFIFO_EMPTY_L1_R {
        INFIFO_EMPTY_L1_R::new(((self.bits >> 1) & 1) != 0)
    }
    #[doc = "Bit 2 - L2 Rx FIFO full signal for Rx channel 0."]
    #[inline(always)]
    pub fn infifo_full_l2(&self) -> INFIFO_FULL_L2_R {
        INFIFO_FULL_L2_R::new(((self.bits >> 2) & 1) != 0)
    }
    #[doc = "Bit 3 - L2 Rx FIFO empty signal for Rx channel 0."]
    #[inline(always)]
    pub fn infifo_empty_l2(&self) -> INFIFO_EMPTY_L2_R {
        INFIFO_EMPTY_L2_R::new(((self.bits >> 3) & 1) != 0)
    }
    #[doc = "Bit 4 - L3 Rx FIFO full signal for Rx channel 0."]
    #[inline(always)]
    pub fn infifo_full_l3(&self) -> INFIFO_FULL_L3_R {
        INFIFO_FULL_L3_R::new(((self.bits >> 4) & 1) != 0)
    }
    #[doc = "Bit 5 - L3 Rx FIFO empty signal for Rx channel 0."]
    #[inline(always)]
    pub fn infifo_empty_l3(&self) -> INFIFO_EMPTY_L3_R {
        INFIFO_EMPTY_L3_R::new(((self.bits >> 5) & 1) != 0)
    }
    #[doc = "Bits 6:11 - The register stores the byte number of the data in L1 Rx FIFO for Rx channel 0."]
    #[inline(always)]
    pub fn infifo_cnt_l1(&self) -> INFIFO_CNT_L1_R {
        INFIFO_CNT_L1_R::new(((self.bits >> 6) & 0x3f) as u8)
    }
    #[doc = "Bits 12:18 - The register stores the byte number of the data in L2 Rx FIFO for Rx channel 0."]
    #[inline(always)]
    pub fn infifo_cnt_l2(&self) -> INFIFO_CNT_L2_R {
        INFIFO_CNT_L2_R::new(((self.bits >> 12) & 0x7f) as u8)
    }
    #[doc = "Bits 19:23 - The register stores the byte number of the data in L3 Rx FIFO for Rx channel 0."]
    #[inline(always)]
    pub fn infifo_cnt_l3(&self) -> INFIFO_CNT_L3_R {
        INFIFO_CNT_L3_R::new(((self.bits >> 19) & 0x1f) as u8)
    }
    #[doc = "Bit 24 - reserved"]
    #[inline(always)]
    pub fn in_remain_under_1b_l3(&self) -> IN_REMAIN_UNDER_1B_L3_R {
        IN_REMAIN_UNDER_1B_L3_R::new(((self.bits >> 24) & 1) != 0)
    }
    #[doc = "Bit 25 - reserved"]
    #[inline(always)]
    pub fn in_remain_under_2b_l3(&self) -> IN_REMAIN_UNDER_2B_L3_R {
        IN_REMAIN_UNDER_2B_L3_R::new(((self.bits >> 25) & 1) != 0)
    }
    #[doc = "Bit 26 - reserved"]
    #[inline(always)]
    pub fn in_remain_under_3b_l3(&self) -> IN_REMAIN_UNDER_3B_L3_R {
        IN_REMAIN_UNDER_3B_L3_R::new(((self.bits >> 26) & 1) != 0)
    }
    #[doc = "Bit 27 - reserved"]
    #[inline(always)]
    pub fn in_remain_under_4b_l3(&self) -> IN_REMAIN_UNDER_4B_L3_R {
        IN_REMAIN_UNDER_4B_L3_R::new(((self.bits >> 27) & 1) != 0)
    }
    #[doc = "Bit 28 - reserved"]
    #[inline(always)]
    pub fn in_buf_hungry(&self) -> IN_BUF_HUNGRY_R {
        IN_BUF_HUNGRY_R::new(((self.bits >> 28) & 1) != 0)
    }
}
#[cfg(feature = "impl-register-debug")]
impl core::fmt::Debug for R {
    fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
        f.debug_struct("INFIFO_STATUS")
            .field("infifo_full_l1", &self.infifo_full_l1())
            .field("infifo_empty_l1", &self.infifo_empty_l1())
            .field("infifo_full_l2", &self.infifo_full_l2())
            .field("infifo_empty_l2", &self.infifo_empty_l2())
            .field("infifo_full_l3", &self.infifo_full_l3())
            .field("infifo_empty_l3", &self.infifo_empty_l3())
            .field("infifo_cnt_l1", &self.infifo_cnt_l1())
            .field("infifo_cnt_l2", &self.infifo_cnt_l2())
            .field("infifo_cnt_l3", &self.infifo_cnt_l3())
            .field("in_remain_under_1b_l3", &self.in_remain_under_1b_l3())
            .field("in_remain_under_2b_l3", &self.in_remain_under_2b_l3())
            .field("in_remain_under_3b_l3", &self.in_remain_under_3b_l3())
            .field("in_remain_under_4b_l3", &self.in_remain_under_4b_l3())
            .field("in_buf_hungry", &self.in_buf_hungry())
            .finish()
    }
}
#[doc = "Receive FIFO status of Rx channel 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`infifo_status::R`](R).  See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
pub struct INFIFO_STATUS_SPEC;
impl crate::RegisterSpec for INFIFO_STATUS_SPEC {
    type Ux = u32;
}
#[doc = "`read()` method returns [`infifo_status::R`](R) reader structure"]
impl crate::Readable for INFIFO_STATUS_SPEC {}
#[doc = "`reset()` method sets INFIFO_STATUS to value 0x0f00_003a"]
impl crate::Resettable for INFIFO_STATUS_SPEC {
    const RESET_VALUE: u32 = 0x0f00_003a;
}