1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - CFG register"]
5 pub cfg: CFG,
6 #[doc = "0x04 - CR register"]
7 pub cr: CR,
8 #[doc = "0x08 - IR register"]
9 pub ir: IR,
10 #[doc = "0x0c - SR register"]
11 pub sr: SR,
12 #[doc = "0x10 - IMGSIZ register"]
13 pub imgsiz: IMGSIZ,
14 #[doc = "0x14 - IMGSTR register"]
15 pub imgstr: IMGSTR,
16 #[doc = "0x18 - CSBASE register"]
17 pub csbase: CSBASE,
18 _reserved_7_ybase: [u8; 0x04],
19 #[doc = "0x20 - UBASE register"]
20 pub ubase: UBASE,
21 #[doc = "0x24 - VBASE register"]
22 pub vbase: VBASE,
23 #[doc = "0x28 - QTBASE register"]
24 pub qtbase: QTBASE,
25 #[doc = "0x2c - HTBASE register"]
26 pub htbase: HTBASE,
27 #[doc = "0x30 - CODLEN register"]
28 pub codlen: CODLEN,
29 _reserved13: [u8; 0xcc],
30 #[doc = "0x100..0x140 - QTABLE0_ register"]
31 pub qtable0_: [QTABLE0_; 16],
32 #[doc = "0x140..0x180 - QTABLE1_ register"]
33 pub qtable1_: [QTABLE1_; 16],
34 #[doc = "0x180..0x1c0 - QTABLE2_ register"]
35 pub qtable2_: [QTABLE2_; 16],
36 _reserved16: [u8; 0x40],
37 #[doc = "0x200..0x2fc - register cluster"]
38 pub htable0: HTABLE0,
39 _reserved17: [u8; 0x04],
40 #[doc = "0x300..0x3fc - register cluster"]
41 pub htable1: HTABLE1,
42}
43impl RegisterBlock {
44 #[doc = "0x1c - RGBASE register"]
45 #[inline(always)]
46 pub fn rgbase(&self) -> &RGBASE {
47 unsafe { &*(((self as *const Self) as *const u8).add(28usize) as *const RGBASE) }
48 }
49 #[doc = "0x1c - YBASE register"]
50 #[inline(always)]
51 pub fn ybase(&self) -> &YBASE {
52 unsafe { &*(((self as *const Self) as *const u8).add(28usize) as *const YBASE) }
53 }
54}
55#[doc = "CFG (rw) register accessor: an alias for `Reg<CFG_SPEC>`"]
56pub type CFG = crate::Reg<cfg::CFG_SPEC>;
57#[doc = "CFG register"]
58pub mod cfg;
59#[doc = "CR (rw) register accessor: an alias for `Reg<CR_SPEC>`"]
60pub type CR = crate::Reg<cr::CR_SPEC>;
61#[doc = "CR register"]
62pub mod cr;
63#[doc = "IR (rw) register accessor: an alias for `Reg<IR_SPEC>`"]
64pub type IR = crate::Reg<ir::IR_SPEC>;
65#[doc = "IR register"]
66pub mod ir;
67#[doc = "SR (rw) register accessor: an alias for `Reg<SR_SPEC>`"]
68pub type SR = crate::Reg<sr::SR_SPEC>;
69#[doc = "SR register"]
70pub mod sr;
71#[doc = "IMGSIZ (rw) register accessor: an alias for `Reg<IMGSIZ_SPEC>`"]
72pub type IMGSIZ = crate::Reg<imgsiz::IMGSIZ_SPEC>;
73#[doc = "IMGSIZ register"]
74pub mod imgsiz;
75#[doc = "IMGSTR (rw) register accessor: an alias for `Reg<IMGSTR_SPEC>`"]
76pub type IMGSTR = crate::Reg<imgstr::IMGSTR_SPEC>;
77#[doc = "IMGSTR register"]
78pub mod imgstr;
79#[doc = "CSBASE (rw) register accessor: an alias for `Reg<CSBASE_SPEC>`"]
80pub type CSBASE = crate::Reg<csbase::CSBASE_SPEC>;
81#[doc = "CSBASE register"]
82pub mod csbase;
83#[doc = "YBASE (rw) register accessor: an alias for `Reg<YBASE_SPEC>`"]
84pub type YBASE = crate::Reg<ybase::YBASE_SPEC>;
85#[doc = "YBASE register"]
86pub mod ybase;
87#[doc = "RGBASE (rw) register accessor: an alias for `Reg<RGBASE_SPEC>`"]
88pub type RGBASE = crate::Reg<rgbase::RGBASE_SPEC>;
89#[doc = "RGBASE register"]
90pub mod rgbase;
91#[doc = "UBASE (rw) register accessor: an alias for `Reg<UBASE_SPEC>`"]
92pub type UBASE = crate::Reg<ubase::UBASE_SPEC>;
93#[doc = "UBASE register"]
94pub mod ubase;
95#[doc = "VBASE (rw) register accessor: an alias for `Reg<VBASE_SPEC>`"]
96pub type VBASE = crate::Reg<vbase::VBASE_SPEC>;
97#[doc = "VBASE register"]
98pub mod vbase;
99#[doc = "QTBASE (rw) register accessor: an alias for `Reg<QTBASE_SPEC>`"]
100pub type QTBASE = crate::Reg<qtbase::QTBASE_SPEC>;
101#[doc = "QTBASE register"]
102pub mod qtbase;
103#[doc = "HTBASE (rw) register accessor: an alias for `Reg<HTBASE_SPEC>`"]
104pub type HTBASE = crate::Reg<htbase::HTBASE_SPEC>;
105#[doc = "HTBASE register"]
106pub mod htbase;
107#[doc = "CODLEN (rw) register accessor: an alias for `Reg<CODLEN_SPEC>`"]
108pub type CODLEN = crate::Reg<codlen::CODLEN_SPEC>;
109#[doc = "CODLEN register"]
110pub mod codlen;
111#[doc = "QTABLE0_ (w) register accessor: an alias for `Reg<QTABLE0__SPEC>`"]
112pub type QTABLE0_ = crate::Reg<qtable0_::QTABLE0__SPEC>;
113#[doc = "QTABLE0_ register"]
114pub mod qtable0_;
115#[doc = "QTABLE1_ (w) register accessor: an alias for `Reg<QTABLE1__SPEC>`"]
116pub type QTABLE1_ = crate::Reg<qtable1_::QTABLE1__SPEC>;
117#[doc = "QTABLE1_ register"]
118pub mod qtable1_;
119#[doc = "QTABLE2_ (w) register accessor: an alias for `Reg<QTABLE2__SPEC>`"]
120pub type QTABLE2_ = crate::Reg<qtable2_::QTABLE2__SPEC>;
121#[doc = "QTABLE2_ register"]
122pub mod qtable2_;
123#[doc = "register cluster"]
124pub use htable0::HTABLE0;
125#[doc = r"Cluster"]
126#[doc = "register cluster"]
127pub mod htable0;
128#[doc = "register cluster"]
129pub use htable1::HTABLE1;
130#[doc = r"Cluster"]
131#[doc = "register cluster"]
132pub mod htable1;