You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2021/04/11 08:52:35 UTC
[incubator-nuttx] 03/05: arch/arm/src/stm32: introduce DBGMCU IP
core versions
This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit 021a89569d612b2b9b6399130bbdba2caced696b
Author: raiden00pl <ra...@railab.me>
AuthorDate: Sat Apr 10 20:52:31 2021 +0200
arch/arm/src/stm32: introduce DBGMCU IP core versions
---
arch/arm/src/stm32/Kconfig | 14 ++++++++++++++
arch/arm/src/stm32/hardware/stm32_dbgmcu.h | 8 ++++----
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/arch/arm/src/stm32/Kconfig b/arch/arm/src/stm32/Kconfig
index 9f44dba..dea5190 100644
--- a/arch/arm/src/stm32/Kconfig
+++ b/arch/arm/src/stm32/Kconfig
@@ -1297,6 +1297,7 @@ config STM32_STM32L15XX
select STM32_HAVE_ADC2
select STM32_HAVE_USART3
select STM32_HAVE_RTC_SUBSECONDS if !STM32_LOWDENSITY
+ select STM32_HAVE_IP_DBGMCU_V2
select STM32_HAVE_IP_TIMERS_V1
select STM32_HAVE_IP_ADC_V1
select STM32_HAVE_IP_DMA_V1
@@ -1316,6 +1317,7 @@ config STM32_STM32F10XX
select STM32_HAVE_SPI3 if STM32_HIGHDENSITY || STM32_MEDIUMDENSITY
select STM32_HAVE_RTC_COUNTER
select STM32_HAVE_TIM3
+ select STM32_HAVE_IP_DBGMCU_V1
select STM32_HAVE_IP_TIMERS_V1
select STM32_HAVE_IP_ADC_V1_BASIC
select STM32_HAVE_IP_DMA_V1
@@ -1467,6 +1469,7 @@ config STM32_STM32F20XX
select STM32_HAVE_SPI2
select STM32_HAVE_SPI3
select STM32_HAVE_IOCOMPENSATION
+ select STM32_HAVE_IP_DBGMCU_V2
select STM32_HAVE_IP_TIMERS_V1
select STM32_HAVE_IP_ADC_V1
select STM32_HAVE_IP_DMA_V2
@@ -1497,6 +1500,7 @@ config STM32_STM32F30XX
select STM32_HAVE_TIM16
select STM32_HAVE_TIM17
select STM32_HAVE_TSC
+ select STM32_HAVE_IP_DBGMCU_V2
select STM32_HAVE_IP_TIMERS_V2
select STM32_HAVE_IP_ADC_V2
select STM32_HAVE_IP_DMA_V1
@@ -1546,6 +1550,7 @@ config STM32_STM32F33XX
select STM32_HAVE_DAC1
select STM32_HAVE_DAC2
select STM32_HAVE_USART3
+ select STM32_HAVE_IP_DBGMCU_V2
select STM32_HAVE_IP_TIMERS_V2
select STM32_HAVE_IP_ADC_V2
select STM32_HAVE_IP_DMA_V1
@@ -1592,6 +1597,7 @@ config STM32_STM32F4XXX
select STM32_HAVE_SPI2
select STM32_HAVE_I2C2
select STM32_HAVE_IOCOMPENSATION
+ select STM32_HAVE_IP_DBGMCU_V2
select STM32_HAVE_IP_TIMERS_V1
select STM32_HAVE_IP_ADC_V1
select STM32_HAVE_IP_DMA_V2
@@ -2538,6 +2544,14 @@ config STM32_HAVE_OPAMP6
# These are STM32 peripherals IP blocks
+config STM32_HAVE_IP_DBGMCU_V1
+ bool
+ default n
+
+config STM32_HAVE_IP_DBGMCU_V2
+ bool
+ default n
+
config STM32_HAVE_IP_I2C_V1
bool
default n
diff --git a/arch/arm/src/stm32/hardware/stm32_dbgmcu.h b/arch/arm/src/stm32/hardware/stm32_dbgmcu.h
index 802ebbe..9868388 100644
--- a/arch/arm/src/stm32/hardware/stm32_dbgmcu.h
+++ b/arch/arm/src/stm32/hardware/stm32_dbgmcu.h
@@ -37,9 +37,7 @@
#define STM32_DBGMCU_IDCODE 0xe0042000 /* MCU identifier */
#define STM32_DBGMCU_CR 0xe0042004 /* MCU debug */
-#if defined(CONFIG_STM32_STM32F20XX) || defined(CONFIG_STM32_STM32F30XX) || \
- defined(CONFIG_STM32_STM32F33XX) || defined(CONFIG_STM32_STM32F4XXX) || \
- defined(CONFIG_STM32_STM32L15XX)
+#ifdef CONFIG_STM32_HAVE_IP_DBGMCU_V2
# define STM32_DBGMCU_APB1_FZ 0xe0042008 /* Debug MCU APB1 freeze register */
# define STM32_DBGMCU_APB2_FZ 0xe004200c /* Debug MCU APB2 freeze register */
#endif
@@ -67,7 +65,7 @@
# define DBGMCU_CR_SYNCH2 (2 << DBGMCU_CR_TRACEMODE_SHIFT) /* Synchronous Mode, TRACEDATA size=2 */
# define DBGMCU_CR_SYNCH4 (3 << DBGMCU_CR_TRACEMODE_SHIFT) /* Synchronous Mode, TRACEDATA size=4 */
-#ifdef CONFIG_STM32_STM32F10XX
+#ifdef CONFIG_STM32_HAVE_IP_DBGMCU_V1
# define DBGMCU_CR_IWDGSTOP (1 << 8) /* Bit 8: Independent Watchdog stopped when core is halted */
# define DBGMCU_CR_WWDGSTOP (1 << 9) /* Bit 9: Window Watchdog stopped when core is halted */
# define DBGMCU_CR_TIM1STOP (1 << 10) /* Bit 10: TIM1 stopped when core is halted */
@@ -86,6 +84,7 @@
/* Debug MCU APB1 freeze register */
+#ifdef CONFIG_STM32_HAVE_IP_DBGMCU_V2
#if defined(CONFIG_STM32_STM32F20XX) || defined(CONFIG_STM32_STM32F4XXX)
# define DBGMCU_APB1_TIM2STOP (1 << 0) /* Bit 0: TIM2 stopped when core is halted */
# define DBGMCU_APB1_TIM3STOP (1 << 1) /* Bit 1: TIM3 stopped when core is halted */
@@ -140,6 +139,7 @@
# define DBGMCU_APB2_TIM10STOP (1 << 3) /* Bit 3: TIM10 stopped when core is halted */
# define DBGMCU_APB2_TIM11STOP (1 << 4) /* Bit 4: TIM11 stopped when core is halted */
#endif
+#endif
/****************************************************************************
* Public Types