summaryrefslogtreecommitdiff
path: root/adc/stm32_adc.h
diff options
context:
space:
mode:
authorKarl Palsson <karlp@tweak.net.au>2022-05-04 00:41:45 +0200
committerVegard Storheil Eriksen <zyp@jvnv.net>2022-07-27 23:03:11 +0200
commitb5cd432df8f336c90d530b5d55fda7f2c25472c2 (patch)
tree8f1cbda9f677e6e97676649de7c6e9e00e201ab7 /adc/stm32_adc.h
parentc40eb0b2d6966760899d1d0c2743770ea130ff09 (diff)
adc: convert to new style
Converted the old STM32 headers to new style and copied offsets to platform data. Signed-off-by: Karl Palsson <karlp@tweak.net.au>
Diffstat (limited to 'adc/stm32_adc.h')
-rw-r--r--adc/stm32_adc.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/adc/stm32_adc.h b/adc/stm32_adc.h
new file mode 100644
index 0000000..6216581
--- /dev/null
+++ b/adc/stm32_adc.h
@@ -0,0 +1,83 @@
+#pragma once
+
+#include <mmio/mmio.h>
+
+struct STM32_ADC_reg_v1_t {
+ volatile uint32_t SR;
+ volatile uint32_t CR1;
+ volatile uint32_t CR2;
+ volatile uint32_t SMPR1;
+ volatile uint32_t SMPR2;
+ volatile uint32_t JOFR1;
+ volatile uint32_t JOFR2;
+ volatile uint32_t JOFR3;
+ volatile uint32_t JOFR4;
+ volatile uint32_t HTR;
+ volatile uint32_t LTR;
+ volatile uint32_t SQR1;
+ volatile uint32_t SQR2;
+ volatile uint32_t SQR3;
+ volatile uint32_t JSQR;
+ volatile uint32_t JDR1;
+ volatile uint32_t JDR2;
+ volatile uint32_t JDR3;
+ volatile uint32_t JDR4;
+ volatile uint32_t DR;
+};
+
+
+struct STM32_ADC_reg_v2_t {
+ volatile uint32_t ISR;
+ volatile uint32_t IER;
+ volatile uint32_t CR;
+ volatile uint32_t CFGR;
+ volatile uint32_t CFGR2;
+ volatile uint32_t SMPR1;
+ volatile uint32_t SMPR2;
+ uint32_t _reserved1;
+ volatile uint32_t TR1;
+ volatile uint32_t TR2;
+ volatile uint32_t TR3;
+ uint32_t _reserved2;
+ volatile uint32_t SQR1;
+ volatile uint32_t SQR2;
+ volatile uint32_t SQR3;
+ volatile uint32_t SQR4;
+ volatile uint32_t DR;
+ uint32_t _reserved3[2];
+ volatile uint32_t JSQR;
+ uint32_t _reserved4[4];
+ volatile uint32_t OFR1;
+ volatile uint32_t OFR2;
+ volatile uint32_t OFR3;
+ volatile uint32_t OFR4;
+ uint32_t _reserved5[4];
+ volatile uint32_t JDR1;
+ volatile uint32_t JDR2;
+ volatile uint32_t JDR3;
+ volatile uint32_t JDR4;
+ uint32_t _reserved6[4];
+ volatile uint32_t AWD2CR;
+ volatile uint32_t AWD3CR;
+ uint32_t _reserved7[2];
+ volatile uint32_t DIFSEL;
+ volatile uint32_t CALFACT;
+};
+
+struct STM32_ADC_COMMON_reg_v2_t {
+ volatile uint32_t CSR;
+ uint32_t _reserved1;
+ volatile uint32_t CCR;
+};
+
+template <typename T>
+class STM32_ADC_t : public mmio_ptr<T> {
+ public:
+ using mmio_ptr<T>::ptr;
+};
+
+template <typename T>
+class STM32_ADC_COMMON_t : public mmio_ptr<T> {
+ public:
+ using mmio_ptr<T>::ptr;
+};