From f10069907a9838f63033b1106399deea4cd01452 Mon Sep 17 00:00:00 2001
From: Gregory Nutt <gnutt@nuttx.org>
Date: Thu, 24 Oct 2013 08:25:05 -0600
Subject: [PATCH] Add support for the STM32F207ZE chip.  From Martin
 Lederhilger

---
 ChangeLog                     |  4 +++-
 arch/arm/include/stm32/chip.h | 36 +++++++++++++++++++++++++++++++++++
 arch/arm/src/stm32/Kconfig    |  7 ++++++-
 3 files changed, 45 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8ea5aaff71..dd6d021935 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5863,4 +5863,6 @@
 	  Sidrane (2013-10-24).
 	* drivers/wireless/cc3000/cc3000.c:  CC3000 driver update from David
 	  Sidrane (2013-10-24).
-
+	* arch/arm/include/stm32/chip.h and arch/arm/src/stm32/Kconfig:
+	  Add support for the STM32F207ZE chip. From Martin Lederhilger
+	  (2013-10-24).
diff --git a/arch/arm/include/stm32/chip.h b/arch/arm/include/stm32/chip.h
index 13d5683a1d..ba30b31504 100644
--- a/arch/arm/include/stm32/chip.h
+++ b/arch/arm/include/stm32/chip.h
@@ -808,6 +808,42 @@
 #  define STM32_NRNG                     1   /* Random number generator (RNG) */
 #  define STM32_NDCMI                    1   /* Digital camera interface (DCMI) */
 
+#elif defined(CONFIG_ARCH_CHIP_STM32F207ZE)  /* LQFP-144 512Kb FLASH 128Kb SRAM */
+#  undef  CONFIG_STM32_STM32L15XX            /* STM32L151xx and STM32L152xx family */
+#  undef  CONFIG_STM32_ENERGYLITE            /* STM32L EnergyLite vamily */
+#  undef  CONFIG_STM32_STM32F10XX            /* STM32F10xxx family */
+#  undef  CONFIG_STM32_LOWDENSITY            /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 16/32 Kbytes */
+#  undef  CONFIG_STM32_MEDIUMDENSITY         /* STM32F100x, STM32F101x, STM32F102x and STM32F103x w/ 64/128 Kbytes */
+#  undef  CONFIG_STM32_HIGHDENSITY           /* STM32F100x, STM32F101x, and STM32F103x w/ 256/512 Kbytes */
+#  undef  CONFIG_STM32_VALUELINE             /* STM32F100x */
+#  undef  CONFIG_STM32_CONNECTIVITYLINE      /* STM32F105x and STM32F107x */
+#  define CONFIG_STM32_STM32F20XX            /* STM32F205x and STM32F207x */
+#  undef  CONFIG_STM32_STM32F30XX            /* STM32F30xxx family */
+#  undef  CONFIG_STM32_STM32F40XX        1   /* STM32F405xx and STM32407xx */
+#  define STM32_NFSMC                    1   /* FSMC */
+#  define STM32_NATIM                    2   /* Two advanced timers TIM1 and 8 */
+#  define STM32_NGTIM                    4   /* 16-bit general timers TIM3 and 4 with DMA
+                                              * 32-bit general timers TIM2 and 5 with DMA */
+#  define STM32_NGTIMNDMA                6   /* 16-bit general timers TIM9-14 without DMA */
+#  define STM32_NBTIM                    2   /* Two basic timers, TIM6-7 */
+#  define STM32_NDMA                     2   /* DMA1-2 */
+#  define STM32_NSPI                     3   /* SPI1-3 */
+#  define STM32_NI2S                     2   /* I2S1-2 (multiplexed with SPI2-3) */
+#  define STM32_NUSART                   6   /* USART1-3 and 6, UART 4-5 */
+#  define STM32_NI2C                     3   /* I2C1-3 */
+#  define STM32_NCAN                     2   /* CAN1-2 */
+#  define STM32_NSDIO                    1   /* SDIO */
+#  define STM32_NLCD                     0   /* No LCD */
+#  define STM32_NUSBOTG                  1   /* USB OTG FS/HS */
+#  define STM32_NGPIO                    114 /* GPIOA-I */
+#  define STM32_NADC                     3   /* 12-bit ADC1-3, 24 channels */
+#  define STM32_NDAC                     2   /* 12-bit DAC1-2 */
+#  define STM32_NCAPSENSE                0   /* No capacitive sensing channels */
+#  define STM32_NCRC                     1   /* CRC */
+#  define STM32_NETHERNET                1   /* 100/100 Ethernet MAC */
+#  define STM32_NRNG                     1   /* Random number generator (RNG) */
+#  define STM32_NDCMI                    1   /* Digital camera interface (DCMI) */
+
 /* STM23 F3 Family ******************************************************************/
 /* Part Numbering: STM32Fssscfxxx
  *
diff --git a/arch/arm/src/stm32/Kconfig b/arch/arm/src/stm32/Kconfig
index bb0b07b757..b7d99eca2b 100644
--- a/arch/arm/src/stm32/Kconfig
+++ b/arch/arm/src/stm32/Kconfig
@@ -356,6 +356,11 @@ config ARCH_CHIP_STM32F207IG
 	select ARCH_CORTEXM3
 	select STM32_STM32F20XX
 
+config ARCH_CHIP_STM32F207ZE
+        bool "STM32F207ZE"
+        select ARCH_CORTEXM3
+        select STM32_STM32F20XX
+
 config ARCH_CHIP_STM32F302CB
 	bool "STM32F302CB"
 	select ARCH_CORTEXM4
@@ -2337,7 +2342,7 @@ config USART1_RS485_DIR_POLARITY
 	depends on USART1_RS485
 	---help---
 		Polarity of DIR pin for RS-485 on USART1. Set to state on DIR pin which
-		enables TX (0 - low / nTXEN, 1 - high / TXEN).		
+		enables TX (0 - low / nTXEN, 1 - high / TXEN).
 
 config USART1_RXDMA
 	bool "USART1 Rx DMA"
-- 
GitLab