From 638eeebeec8e0c241dcaca0e4bf06c9c681e0884 Mon Sep 17 00:00:00 2001 From: Karl Palsson Date: Wed, 27 Nov 2013 17:06:45 +0000 Subject: [PATCH] [stm32] Add Factory Calibration values where available Add memorymap entries for ST calibration data, the vref internal, and the temp sensor at 30C and 110C for the parts that provide this data. F1 and F2 do not appear to have this anywhere. --- include/libopencm3/stm32/f0/memorymap.h | 5 +++++ include/libopencm3/stm32/f3/memorymap.h | 5 +++++ include/libopencm3/stm32/f4/memorymap.h | 5 +++++ include/libopencm3/stm32/l1/memorymap.h | 5 +++++ 4 files changed, 20 insertions(+) diff --git a/include/libopencm3/stm32/f0/memorymap.h b/include/libopencm3/stm32/f0/memorymap.h index 6bc74ed6..d61c4cde 100644 --- a/include/libopencm3/stm32/f0/memorymap.h +++ b/include/libopencm3/stm32/f0/memorymap.h @@ -99,4 +99,9 @@ #define DESIG_UNIQUE_ID1 MMIO32(DESIG_UNIQUE_ID_BASE + 4) #define DESIG_UNIQUE_ID2 MMIO32(DESIG_UNIQUE_ID_BASE + 8) +/* ST provided factory calibration values @ 3.3V */ +#define ST_VREFINT_CAL MMIO16(0x1FFFF7BA) +#define ST_TSENSE_CAL1_30C MMIO16(0x1FFFF7B8) +#define ST_TSENSE_CAL2_110 MMIO16(0x1FFFF7C2) + #endif diff --git a/include/libopencm3/stm32/f3/memorymap.h b/include/libopencm3/stm32/f3/memorymap.h index f8b7909f..07794952 100644 --- a/include/libopencm3/stm32/f3/memorymap.h +++ b/include/libopencm3/stm32/f3/memorymap.h @@ -121,4 +121,9 @@ #define DESIG_UNIQUE_ID1 MMIO32(DESIG_UNIQUE_ID_BASE + 4) #define DESIG_UNIQUE_ID2 MMIO32(DESIG_UNIQUE_ID_BASE + 8) +/* ST provided factory calibration values @ 3.3V */ +#define ST_VREFINT_CAL MMIO16(0x1FFFF7BA) +#define ST_TSENSE_CAL1_30C MMIO16(0x1FFFF7B8) +#define ST_TSENSE_CAL2_110 MMIO16(0x1FFFF7C2) + #endif diff --git a/include/libopencm3/stm32/f4/memorymap.h b/include/libopencm3/stm32/f4/memorymap.h index 7065ce11..37c57f2f 100644 --- a/include/libopencm3/stm32/f4/memorymap.h +++ b/include/libopencm3/stm32/f4/memorymap.h @@ -139,4 +139,9 @@ #define DESIG_UNIQUE_ID1 MMIO32(DESIG_UNIQUE_ID_BASE + 4) #define DESIG_UNIQUE_ID2 MMIO32(DESIG_UNIQUE_ID_BASE + 8) +/* ST provided factory calibration values @ 3.3V */ +#define ST_VREFINT_CAL MMIO16(0x1FFF7A2A) +#define ST_TSENSE_CAL1_30C MMIO16(0x1FFF7A2C) +#define ST_TSENSE_CAL2_110 MMIO16(0x1FFF7A2E) + #endif diff --git a/include/libopencm3/stm32/l1/memorymap.h b/include/libopencm3/stm32/l1/memorymap.h index 8f0bc239..8b5c8909 100644 --- a/include/libopencm3/stm32/l1/memorymap.h +++ b/include/libopencm3/stm32/l1/memorymap.h @@ -111,6 +111,11 @@ #define DESIG_UNIQUE_ID1 MMIO32(DESIG_UNIQUE_ID_BASE + 4) #define DESIG_UNIQUE_ID2 MMIO32(DESIG_UNIQUE_ID_BASE + 0x14) +/* ST provided factory calibration values @ 3.0V */ +#define ST_VREFINT_CAL MMIO16(0x1FF80078) +#define ST_TSENSE_CAL1_30C MMIO16(0x1FF8007A) +#define ST_TSENSE_CAL2_110C MMIO16(0x1FF8007E) + /* Make the map names match those for other families to allow commonality */ #define SPI1_I2S_BASE SPI1_BASE #define SPI2_I2S_BASE SPI2_BASE