esp32p4/
mipi_csi_bridge.rs1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5 clk_en: CLK_EN,
6 csi_en: CSI_EN,
7 dma_req_cfg: DMA_REQ_CFG,
8 buf_flow_ctl: BUF_FLOW_CTL,
9 data_type_cfg: DATA_TYPE_CFG,
10 frame_cfg: FRAME_CFG,
11 endian_mode: ENDIAN_MODE,
12 int_raw: INT_RAW,
13 int_clr: INT_CLR,
14 int_st: INT_ST,
15 int_ena: INT_ENA,
16 dma_req_interval: DMA_REQ_INTERVAL,
17 dmablk_size: DMABLK_SIZE,
18 rdn_eco_cs: RDN_ECO_CS,
19 rdn_eco_low: RDN_ECO_LOW,
20 rdn_eco_high: RDN_ECO_HIGH,
21 host_ctrl: HOST_CTRL,
22 mem_ctrl: MEM_CTRL,
23}
24impl RegisterBlock {
25 #[doc = "0x00 - csi bridge register mapping unit clock gating."]
26 #[inline(always)]
27 pub const fn clk_en(&self) -> &CLK_EN {
28 &self.clk_en
29 }
30 #[doc = "0x04 - csi bridge enable."]
31 #[inline(always)]
32 pub const fn csi_en(&self) -> &CSI_EN {
33 &self.csi_en
34 }
35 #[doc = "0x08 - dma request configuration."]
36 #[inline(always)]
37 pub const fn dma_req_cfg(&self) -> &DMA_REQ_CFG {
38 &self.dma_req_cfg
39 }
40 #[doc = "0x0c - csi bridge buffer control."]
41 #[inline(always)]
42 pub const fn buf_flow_ctl(&self) -> &BUF_FLOW_CTL {
43 &self.buf_flow_ctl
44 }
45 #[doc = "0x10 - pixel data type configuration."]
46 #[inline(always)]
47 pub const fn data_type_cfg(&self) -> &DATA_TYPE_CFG {
48 &self.data_type_cfg
49 }
50 #[doc = "0x14 - frame configuration."]
51 #[inline(always)]
52 pub const fn frame_cfg(&self) -> &FRAME_CFG {
53 &self.frame_cfg
54 }
55 #[doc = "0x18 - data endianness order configuration."]
56 #[inline(always)]
57 pub const fn endian_mode(&self) -> &ENDIAN_MODE {
58 &self.endian_mode
59 }
60 #[doc = "0x1c - csi bridge interrupt raw."]
61 #[inline(always)]
62 pub const fn int_raw(&self) -> &INT_RAW {
63 &self.int_raw
64 }
65 #[doc = "0x20 - csi bridge interrupt clr."]
66 #[inline(always)]
67 pub const fn int_clr(&self) -> &INT_CLR {
68 &self.int_clr
69 }
70 #[doc = "0x24 - csi bridge interrupt st."]
71 #[inline(always)]
72 pub const fn int_st(&self) -> &INT_ST {
73 &self.int_st
74 }
75 #[doc = "0x28 - csi bridge interrupt enable."]
76 #[inline(always)]
77 pub const fn int_ena(&self) -> &INT_ENA {
78 &self.int_ena
79 }
80 #[doc = "0x2c - DMA interval configuration."]
81 #[inline(always)]
82 pub const fn dma_req_interval(&self) -> &DMA_REQ_INTERVAL {
83 &self.dma_req_interval
84 }
85 #[doc = "0x30 - DMA block size configuration."]
86 #[inline(always)]
87 pub const fn dmablk_size(&self) -> &DMABLK_SIZE {
88 &self.dmablk_size
89 }
90 #[doc = "0x34 - N/A"]
91 #[inline(always)]
92 pub const fn rdn_eco_cs(&self) -> &RDN_ECO_CS {
93 &self.rdn_eco_cs
94 }
95 #[doc = "0x38 - N/A"]
96 #[inline(always)]
97 pub const fn rdn_eco_low(&self) -> &RDN_ECO_LOW {
98 &self.rdn_eco_low
99 }
100 #[doc = "0x3c - N/A"]
101 #[inline(always)]
102 pub const fn rdn_eco_high(&self) -> &RDN_ECO_HIGH {
103 &self.rdn_eco_high
104 }
105 #[doc = "0x40 - csi host control by csi bridge."]
106 #[inline(always)]
107 pub const fn host_ctrl(&self) -> &HOST_CTRL {
108 &self.host_ctrl
109 }
110 #[doc = "0x44 - csi bridge buffer control."]
111 #[inline(always)]
112 pub const fn mem_ctrl(&self) -> &MEM_CTRL {
113 &self.mem_ctrl
114 }
115}
116#[doc = "CLK_EN (rw) register accessor: csi bridge register mapping unit clock gating.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`clk_en::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`clk_en::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clk_en`] module"]
117pub type CLK_EN = crate::Reg<clk_en::CLK_EN_SPEC>;
118#[doc = "csi bridge register mapping unit clock gating."]
119pub mod clk_en;
120#[doc = "CSI_EN (rw) register accessor: csi bridge enable.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`csi_en::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`csi_en::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@csi_en`] module"]
121pub type CSI_EN = crate::Reg<csi_en::CSI_EN_SPEC>;
122#[doc = "csi bridge enable."]
123pub mod csi_en;
124#[doc = "DMA_REQ_CFG (rw) register accessor: dma request configuration.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`dma_req_cfg::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dma_req_cfg::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dma_req_cfg`] module"]
125pub type DMA_REQ_CFG = crate::Reg<dma_req_cfg::DMA_REQ_CFG_SPEC>;
126#[doc = "dma request configuration."]
127pub mod dma_req_cfg;
128#[doc = "BUF_FLOW_CTL (rw) register accessor: csi bridge buffer control.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`buf_flow_ctl::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`buf_flow_ctl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@buf_flow_ctl`] module"]
129pub type BUF_FLOW_CTL = crate::Reg<buf_flow_ctl::BUF_FLOW_CTL_SPEC>;
130#[doc = "csi bridge buffer control."]
131pub mod buf_flow_ctl;
132#[doc = "DATA_TYPE_CFG (rw) register accessor: pixel data type configuration.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data_type_cfg::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data_type_cfg::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data_type_cfg`] module"]
133pub type DATA_TYPE_CFG = crate::Reg<data_type_cfg::DATA_TYPE_CFG_SPEC>;
134#[doc = "pixel data type configuration."]
135pub mod data_type_cfg;
136#[doc = "FRAME_CFG (rw) register accessor: frame configuration.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`frame_cfg::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`frame_cfg::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@frame_cfg`] module"]
137pub type FRAME_CFG = crate::Reg<frame_cfg::FRAME_CFG_SPEC>;
138#[doc = "frame configuration."]
139pub mod frame_cfg;
140#[doc = "ENDIAN_MODE (rw) register accessor: data endianness order configuration.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`endian_mode::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`endian_mode::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@endian_mode`] module"]
141pub type ENDIAN_MODE = crate::Reg<endian_mode::ENDIAN_MODE_SPEC>;
142#[doc = "data endianness order configuration."]
143pub mod endian_mode;
144#[doc = "INT_RAW (rw) register accessor: csi bridge interrupt raw.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`int_raw::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`int_raw::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_raw`] module"]
145pub type INT_RAW = crate::Reg<int_raw::INT_RAW_SPEC>;
146#[doc = "csi bridge interrupt raw."]
147pub mod int_raw;
148#[doc = "INT_CLR (w) register accessor: csi bridge interrupt clr.\n\nYou can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`int_clr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_clr`] module"]
149pub type INT_CLR = crate::Reg<int_clr::INT_CLR_SPEC>;
150#[doc = "csi bridge interrupt clr."]
151pub mod int_clr;
152#[doc = "INT_ST (r) register accessor: csi bridge interrupt st.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`int_st::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_st`] module"]
153pub type INT_ST = crate::Reg<int_st::INT_ST_SPEC>;
154#[doc = "csi bridge interrupt st."]
155pub mod int_st;
156#[doc = "INT_ENA (rw) register accessor: csi bridge interrupt enable.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`int_ena::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`int_ena::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_ena`] module"]
157pub type INT_ENA = crate::Reg<int_ena::INT_ENA_SPEC>;
158#[doc = "csi bridge interrupt enable."]
159pub mod int_ena;
160#[doc = "DMA_REQ_INTERVAL (rw) register accessor: DMA interval configuration.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`dma_req_interval::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dma_req_interval::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dma_req_interval`] module"]
161pub type DMA_REQ_INTERVAL = crate::Reg<dma_req_interval::DMA_REQ_INTERVAL_SPEC>;
162#[doc = "DMA interval configuration."]
163pub mod dma_req_interval;
164#[doc = "DMABLK_SIZE (rw) register accessor: DMA block size configuration.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`dmablk_size::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dmablk_size::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dmablk_size`] module"]
165pub type DMABLK_SIZE = crate::Reg<dmablk_size::DMABLK_SIZE_SPEC>;
166#[doc = "DMA block size configuration."]
167pub mod dmablk_size;
168#[doc = "RDN_ECO_CS (rw) register accessor: N/A\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rdn_eco_cs::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`rdn_eco_cs::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rdn_eco_cs`] module"]
169pub type RDN_ECO_CS = crate::Reg<rdn_eco_cs::RDN_ECO_CS_SPEC>;
170#[doc = "N/A"]
171pub mod rdn_eco_cs;
172#[doc = "RDN_ECO_LOW (rw) register accessor: N/A\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rdn_eco_low::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`rdn_eco_low::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rdn_eco_low`] module"]
173pub type RDN_ECO_LOW = crate::Reg<rdn_eco_low::RDN_ECO_LOW_SPEC>;
174#[doc = "N/A"]
175pub mod rdn_eco_low;
176#[doc = "RDN_ECO_HIGH (rw) register accessor: N/A\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rdn_eco_high::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`rdn_eco_high::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rdn_eco_high`] module"]
177pub type RDN_ECO_HIGH = crate::Reg<rdn_eco_high::RDN_ECO_HIGH_SPEC>;
178#[doc = "N/A"]
179pub mod rdn_eco_high;
180#[doc = "HOST_CTRL (rw) register accessor: csi host control by csi bridge.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`host_ctrl::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`host_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@host_ctrl`] module"]
181pub type HOST_CTRL = crate::Reg<host_ctrl::HOST_CTRL_SPEC>;
182#[doc = "csi host control by csi bridge."]
183pub mod host_ctrl;
184#[doc = "MEM_CTRL (rw) register accessor: csi bridge buffer control.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`mem_ctrl::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`mem_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mem_ctrl`] module"]
185pub type MEM_CTRL = crate::Reg<mem_ctrl::MEM_CTRL_SPEC>;
186#[doc = "csi bridge buffer control."]
187pub mod mem_ctrl;