esp32s3/
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_cmd_val: LCD_CMD_VAL,
16    _reserved11: [u8; 0x04],
17    lcd_dly_mode: LCD_DLY_MODE,
18    _reserved12: [u8; 0x04],
19    lcd_data_dout_mode: LCD_DATA_DOUT_MODE,
20    _reserved13: [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    _reserved17: [u8; 0x88],
26    lc_reg_date: LC_REG_DATE,
27}
28impl RegisterBlock {
29    #[doc = "0x00 - LCD clock configuration register"]
30    #[inline(always)]
31    pub const fn lcd_clock(&self) -> &LCD_CLOCK {
32        &self.lcd_clock
33    }
34    #[doc = "0x04 - Camera clock configuration register"]
35    #[inline(always)]
36    pub const fn cam_ctrl(&self) -> &CAM_CTRL {
37        &self.cam_ctrl
38    }
39    #[doc = "0x08 - Camera control register"]
40    #[inline(always)]
41    pub const fn cam_ctrl1(&self) -> &CAM_CTRL1 {
42        &self.cam_ctrl1
43    }
44    #[doc = "0x0c - Camera data format conversion 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 data format conversion 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 user configuration register"]
55    #[inline(always)]
56    pub const fn lcd_user(&self) -> &LCD_USER {
57        &self.lcd_user
58    }
59    #[doc = "0x18 - LCD MISC configuration register"]
60    #[inline(always)]
61    pub const fn lcd_misc(&self) -> &LCD_MISC {
62        &self.lcd_misc
63    }
64    #[doc = "0x1c - LCD signal configuration register"]
65    #[inline(always)]
66    pub const fn lcd_ctrl(&self) -> &LCD_CTRL {
67        &self.lcd_ctrl
68    }
69    #[doc = "0x20 - LCD signal configuration register 1"]
70    #[inline(always)]
71    pub const fn lcd_ctrl1(&self) -> &LCD_CTRL1 {
72        &self.lcd_ctrl1
73    }
74    #[doc = "0x24 - LCD signal configuration register 2"]
75    #[inline(always)]
76    pub const fn lcd_ctrl2(&self) -> &LCD_CTRL2 {
77        &self.lcd_ctrl2
78    }
79    #[doc = "0x28 - LCD command value configuration register"]
80    #[inline(always)]
81    pub const fn lcd_cmd_val(&self) -> &LCD_CMD_VAL {
82        &self.lcd_cmd_val
83    }
84    #[doc = "0x30 - LCD signal delay configuration register"]
85    #[inline(always)]
86    pub const fn lcd_dly_mode(&self) -> &LCD_DLY_MODE {
87        &self.lcd_dly_mode
88    }
89    #[doc = "0x38 - LCD data delay configuration register"]
90    #[inline(always)]
91    pub const fn lcd_data_dout_mode(&self) -> &LCD_DATA_DOUT_MODE {
92        &self.lcd_data_dout_mode
93    }
94    #[doc = "0x64 - LCD_CAM GDMA interrupt enable register"]
95    #[inline(always)]
96    pub const fn lc_dma_int_ena(&self) -> &LC_DMA_INT_ENA {
97        &self.lc_dma_int_ena
98    }
99    #[doc = "0x68 - LCD_CAM GDMA raw interrupt status register"]
100    #[inline(always)]
101    pub const fn lc_dma_int_raw(&self) -> &LC_DMA_INT_RAW {
102        &self.lc_dma_int_raw
103    }
104    #[doc = "0x6c - LCD_CAM GDMA masked interrupt status register"]
105    #[inline(always)]
106    pub const fn lc_dma_int_st(&self) -> &LC_DMA_INT_ST {
107        &self.lc_dma_int_st
108    }
109    #[doc = "0x70 - LCD_CAM GDMA interrupt clear register"]
110    #[inline(always)]
111    pub const fn lc_dma_int_clr(&self) -> &LC_DMA_INT_CLR {
112        &self.lc_dma_int_clr
113    }
114    #[doc = "0xfc - Version control register"]
115    #[inline(always)]
116    pub const fn lc_reg_date(&self) -> &LC_REG_DATE {
117        &self.lc_reg_date
118    }
119}
120#[doc = "LCD_CLOCK (rw) register accessor: LCD clock configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`lcd_clock::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lcd_clock::W`]. You can also [`modify`](crate::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"]
121pub type LCD_CLOCK = crate::Reg<lcd_clock::LCD_CLOCK_SPEC>;
122#[doc = "LCD clock configuration register"]
123pub mod lcd_clock;
124#[doc = "CAM_CTRL (rw) register accessor: Camera clock configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`cam_ctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cam_ctrl::W`]. You can also [`modify`](crate::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"]
125pub type CAM_CTRL = crate::Reg<cam_ctrl::CAM_CTRL_SPEC>;
126#[doc = "Camera clock configuration register"]
127pub mod cam_ctrl;
128#[doc = "CAM_CTRL1 (rw) register accessor: Camera control register\n\nYou can [`read`](crate::Reg::read) this register and get [`cam_ctrl1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cam_ctrl1::W`]. You can also [`modify`](crate::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"]
129pub type CAM_CTRL1 = crate::Reg<cam_ctrl1::CAM_CTRL1_SPEC>;
130#[doc = "Camera control register"]
131pub mod cam_ctrl1;
132#[doc = "CAM_RGB_YUV (rw) register accessor: Camera data format conversion register\n\nYou can [`read`](crate::Reg::read) this register and get [`cam_rgb_yuv::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cam_rgb_yuv::W`]. You can also [`modify`](crate::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"]
133pub type CAM_RGB_YUV = crate::Reg<cam_rgb_yuv::CAM_RGB_YUV_SPEC>;
134#[doc = "Camera data format conversion register"]
135pub mod cam_rgb_yuv;
136#[doc = "LCD_RGB_YUV (rw) register accessor: LCD data format conversion register\n\nYou can [`read`](crate::Reg::read) this register and get [`lcd_rgb_yuv::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lcd_rgb_yuv::W`]. You can also [`modify`](crate::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"]
137pub type LCD_RGB_YUV = crate::Reg<lcd_rgb_yuv::LCD_RGB_YUV_SPEC>;
138#[doc = "LCD data format conversion register"]
139pub mod lcd_rgb_yuv;
140#[doc = "LCD_USER (rw) register accessor: LCD user configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`lcd_user::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lcd_user::W`]. You can also [`modify`](crate::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"]
141pub type LCD_USER = crate::Reg<lcd_user::LCD_USER_SPEC>;
142#[doc = "LCD user configuration register"]
143pub mod lcd_user;
144#[doc = "LCD_MISC (rw) register accessor: LCD MISC configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`lcd_misc::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lcd_misc::W`]. You can also [`modify`](crate::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"]
145pub type LCD_MISC = crate::Reg<lcd_misc::LCD_MISC_SPEC>;
146#[doc = "LCD MISC configuration register"]
147pub mod lcd_misc;
148#[doc = "LCD_CTRL (rw) register accessor: LCD signal configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`lcd_ctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lcd_ctrl::W`]. You can also [`modify`](crate::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"]
149pub type LCD_CTRL = crate::Reg<lcd_ctrl::LCD_CTRL_SPEC>;
150#[doc = "LCD signal configuration register"]
151pub mod lcd_ctrl;
152#[doc = "LCD_CTRL1 (rw) register accessor: LCD signal configuration register 1\n\nYou can [`read`](crate::Reg::read) this register and get [`lcd_ctrl1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lcd_ctrl1::W`]. You can also [`modify`](crate::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"]
153pub type LCD_CTRL1 = crate::Reg<lcd_ctrl1::LCD_CTRL1_SPEC>;
154#[doc = "LCD signal configuration register 1"]
155pub mod lcd_ctrl1;
156#[doc = "LCD_CTRL2 (rw) register accessor: LCD signal configuration register 2\n\nYou can [`read`](crate::Reg::read) this register and get [`lcd_ctrl2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lcd_ctrl2::W`]. You can also [`modify`](crate::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"]
157pub type LCD_CTRL2 = crate::Reg<lcd_ctrl2::LCD_CTRL2_SPEC>;
158#[doc = "LCD signal configuration register 2"]
159pub mod lcd_ctrl2;
160#[doc = "LCD_CMD_VAL (rw) register accessor: LCD command value configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`lcd_cmd_val::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lcd_cmd_val::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@lcd_cmd_val`] module"]
161pub type LCD_CMD_VAL = crate::Reg<lcd_cmd_val::LCD_CMD_VAL_SPEC>;
162#[doc = "LCD command value configuration register"]
163pub mod lcd_cmd_val;
164#[doc = "LCD_DLY_MODE (rw) register accessor: LCD signal delay configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`lcd_dly_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lcd_dly_mode::W`]. You can also [`modify`](crate::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`] module"]
165pub type LCD_DLY_MODE = crate::Reg<lcd_dly_mode::LCD_DLY_MODE_SPEC>;
166#[doc = "LCD signal delay configuration register"]
167pub mod lcd_dly_mode;
168#[doc = "LCD_DATA_DOUT_MODE (rw) register accessor: LCD data delay configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`lcd_data_dout_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lcd_data_dout_mode::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@lcd_data_dout_mode`] module"]
169pub type LCD_DATA_DOUT_MODE = crate::Reg<lcd_data_dout_mode::LCD_DATA_DOUT_MODE_SPEC>;
170#[doc = "LCD data delay configuration register"]
171pub mod lcd_data_dout_mode;
172#[doc = "LC_DMA_INT_ENA (rw) register accessor: LCD_CAM GDMA interrupt enable register\n\nYou can [`read`](crate::Reg::read) this register and get [`lc_dma_int_ena::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lc_dma_int_ena::W`]. You can also [`modify`](crate::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"]
173pub type LC_DMA_INT_ENA = crate::Reg<lc_dma_int_ena::LC_DMA_INT_ENA_SPEC>;
174#[doc = "LCD_CAM GDMA interrupt enable register"]
175pub mod lc_dma_int_ena;
176#[doc = "LC_DMA_INT_RAW (r) register accessor: LCD_CAM GDMA raw interrupt status register\n\nYou can [`read`](crate::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"]
177pub type LC_DMA_INT_RAW = crate::Reg<lc_dma_int_raw::LC_DMA_INT_RAW_SPEC>;
178#[doc = "LCD_CAM GDMA raw interrupt status register"]
179pub mod lc_dma_int_raw;
180#[doc = "LC_DMA_INT_ST (r) register accessor: LCD_CAM GDMA masked interrupt status register\n\nYou can [`read`](crate::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"]
181pub type LC_DMA_INT_ST = crate::Reg<lc_dma_int_st::LC_DMA_INT_ST_SPEC>;
182#[doc = "LCD_CAM GDMA masked interrupt status register"]
183pub mod lc_dma_int_st;
184#[doc = "LC_DMA_INT_CLR (w) register accessor: LCD_CAM GDMA interrupt clear register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::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"]
185pub type LC_DMA_INT_CLR = crate::Reg<lc_dma_int_clr::LC_DMA_INT_CLR_SPEC>;
186#[doc = "LCD_CAM GDMA interrupt clear register"]
187pub mod lc_dma_int_clr;
188#[doc = "LC_REG_DATE (rw) register accessor: Version control register\n\nYou can [`read`](crate::Reg::read) this register and get [`lc_reg_date::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lc_reg_date::W`]. You can also [`modify`](crate::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"]
189pub type LC_REG_DATE = crate::Reg<lc_reg_date::LC_REG_DATE_SPEC>;
190#[doc = "Version control register"]
191pub mod lc_reg_date;