periph_cpu.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2015-2017 Freie Universität Berlin
3  * SPDX-FileCopyrightText: 2017 Inria
4  * SPDX-License-Identifier: LGPL-2.1-only
5  */
6 
7 #pragma once
8 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 #ifndef DOXYGEN
26 
31 #define STM32_BOOTLOADER_ADDR (0x1FF00000)
32 
37 #define HAVE_ADC_RES_T
38 typedef enum {
39  ADC_RES_6BIT = (ADC_CFGR1_RES),
40  ADC_RES_8BIT = (ADC_CFGR1_RES_1),
41  ADC_RES_10BIT = (ADC_CFGR1_RES_0),
42  ADC_RES_12BIT = (0x00),
43  ADC_RES_14BIT = (0xfe),
44  ADC_RES_16BIT = (0xff)
45 } adc_res_t;
47 #endif /* ndef DOXYGEN */
48 
54 #define EEPROM_START_ADDR (0x08080000)
55 #if defined(CPU_LINE_STM32L073xx) || defined(CPU_LINE_STM32L072xx)
56 #define EEPROM_SIZE (6144U) /* 6kB */
57 #elif defined(CPU_LINE_STM32L053xx) || defined(CPU_LINE_STM32L052xx)
58 #define EEPROM_SIZE (2048U) /* 2kB */
59 #elif defined(CPU_LINE_STM32L031xx)
60 #define EEPROM_SIZE (1024U) /* 1kB */
61 #elif defined(CPU_LINE_STM32L010xB) || defined(CPU_LINE_STM32L011x3) || \
62  defined(CPU_LINE_STM32L011x4) || defined(CPU_LINE_STM32L021x4) || \
63  defined(CPU_MODEL_STM32L011K4)
64 #define EEPROM_SIZE (512U) /* 512B */
65 #elif defined(CPU_LINE_STM32L010x6) || defined(CPU_LINE_STM32L010x8)
66 #define EEPROM_SIZE (256U) /* 256B */
67 #elif defined(CPU_LINE_STM32L010x4)
68 #define EEPROM_SIZE (128U) /* 128B */
69 #endif
72 #ifdef __cplusplus
73 }
74 #endif
75 
adc_res_t
Possible ADC resolution settings.
Definition: adc.h:92
@ ADC_RES_16BIT
ADC resolution: 16 bit.
Definition: adc.h:98
@ ADC_RES_8BIT
ADC resolution: 8 bit.
Definition: adc.h:94
@ ADC_RES_14BIT
ADC resolution: 14 bit.
Definition: adc.h:97
@ ADC_RES_6BIT
ADC resolution: 6 bit.
Definition: adc.h:93
@ ADC_RES_10BIT
ADC resolution: 10 bit.
Definition: adc.h:95
@ ADC_RES_12BIT
ADC resolution: 12 bit.
Definition: adc.h:96