esp32p4/
lcd_cam.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    lcd_clock: LCD_CLOCK,
6    cam_ctrl: CAM_CTRL,
7    cam_ctrl1: CAM_CTRL1,
8    cam_rgb_yuv: CAM_RGB_YUV,
9    lcd_rgb_yuv: LCD_RGB_YUV,
10    lcd_user: LCD_USER,
11    lcd_misc: LCD_MISC,
12    lcd_ctrl: LCD_CTRL,
13    lcd_ctrl1: LCD_CTRL1,
14    lcd_ctrl2: LCD_CTRL2,
15    lcd_first_cmd_val: LCD_FIRST_CMD_VAL,
16    lcd_latter_cmd_val: LCD_LATTER_CMD_VAL,
17    lcd_dly_mode_cfg1: LCD_DLY_MODE_CFG1,
18    _reserved13: [u8; 0x04],
19    lcd_dly_mode_cfg2: LCD_DLY_MODE_CFG2,
20    _reserved14: [u8; 0x28],
21    lc_dma_int_ena: LC_DMA_INT_ENA,
22    lc_dma_int_raw: LC_DMA_INT_RAW,
23    lc_dma_int_st: LC_DMA_INT_ST,
24    lc_dma_int_clr: LC_DMA_INT_CLR,
25    _reserved18: [u8; 0x88],
26    lc_reg_date: LC_REG_DATE,
27}
28impl RegisterBlock {
29    #[doc = "0x00 - LCD clock config register."]
30    #[inline(always)]
31    pub const fn lcd_clock(&self) -> &LCD_CLOCK {
32        &self.lcd_clock
33    }
34    #[doc = "0x04 - CAM config register."]
35    #[inline(always)]
36    pub const fn cam_ctrl(&self) -> &CAM_CTRL {
37        &self.cam_ctrl
38    }
39    #[doc = "0x08 - CAM config register."]
40    #[inline(always)]
41    pub const fn cam_ctrl1(&self) -> &CAM_CTRL1 {
42        &self.cam_ctrl1
43    }
44    #[doc = "0x0c - CAM YUV/RGB converter configuration register."]
45    #[inline(always)]
46    pub const fn cam_rgb_yuv(&self) -> &CAM_RGB_YUV {
47        &self.cam_rgb_yuv
48    }
49    #[doc = "0x10 - LCD YUV/RGB converter configuration register."]
50    #[inline(always)]
51    pub const fn lcd_rgb_yuv(&self) -> &LCD_RGB_YUV {
52        &self.lcd_rgb_yuv
53    }
54    #[doc = "0x14 - LCD config register."]
55    #[inline(always)]
56    pub const fn lcd_user(&self) -> &LCD_USER {
57        &self.lcd_user
58    }
59    #[doc = "0x18 - LCD config register."]
60    #[inline(always)]
61    pub const fn lcd_misc(&self) -> &LCD_MISC {
62        &self.lcd_misc
63    }
64    #[doc = "0x1c - LCD config register."]
65    #[inline(always)]
66    pub const fn lcd_ctrl(&self) -> &LCD_CTRL {
67        &self.lcd_ctrl
68    }
69    #[doc = "0x20 - LCD config register."]
70    #[inline(always)]
71    pub const fn lcd_ctrl1(&self) -> &LCD_CTRL1 {
72        &self.lcd_ctrl1
73    }
74    #[doc = "0x24 - LCD config register."]
75    #[inline(always)]
76    pub const fn lcd_ctrl2(&self) -> &LCD_CTRL2 {
77        &self.lcd_ctrl2
78    }
79    #[doc = "0x28 - LCD config register."]
80    #[inline(always)]
81    pub const fn lcd_first_cmd_val(&self) -> &LCD_FIRST_CMD_VAL {
82        &self.lcd_first_cmd_val
83    }
84    #[doc = "0x2c - LCD config register."]
85    #[inline(always)]
86    pub const fn lcd_latter_cmd_val(&self) -> &LCD_LATTER_CMD_VAL {
87        &self.lcd_latter_cmd_val
88    }
89    #[doc = "0x30 - LCD config register."]
90    #[inline(always)]
91    pub const fn lcd_dly_mode_cfg1(&self) -> &LCD_DLY_MODE_CFG1 {
92        &self.lcd_dly_mode_cfg1
93    }
94    #[doc = "0x38 - LCD config register."]
95    #[inline(always)]
96    pub const fn lcd_dly_mode_cfg2(&self) -> &LCD_DLY_MODE_CFG2 {
97        &self.lcd_dly_mode_cfg2
98    }
99    #[doc = "0x64 - LCDCAM interrupt enable register."]
100    #[inline(always)]
101    pub const fn lc_dma_int_ena(&self) -> &LC_DMA_INT_ENA {
102        &self.lc_dma_int_ena
103    }
104    #[doc = "0x68 - LCDCAM interrupt raw register, valid in level."]
105    #[inline(always)]
106    pub const fn lc_dma_int_raw(&self) -> &LC_DMA_INT_RAW {
107        &self.lc_dma_int_raw
108    }
109    #[doc = "0x6c - LCDCAM interrupt status register."]
110    #[inline(always)]
111    pub const fn lc_dma_int_st(&self) -> &LC_DMA_INT_ST {
112        &self.lc_dma_int_st
113    }
114    #[doc = "0x70 - LCDCAM interrupt clear register."]
115    #[inline(always)]
116    pub const fn lc_dma_int_clr(&self) -> &LC_DMA_INT_CLR {
117        &self.lc_dma_int_clr
118    }
119    #[doc = "0xfc - Version register"]
120    #[inline(always)]
121    pub const fn lc_reg_date(&self) -> &LC_REG_DATE {
122        &self.lc_reg_date
123    }
124}
125#[doc = "LCD_CLOCK (rw) register accessor: LCD clock config register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`lcd_clock::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 [`lcd_clock::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@lcd_clock`] module"]
126pub type LCD_CLOCK = crate::Reg<lcd_clock::LCD_CLOCK_SPEC>;
127#[doc = "LCD clock config register."]
128pub mod lcd_clock;
129#[doc = "CAM_CTRL (rw) register accessor: CAM config register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cam_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 [`cam_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@cam_ctrl`] module"]
130pub type CAM_CTRL = crate::Reg<cam_ctrl::CAM_CTRL_SPEC>;
131#[doc = "CAM config register."]
132pub mod cam_ctrl;
133#[doc = "CAM_CTRL1 (rw) register accessor: CAM config register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cam_ctrl1::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 [`cam_ctrl1::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@cam_ctrl1`] module"]
134pub type CAM_CTRL1 = crate::Reg<cam_ctrl1::CAM_CTRL1_SPEC>;
135#[doc = "CAM config register."]
136pub mod cam_ctrl1;
137#[doc = "CAM_RGB_YUV (rw) register accessor: CAM YUV/RGB converter configuration register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`cam_rgb_yuv::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 [`cam_rgb_yuv::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@cam_rgb_yuv`] module"]
138pub type CAM_RGB_YUV = crate::Reg<cam_rgb_yuv::CAM_RGB_YUV_SPEC>;
139#[doc = "CAM YUV/RGB converter configuration register."]
140pub mod cam_rgb_yuv;
141#[doc = "LCD_RGB_YUV (rw) register accessor: LCD YUV/RGB converter configuration register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`lcd_rgb_yuv::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 [`lcd_rgb_yuv::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@lcd_rgb_yuv`] module"]
142pub type LCD_RGB_YUV = crate::Reg<lcd_rgb_yuv::LCD_RGB_YUV_SPEC>;
143#[doc = "LCD YUV/RGB converter configuration register."]
144pub mod lcd_rgb_yuv;
145#[doc = "LCD_USER (rw) register accessor: LCD config register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`lcd_user::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 [`lcd_user::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@lcd_user`] module"]
146pub type LCD_USER = crate::Reg<lcd_user::LCD_USER_SPEC>;
147#[doc = "LCD config register."]
148pub mod lcd_user;
149#[doc = "LCD_MISC (rw) register accessor: LCD config register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`lcd_misc::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 [`lcd_misc::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@lcd_misc`] module"]
150pub type LCD_MISC = crate::Reg<lcd_misc::LCD_MISC_SPEC>;
151#[doc = "LCD config register."]
152pub mod lcd_misc;
153#[doc = "LCD_CTRL (rw) register accessor: LCD config register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`lcd_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 [`lcd_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@lcd_ctrl`] module"]
154pub type LCD_CTRL = crate::Reg<lcd_ctrl::LCD_CTRL_SPEC>;
155#[doc = "LCD config register."]
156pub mod lcd_ctrl;
157#[doc = "LCD_CTRL1 (rw) register accessor: LCD config register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`lcd_ctrl1::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 [`lcd_ctrl1::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@lcd_ctrl1`] module"]
158pub type LCD_CTRL1 = crate::Reg<lcd_ctrl1::LCD_CTRL1_SPEC>;
159#[doc = "LCD config register."]
160pub mod lcd_ctrl1;
161#[doc = "LCD_CTRL2 (rw) register accessor: LCD config register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`lcd_ctrl2::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 [`lcd_ctrl2::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@lcd_ctrl2`] module"]
162pub type LCD_CTRL2 = crate::Reg<lcd_ctrl2::LCD_CTRL2_SPEC>;
163#[doc = "LCD config register."]
164pub mod lcd_ctrl2;
165#[doc = "LCD_FIRST_CMD_VAL (rw) register accessor: LCD config register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`lcd_first_cmd_val::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 [`lcd_first_cmd_val::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@lcd_first_cmd_val`] module"]
166pub type LCD_FIRST_CMD_VAL = crate::Reg<lcd_first_cmd_val::LCD_FIRST_CMD_VAL_SPEC>;
167#[doc = "LCD config register."]
168pub mod lcd_first_cmd_val;
169#[doc = "LCD_LATTER_CMD_VAL (rw) register accessor: LCD config register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`lcd_latter_cmd_val::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 [`lcd_latter_cmd_val::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@lcd_latter_cmd_val`] module"]
170pub type LCD_LATTER_CMD_VAL = crate::Reg<lcd_latter_cmd_val::LCD_LATTER_CMD_VAL_SPEC>;
171#[doc = "LCD config register."]
172pub mod lcd_latter_cmd_val;
173#[doc = "LCD_DLY_MODE_CFG1 (rw) register accessor: LCD config register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`lcd_dly_mode_cfg1::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 [`lcd_dly_mode_cfg1::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@lcd_dly_mode_cfg1`] module"]
174pub type LCD_DLY_MODE_CFG1 = crate::Reg<lcd_dly_mode_cfg1::LCD_DLY_MODE_CFG1_SPEC>;
175#[doc = "LCD config register."]
176pub mod lcd_dly_mode_cfg1;
177#[doc = "LCD_DLY_MODE_CFG2 (rw) register accessor: LCD config register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`lcd_dly_mode_cfg2::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 [`lcd_dly_mode_cfg2::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@lcd_dly_mode_cfg2`] module"]
178pub type LCD_DLY_MODE_CFG2 = crate::Reg<lcd_dly_mode_cfg2::LCD_DLY_MODE_CFG2_SPEC>;
179#[doc = "LCD config register."]
180pub mod lcd_dly_mode_cfg2;
181#[doc = "LC_DMA_INT_ENA (rw) register accessor: LCDCAM interrupt enable register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`lc_dma_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 [`lc_dma_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@lc_dma_int_ena`] module"]
182pub type LC_DMA_INT_ENA = crate::Reg<lc_dma_int_ena::LC_DMA_INT_ENA_SPEC>;
183#[doc = "LCDCAM interrupt enable register."]
184pub mod lc_dma_int_ena;
185#[doc = "LC_DMA_INT_RAW (r) register accessor: LCDCAM interrupt raw register, valid in level.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`lc_dma_int_raw::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@lc_dma_int_raw`] module"]
186pub type LC_DMA_INT_RAW = crate::Reg<lc_dma_int_raw::LC_DMA_INT_RAW_SPEC>;
187#[doc = "LCDCAM interrupt raw register, valid in level."]
188pub mod lc_dma_int_raw;
189#[doc = "LC_DMA_INT_ST (r) register accessor: LCDCAM interrupt status register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`lc_dma_int_st::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@lc_dma_int_st`] module"]
190pub type LC_DMA_INT_ST = crate::Reg<lc_dma_int_st::LC_DMA_INT_ST_SPEC>;
191#[doc = "LCDCAM interrupt status register."]
192pub mod lc_dma_int_st;
193#[doc = "LC_DMA_INT_CLR (w) register accessor: LCDCAM interrupt clear register.\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 [`lc_dma_int_clr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@lc_dma_int_clr`] module"]
194pub type LC_DMA_INT_CLR = crate::Reg<lc_dma_int_clr::LC_DMA_INT_CLR_SPEC>;
195#[doc = "LCDCAM interrupt clear register."]
196pub mod lc_dma_int_clr;
197#[doc = "LC_REG_DATE (rw) register accessor: Version register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`lc_reg_date::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 [`lc_reg_date::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@lc_reg_date`] module"]
198pub type LC_REG_DATE = crate::Reg<lc_reg_date::LC_REG_DATE_SPEC>;
199#[doc = "Version register"]
200pub mod lc_reg_date;