corstone300_pac/ssp0/
itop.rs

1// Copyright 2022 Arm Limited and/or its affiliates <open-source-office@arm.com>
2//
3// SPDX-License-Identifier: MIT
4
5#[doc = "Register `ITOP` reader"]
6pub struct R(crate::R<ITOP_SPEC>);
7impl core::ops::Deref for R {
8    type Target = crate::R<ITOP_SPEC>;
9    #[inline(always)]
10    fn deref(&self) -> &Self::Target {
11        &self.0
12    }
13}
14impl From<crate::R<ITOP_SPEC>> for R {
15    #[inline(always)]
16    fn from(reader: crate::R<ITOP_SPEC>) -> Self {
17        R(reader)
18    }
19}
20#[doc = "Register `ITOP` writer"]
21pub struct W(crate::W<ITOP_SPEC>);
22impl core::ops::Deref for W {
23    type Target = crate::W<ITOP_SPEC>;
24    #[inline(always)]
25    fn deref(&self) -> &Self::Target {
26        &self.0
27    }
28}
29impl core::ops::DerefMut for W {
30    #[inline(always)]
31    fn deref_mut(&mut self) -> &mut Self::Target {
32        &mut self.0
33    }
34}
35impl From<crate::W<ITOP_SPEC>> for W {
36    #[inline(always)]
37    fn from(writer: crate::W<ITOP_SPEC>) -> Self {
38        W(writer)
39    }
40}
41#[doc = "Field `TXD` reader - Value on the TXD line"]
42pub type TXD_R = crate::BitReader<bool>;
43#[doc = "Field `TXD` writer - Value on the TXD line"]
44pub type TXD_W<'a, const O: u8> = crate::BitWriter<'a, u32, ITOP_SPEC, bool, O>;
45#[doc = "Field `FSSOUT` reader - Value on the FSSOUT line"]
46pub type FSSOUT_R = crate::BitReader<bool>;
47#[doc = "Field `FSSOUT` writer - Value on the FSSOUT line"]
48pub type FSSOUT_W<'a, const O: u8> = crate::BitWriter<'a, u32, ITOP_SPEC, bool, O>;
49#[doc = "Field `CLKOUT` reader - Value on the CLKOUT line"]
50pub type CLKOUT_R = crate::BitReader<bool>;
51#[doc = "Field `CLKOUT` writer - Value on the CLKOUT line"]
52pub type CLKOUT_W<'a, const O: u8> = crate::BitWriter<'a, u32, ITOP_SPEC, bool, O>;
53#[doc = "Field `CTLOE` reader - Value on the OE line"]
54pub type CTLOE_R = crate::BitReader<bool>;
55#[doc = "Field `CTLOE` writer - Value on the OE line"]
56pub type CTLOE_W<'a, const O: u8> = crate::BitWriter<'a, u32, ITOP_SPEC, bool, O>;
57#[doc = "Field `OE` reader - Value on the OE line"]
58pub type OE_R = crate::BitReader<bool>;
59#[doc = "Field `OE` writer - Value on the OE line"]
60pub type OE_W<'a, const O: u8> = crate::BitWriter<'a, u32, ITOP_SPEC, bool, O>;
61#[doc = "Field `RORINTR` reader - Value on the RORINTR line"]
62pub type RORINTR_R = crate::BitReader<bool>;
63#[doc = "Field `RORINTR` writer - Value on the RORINTR line"]
64pub type RORINTR_W<'a, const O: u8> = crate::BitWriter<'a, u32, ITOP_SPEC, bool, O>;
65#[doc = "Field `RTINTR` reader - Value on the RTINTR line"]
66pub type RTINTR_R = crate::BitReader<bool>;
67#[doc = "Field `RTINTR` writer - Value on the RTINTR line"]
68pub type RTINTR_W<'a, const O: u8> = crate::BitWriter<'a, u32, ITOP_SPEC, bool, O>;
69#[doc = "Field `RXINTR` reader - Value on the RXINTR line"]
70pub type RXINTR_R = crate::BitReader<bool>;
71#[doc = "Field `RXINTR` writer - Value on the RXINTR line"]
72pub type RXINTR_W<'a, const O: u8> = crate::BitWriter<'a, u32, ITOP_SPEC, bool, O>;
73#[doc = "Field `TXINTR` reader - Value on the TXINTR line"]
74pub type TXINTR_R = crate::BitReader<bool>;
75#[doc = "Field `TXINTR` writer - Value on the TXINTR line"]
76pub type TXINTR_W<'a, const O: u8> = crate::BitWriter<'a, u32, ITOP_SPEC, bool, O>;
77#[doc = "Field `INTR` reader - Value on the INTR line"]
78pub type INTR_R = crate::BitReader<bool>;
79#[doc = "Field `INTR` writer - Value on the INTR line"]
80pub type INTR_W<'a, const O: u8> = crate::BitWriter<'a, u32, ITOP_SPEC, bool, O>;
81#[doc = "Field `RXDMABREQ` reader - Value on the TXDMABREQ line"]
82pub type RXDMABREQ_R = crate::BitReader<bool>;
83#[doc = "Field `RXDMABREQ` writer - Value on the TXDMABREQ line"]
84pub type RXDMABREQ_W<'a, const O: u8> = crate::BitWriter<'a, u32, ITOP_SPEC, bool, O>;
85#[doc = "Field `RXDMASREQ` reader - Value on the TXDMASREQ line"]
86pub type RXDMASREQ_R = crate::BitReader<bool>;
87#[doc = "Field `RXDMASREQ` writer - Value on the TXDMASREQ line"]
88pub type RXDMASREQ_W<'a, const O: u8> = crate::BitWriter<'a, u32, ITOP_SPEC, bool, O>;
89#[doc = "Field `TXDMABREQ` reader - Value on the TXDMABREQ line"]
90pub type TXDMABREQ_R = crate::BitReader<bool>;
91#[doc = "Field `TXDMABREQ` writer - Value on the TXDMABREQ line"]
92pub type TXDMABREQ_W<'a, const O: u8> = crate::BitWriter<'a, u32, ITOP_SPEC, bool, O>;
93#[doc = "Field `TXDMASREQ` reader - Value on the TXDMASREQ line"]
94pub type TXDMASREQ_R = crate::BitReader<bool>;
95#[doc = "Field `TXDMASREQ` writer - Value on the TXDMASREQ line"]
96pub type TXDMASREQ_W<'a, const O: u8> = crate::BitWriter<'a, u32, ITOP_SPEC, bool, O>;
97impl R {
98    #[doc = "Bit 0 - Value on the TXD line"]
99    #[inline(always)]
100    pub fn txd(&self) -> TXD_R {
101        TXD_R::new((self.bits & 1) != 0)
102    }
103    #[doc = "Bit 1 - Value on the FSSOUT line"]
104    #[inline(always)]
105    pub fn fssout(&self) -> FSSOUT_R {
106        FSSOUT_R::new(((self.bits >> 1) & 1) != 0)
107    }
108    #[doc = "Bit 2 - Value on the CLKOUT line"]
109    #[inline(always)]
110    pub fn clkout(&self) -> CLKOUT_R {
111        CLKOUT_R::new(((self.bits >> 2) & 1) != 0)
112    }
113    #[doc = "Bit 3 - Value on the OE line"]
114    #[inline(always)]
115    pub fn ctloe(&self) -> CTLOE_R {
116        CTLOE_R::new(((self.bits >> 3) & 1) != 0)
117    }
118    #[doc = "Bit 4 - Value on the OE line"]
119    #[inline(always)]
120    pub fn oe(&self) -> OE_R {
121        OE_R::new(((self.bits >> 4) & 1) != 0)
122    }
123    #[doc = "Bit 5 - Value on the RORINTR line"]
124    #[inline(always)]
125    pub fn rorintr(&self) -> RORINTR_R {
126        RORINTR_R::new(((self.bits >> 5) & 1) != 0)
127    }
128    #[doc = "Bit 6 - Value on the RTINTR line"]
129    #[inline(always)]
130    pub fn rtintr(&self) -> RTINTR_R {
131        RTINTR_R::new(((self.bits >> 6) & 1) != 0)
132    }
133    #[doc = "Bit 7 - Value on the RXINTR line"]
134    #[inline(always)]
135    pub fn rxintr(&self) -> RXINTR_R {
136        RXINTR_R::new(((self.bits >> 7) & 1) != 0)
137    }
138    #[doc = "Bit 8 - Value on the TXINTR line"]
139    #[inline(always)]
140    pub fn txintr(&self) -> TXINTR_R {
141        TXINTR_R::new(((self.bits >> 8) & 1) != 0)
142    }
143    #[doc = "Bit 9 - Value on the INTR line"]
144    #[inline(always)]
145    pub fn intr(&self) -> INTR_R {
146        INTR_R::new(((self.bits >> 9) & 1) != 0)
147    }
148    #[doc = "Bit 10 - Value on the TXDMABREQ line"]
149    #[inline(always)]
150    pub fn rxdmabreq(&self) -> RXDMABREQ_R {
151        RXDMABREQ_R::new(((self.bits >> 10) & 1) != 0)
152    }
153    #[doc = "Bit 11 - Value on the TXDMASREQ line"]
154    #[inline(always)]
155    pub fn rxdmasreq(&self) -> RXDMASREQ_R {
156        RXDMASREQ_R::new(((self.bits >> 11) & 1) != 0)
157    }
158    #[doc = "Bit 12 - Value on the TXDMABREQ line"]
159    #[inline(always)]
160    pub fn txdmabreq(&self) -> TXDMABREQ_R {
161        TXDMABREQ_R::new(((self.bits >> 12) & 1) != 0)
162    }
163    #[doc = "Bit 13 - Value on the TXDMASREQ line"]
164    #[inline(always)]
165    pub fn txdmasreq(&self) -> TXDMASREQ_R {
166        TXDMASREQ_R::new(((self.bits >> 13) & 1) != 0)
167    }
168}
169impl W {
170    #[doc = "Bit 0 - Value on the TXD line"]
171    #[inline(always)]
172    pub fn txd(&mut self) -> TXD_W<0> {
173        TXD_W::new(self)
174    }
175    #[doc = "Bit 1 - Value on the FSSOUT line"]
176    #[inline(always)]
177    pub fn fssout(&mut self) -> FSSOUT_W<1> {
178        FSSOUT_W::new(self)
179    }
180    #[doc = "Bit 2 - Value on the CLKOUT line"]
181    #[inline(always)]
182    pub fn clkout(&mut self) -> CLKOUT_W<2> {
183        CLKOUT_W::new(self)
184    }
185    #[doc = "Bit 3 - Value on the OE line"]
186    #[inline(always)]
187    pub fn ctloe(&mut self) -> CTLOE_W<3> {
188        CTLOE_W::new(self)
189    }
190    #[doc = "Bit 4 - Value on the OE line"]
191    #[inline(always)]
192    pub fn oe(&mut self) -> OE_W<4> {
193        OE_W::new(self)
194    }
195    #[doc = "Bit 5 - Value on the RORINTR line"]
196    #[inline(always)]
197    pub fn rorintr(&mut self) -> RORINTR_W<5> {
198        RORINTR_W::new(self)
199    }
200    #[doc = "Bit 6 - Value on the RTINTR line"]
201    #[inline(always)]
202    pub fn rtintr(&mut self) -> RTINTR_W<6> {
203        RTINTR_W::new(self)
204    }
205    #[doc = "Bit 7 - Value on the RXINTR line"]
206    #[inline(always)]
207    pub fn rxintr(&mut self) -> RXINTR_W<7> {
208        RXINTR_W::new(self)
209    }
210    #[doc = "Bit 8 - Value on the TXINTR line"]
211    #[inline(always)]
212    pub fn txintr(&mut self) -> TXINTR_W<8> {
213        TXINTR_W::new(self)
214    }
215    #[doc = "Bit 9 - Value on the INTR line"]
216    #[inline(always)]
217    pub fn intr(&mut self) -> INTR_W<9> {
218        INTR_W::new(self)
219    }
220    #[doc = "Bit 10 - Value on the TXDMABREQ line"]
221    #[inline(always)]
222    pub fn rxdmabreq(&mut self) -> RXDMABREQ_W<10> {
223        RXDMABREQ_W::new(self)
224    }
225    #[doc = "Bit 11 - Value on the TXDMASREQ line"]
226    #[inline(always)]
227    pub fn rxdmasreq(&mut self) -> RXDMASREQ_W<11> {
228        RXDMASREQ_W::new(self)
229    }
230    #[doc = "Bit 12 - Value on the TXDMABREQ line"]
231    #[inline(always)]
232    pub fn txdmabreq(&mut self) -> TXDMABREQ_W<12> {
233        TXDMABREQ_W::new(self)
234    }
235    #[doc = "Bit 13 - Value on the TXDMASREQ line"]
236    #[inline(always)]
237    pub fn txdmasreq(&mut self) -> TXDMASREQ_W<13> {
238        TXDMASREQ_W::new(self)
239    }
240    #[doc = "Writes raw bits to the register."]
241    #[inline(always)]
242    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
243        self.0.bits(bits);
244        self
245    }
246}
247#[doc = "Integration test output register\n\nThis register you can [`read`](crate::generic::Reg::read), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [itop](index.html) module"]
248pub struct ITOP_SPEC;
249impl crate::RegisterSpec for ITOP_SPEC {
250    type Ux = u32;
251}
252#[doc = "`read()` method returns [itop::R](R) reader structure"]
253impl crate::Readable for ITOP_SPEC {
254    type Reader = R;
255}
256#[doc = "`write(|w| ..)` method takes [itop::W](W) writer structure"]
257impl crate::Writable for ITOP_SPEC {
258    type Writer = W;
259}
260#[doc = "`reset()` method sets ITOP to value 0"]
261impl crate::Resettable for ITOP_SPEC {
262    #[inline(always)]
263    fn reset_value() -> Self::Ux {
264        0
265    }
266}