summaryrefslogtreecommitdiff
path: root/display/stm32_ltdc.h
diff options
context:
space:
mode:
Diffstat (limited to 'display/stm32_ltdc.h')
-rw-r--r--display/stm32_ltdc.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/display/stm32_ltdc.h b/display/stm32_ltdc.h
new file mode 100644
index 0000000..ce1f9e9
--- /dev/null
+++ b/display/stm32_ltdc.h
@@ -0,0 +1,58 @@
+#pragma once
+
+#include <mmio/mmio.h>
+
+struct STM32_LTDC_reg_t {
+ uint32_t _reserved[2];
+ volatile uint32_t SSCR;
+ volatile uint32_t BPCR;
+ volatile uint32_t AWCR;
+ volatile uint32_t TWCR;
+ volatile uint32_t GCR;
+ uint32_t _reserved1[2];
+ volatile uint32_t SRCR;
+ uint32_t _reserved2[1];
+ volatile uint32_t BCCR;
+ uint32_t _reserved3[1];
+ volatile uint32_t IER;
+ volatile uint32_t ISR;
+ volatile uint32_t ICR;
+ volatile uint32_t LIPCR;
+ volatile uint32_t CPSR;
+ volatile uint32_t CDSR;
+ uint32_t _reserved4[14];
+ volatile uint32_t L1CR;
+ volatile uint32_t L1WHPCR;
+ volatile uint32_t L1WVPCR;
+ volatile uint32_t L1CKCR;
+ volatile uint32_t L1PFCR;
+ volatile uint32_t L1CACR;
+ volatile uint32_t L1DCCR;
+ volatile uint32_t L1BFCR;
+ uint32_t _reserved5[2];
+ volatile uint32_t L1CFBAR;
+ volatile uint32_t L1CFBLR;
+ volatile uint32_t L1CFBLNR;
+ uint32_t _reserved6[3];
+ volatile uint32_t L1CLUTWR;
+ uint32_t _reserved7[15];
+ volatile uint32_t L2CR;
+ volatile uint32_t L2WHPCR;
+ volatile uint32_t L2WVPCR;
+ volatile uint32_t L2CKCR;
+ volatile uint32_t L2PFCR;
+ volatile uint32_t L2CACR;
+ volatile uint32_t L2DCCR;
+ volatile uint32_t L2BFCR;
+ uint32_t _reserved8[2];
+ volatile uint32_t L2CFBAR;
+ volatile uint32_t L2CFBLR;
+ volatile uint32_t L2CFBLNR;
+ uint32_t _reserved9[3];
+ volatile uint32_t L2CLUTWR;
+};
+
+class STM32_LTDC_t : public mmio_ptr<STM32_LTDC_reg_t> {
+ public:
+ using mmio_ptr<STM32_LTDC_reg_t>::ptr;
+};