1#[doc = r"Register block"]
2#[repr(C)]
3pub struct CH {
4 #[doc = "0x00 - Channel control"]
5 pub ctl: CTL,
6 _reserved1: [u8; 0x0c],
7 #[doc = "0x10 - Channel current indices"]
8 pub idx: IDX,
9 #[doc = "0x14 - Channel current source address"]
10 pub src: SRC,
11 #[doc = "0x18 - Channel current destination address"]
12 pub dst: DST,
13 _reserved4: [u8; 0x04],
14 #[doc = "0x20 - Channel current descriptor pointer"]
15 pub curr: CURR,
16 _reserved5: [u8; 0x04],
17 #[doc = "0x28 - Channle software trigger"]
18 pub tr_cmd: TR_CMD,
19 _reserved6: [u8; 0x14],
20 #[doc = "0x40 - Channel descriptor status"]
21 pub descr_status: DESCR_STATUS,
22 _reserved7: [u8; 0x1c],
23 #[doc = "0x60 - Channel descriptor control"]
24 pub descr_ctl: DESCR_CTL,
25 #[doc = "0x64 - Channel descriptor source"]
26 pub descr_src: DESCR_SRC,
27 #[doc = "0x68 - Channel descriptor destination"]
28 pub descr_dst: DESCR_DST,
29 #[doc = "0x6c - Channel descriptor X size"]
30 pub descr_x_size: DESCR_X_SIZE,
31 #[doc = "0x70 - Channel descriptor X increment"]
32 pub descr_x_incr: DESCR_X_INCR,
33 #[doc = "0x74 - Channel descriptor Y size"]
34 pub descr_y_size: DESCR_Y_SIZE,
35 #[doc = "0x78 - Channel descriptor Y increment"]
36 pub descr_y_incr: DESCR_Y_INCR,
37 #[doc = "0x7c - Channel descriptor next pointer"]
38 pub descr_next: DESCR_NEXT,
39 #[doc = "0x80 - Interrupt"]
40 pub intr: INTR,
41 #[doc = "0x84 - Interrupt set"]
42 pub intr_set: INTR_SET,
43 #[doc = "0x88 - Interrupt mask"]
44 pub intr_mask: INTR_MASK,
45 #[doc = "0x8c - Interrupt masked"]
46 pub intr_masked: INTR_MASKED,
47}
48#[doc = "CTL (rw) register accessor: an alias for `Reg<CTL_SPEC>`"]
49pub type CTL = crate::Reg<ctl::CTL_SPEC>;
50#[doc = "Channel control"]
51pub mod ctl;
52#[doc = "IDX (r) register accessor: an alias for `Reg<IDX_SPEC>`"]
53pub type IDX = crate::Reg<idx::IDX_SPEC>;
54#[doc = "Channel current indices"]
55pub mod idx;
56#[doc = "SRC (r) register accessor: an alias for `Reg<SRC_SPEC>`"]
57pub type SRC = crate::Reg<src::SRC_SPEC>;
58#[doc = "Channel current source address"]
59pub mod src;
60#[doc = "DST (r) register accessor: an alias for `Reg<DST_SPEC>`"]
61pub type DST = crate::Reg<dst::DST_SPEC>;
62#[doc = "Channel current destination address"]
63pub mod dst;
64#[doc = "CURR (rw) register accessor: an alias for `Reg<CURR_SPEC>`"]
65pub type CURR = crate::Reg<curr::CURR_SPEC>;
66#[doc = "Channel current descriptor pointer"]
67pub mod curr;
68#[doc = "TR_CMD (rw) register accessor: an alias for `Reg<TR_CMD_SPEC>`"]
69pub type TR_CMD = crate::Reg<tr_cmd::TR_CMD_SPEC>;
70#[doc = "Channle software trigger"]
71pub mod tr_cmd;
72#[doc = "DESCR_STATUS (r) register accessor: an alias for `Reg<DESCR_STATUS_SPEC>`"]
73pub type DESCR_STATUS = crate::Reg<descr_status::DESCR_STATUS_SPEC>;
74#[doc = "Channel descriptor status"]
75pub mod descr_status;
76#[doc = "DESCR_CTL (r) register accessor: an alias for `Reg<DESCR_CTL_SPEC>`"]
77pub type DESCR_CTL = crate::Reg<descr_ctl::DESCR_CTL_SPEC>;
78#[doc = "Channel descriptor control"]
79pub mod descr_ctl;
80#[doc = "DESCR_SRC (r) register accessor: an alias for `Reg<DESCR_SRC_SPEC>`"]
81pub type DESCR_SRC = crate::Reg<descr_src::DESCR_SRC_SPEC>;
82#[doc = "Channel descriptor source"]
83pub mod descr_src;
84#[doc = "DESCR_DST (r) register accessor: an alias for `Reg<DESCR_DST_SPEC>`"]
85pub type DESCR_DST = crate::Reg<descr_dst::DESCR_DST_SPEC>;
86#[doc = "Channel descriptor destination"]
87pub mod descr_dst;
88#[doc = "DESCR_X_SIZE (r) register accessor: an alias for `Reg<DESCR_X_SIZE_SPEC>`"]
89pub type DESCR_X_SIZE = crate::Reg<descr_x_size::DESCR_X_SIZE_SPEC>;
90#[doc = "Channel descriptor X size"]
91pub mod descr_x_size;
92#[doc = "DESCR_X_INCR (r) register accessor: an alias for `Reg<DESCR_X_INCR_SPEC>`"]
93pub type DESCR_X_INCR = crate::Reg<descr_x_incr::DESCR_X_INCR_SPEC>;
94#[doc = "Channel descriptor X increment"]
95pub mod descr_x_incr;
96#[doc = "DESCR_Y_SIZE (r) register accessor: an alias for `Reg<DESCR_Y_SIZE_SPEC>`"]
97pub type DESCR_Y_SIZE = crate::Reg<descr_y_size::DESCR_Y_SIZE_SPEC>;
98#[doc = "Channel descriptor Y size"]
99pub mod descr_y_size;
100#[doc = "DESCR_Y_INCR (r) register accessor: an alias for `Reg<DESCR_Y_INCR_SPEC>`"]
101pub type DESCR_Y_INCR = crate::Reg<descr_y_incr::DESCR_Y_INCR_SPEC>;
102#[doc = "Channel descriptor Y increment"]
103pub mod descr_y_incr;
104#[doc = "DESCR_NEXT (r) register accessor: an alias for `Reg<DESCR_NEXT_SPEC>`"]
105pub type DESCR_NEXT = crate::Reg<descr_next::DESCR_NEXT_SPEC>;
106#[doc = "Channel descriptor next pointer"]
107pub mod descr_next;
108#[doc = "INTR (rw) register accessor: an alias for `Reg<INTR_SPEC>`"]
109pub type INTR = crate::Reg<intr::INTR_SPEC>;
110#[doc = "Interrupt"]
111pub mod intr;
112#[doc = "INTR_SET (rw) register accessor: an alias for `Reg<INTR_SET_SPEC>`"]
113pub type INTR_SET = crate::Reg<intr_set::INTR_SET_SPEC>;
114#[doc = "Interrupt set"]
115pub mod intr_set;
116#[doc = "INTR_MASK (rw) register accessor: an alias for `Reg<INTR_MASK_SPEC>`"]
117pub type INTR_MASK = crate::Reg<intr_mask::INTR_MASK_SPEC>;
118#[doc = "Interrupt mask"]
119pub mod intr_mask;
120#[doc = "INTR_MASKED (r) register accessor: an alias for `Reg<INTR_MASKED_SPEC>`"]
121pub type INTR_MASKED = crate::Reg<intr_masked::INTR_MASKED_SPEC>;
122#[doc = "Interrupt masked"]
123pub mod intr_masked;