STM32 SOC updates for v4.17, round 1.

Highlights:
 ----------
  -Add STM32F769 MCU support
  -Add STM32MP157 MPU support
  -Add AMBA PL180 MMCI support for F4 and F7 MCUs
  -Move STM32 documentation to rst format
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJanSCjAAoJEH+ayWryHnCF4rAP/3pT2Dj8XFR5NLN1eFlSWw5s
 ZgL/Sjhu84vc0zAxnCI/La5emSR+lDOU5mQnQNXVXAyNyPeb/kk+EJuIW+YbZdOB
 Kf2+R5eru8ucgv9SmA164mY707wBav5xhbT51QKnSDOLmIRQdwUr23llr1zeDNmq
 77YfttkmqY8OBWx+xVcxQu7550sGT04GAXgOVvr5EtPCcHMz8o5Ky8v65XN7ZlmM
 HtUr48k37Ni+m30l1YoSAmjaryohsHvLKYgn+yk+kZHLl7I+8IoCAmjigDn2ZAub
 m62Pod1BogGjZkVhiFi1AiYC4vlkJLhDfPGZtY3ABTKHIliIaoExPsPQFC4Qvv92
 /ctANJAqzRWVm/Zusmy/MvlHhW1Km+/JvMHzv2Ht4BL6/P0/mQn/2GeXICk3w33F
 4MTCJEIzKKfsKLYt3xgX5+5FpvmUbrjGQHAy3UQ+7yHlEyFfUwWWJcOcrqE6fu9v
 uAcRp9sx8osWZV2LIQegyD1GWXZs/gWHFiL1uEN0DkX7Ms2kQCHU8p/q9zlCOTOZ
 Vhq9oYyPQv0neXb6Xb0LPH39oImIcbdwKNq3Buh6lyIfKo6Y5bZRrtZ/zjVpChKZ
 ipM+ew4Me5QbuSzLlflS6akL0roul1PfW9RbeUnuOKucvv8NDMxEDIUgNa7wnO2b
 QezaZAUunM1Ch+AMaP1r
 =HDCw
 -----END PGP SIGNATURE-----

Merge tag 'stm32-soc-for-v4.17-1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into next/soc

Pull "STM32 SOC updates for v4.17, round 1." from Alexandre Torgue:

Highlights:
----------
 -Add STM32F769 MCU support
 -Add STM32MP157 MPU support
 -Add AMBA PL180 MMCI support for F4 and F7 MCUs
 -Move STM32 documentation to rst format

* tag 'stm32-soc-for-v4.17-1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32:
  ARM: stm32: restore reboot capabilities
  ARM: stm32: Add AMBA support for STM32F4 and STM32F7 SoCs
  ARM: stm32: add initial support for STM32MP157
  ARM: stm32: prepare stm32 family to welcome armv7 architecture
  Documentation: arm: stm32: move to rst format
  ARM: stm32: Fix copyright
  ARM: stm32: add new STM32F769 MCU
  ARM: stm32: Kconfig: introduce MACH_STM32F769 flag
This commit is contained in:
Arnd Bergmann 2018-03-07 16:10:02 +01:00
commit f74ee9b1ab
12 changed files with 224 additions and 133 deletions

View File

@ -0,0 +1,34 @@
========================
STM32 ARM Linux Overview
========================
Introduction
------------
The STMicroelectronics STM32 family of Cortex-A microprocessors (MPUs) and
Cortex-M microcontrollers (MCUs) are supported by the 'STM32' platform of
ARM Linux.
Configuration
-------------
For MCUs, use the provided default configuration:
make stm32_defconfig
For MPUs, use multi_v7 configuration:
make multi_v7_defconfig
Layout
------
All the files for multiple machine families are located in the platform code
contained in arch/arm/mach-stm32
There is a generic board board-dt.c in the mach folder which support
Flattened Device Tree, which means, it works with any compatible board with
Device Trees.
:Authors:
- Maxime Coquelin <mcoquelin.stm32@gmail.com>
- Ludovic Barre <ludovic.barre@st.com>
- Gerald Baeza <gerald.baeza@st.com>

View File

@ -1,33 +0,0 @@
STM32 ARM Linux Overview
========================
Introduction
------------
The STMicroelectronics family of Cortex-M based MCUs are supported by the
'STM32' platform of ARM Linux. Currently only the STM32F429 (Cortex-M4)
and STM32F746 (Cortex-M7) are supported.
Configuration
-------------
A generic configuration is provided for STM32 family, and can be used as the
default by
make stm32_defconfig
Layout
------
All the files for multiple machine families are located in the platform code
contained in arch/arm/mach-stm32
There is a generic board board-dt.c in the mach folder which support
Flattened Device Tree, which means, it works with any compatible board with
Device Trees.
Document Author
---------------
Maxime Coquelin <mcoquelin.stm32@gmail.com>

View File

@ -0,0 +1,26 @@
STM32F429 Overview
==================
Introduction
------------
The STM32F429 is a Cortex-M4 MCU aimed at various applications.
It features:
- ARM Cortex-M4 up to 180MHz with FPU
- 2MB internal Flash Memory
- External memory support through FMC controller (PSRAM, SDRAM, NOR, NAND)
- I2C, SPI, SAI, CAN, USB OTG, Ethernet controllers
- LCD controller & Camera interface
- Cryptographic processor
Resources
---------
Datasheet and reference manual are publicly available on ST website (STM32F429_).
.. _STM32F429: http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577/LN1806?ecmp=stm32f429-439_pron_pr-ces2014_nov2013
:Authors:
Maxime Coquelin <mcoquelin.stm32@gmail.com>

View File

@ -1,22 +0,0 @@
STM32F429 Overview
==================
Introduction
------------
The STM32F429 is a Cortex-M4 MCU aimed at various applications.
It features:
- ARM Cortex-M4 up to 180MHz with FPU
- 2MB internal Flash Memory
- External memory support through FMC controller (PSRAM, SDRAM, NOR, NAND)
- I2C, SPI, SAI, CAN, USB OTG, Ethernet controllers
- LCD controller & Camera interface
- Cryptographic processor
Resources
---------
Datasheet and reference manual are publicly available on ST website:
- http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577/LN1806?ecmp=stm32f429-439_pron_pr-ces2014_nov2013
Document Author
---------------
Maxime Coquelin <mcoquelin.stm32@gmail.com>

View File

@ -0,0 +1,33 @@
STM32F746 Overview
==================
Introduction
------------
The STM32F746 is a Cortex-M7 MCU aimed at various applications.
It features:
- Cortex-M7 core running up to @216MHz
- 1MB internal flash, 320KBytes internal RAM (+4KB of backup SRAM)
- FMC controller to connect SDRAM, NOR and NAND memories
- Dual mode QSPI
- SD/MMC/SDIO support
- Ethernet controller
- USB OTFG FS & HS controllers
- I2C, SPI, CAN busses support
- Several 16 & 32 bits general purpose timers
- Serial Audio interface
- LCD controller
- HDMI-CEC
- SPDIFRX
Resources
---------
Datasheet and reference manual are publicly available on ST website (STM32F746_).
.. _STM32F746: http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32f7-series/stm32f7x6/stm32f746ng.html
:Authors:
Alexandre Torgue <alexandre.torgue@st.com>

View File

@ -1,34 +0,0 @@
STM32F746 Overview
==================
Introduction
------------
The STM32F746 is a Cortex-M7 MCU aimed at various applications.
It features:
- Cortex-M7 core running up to @216MHz
- 1MB internal flash, 320KBytes internal RAM (+4KB of backup SRAM)
- FMC controller to connect SDRAM, NOR and NAND memories
- Dual mode QSPI
- SD/MMC/SDIO support
- Ethernet controller
- USB OTFG FS & HS controllers
- I2C, SPI, CAN busses support
- Several 16 & 32 bits general purpose timers
- Serial Audio interface
- LCD controller
- HDMI-CEC
- SPDIFRX
Resources
---------
Datasheet and reference manual are publicly available on ST website:
- http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32f7-series/stm32f7x6/stm32f746ng.html
Document Author
---------------
Alexandre Torgue <alexandre.torgue@st.com>

View File

@ -0,0 +1,35 @@
STM32F769 Overview
==================
Introduction
------------
The STM32F769 is a Cortex-M7 MCU aimed at various applications.
It features:
- Cortex-M7 core running up to @216MHz
- 2MB internal flash, 512KBytes internal RAM (+4KB of backup SRAM)
- FMC controller to connect SDRAM, NOR and NAND memories
- Dual mode QSPI
- SD/MMC/SDIO support*2
- Ethernet controller
- USB OTFG FS & HS controllers
- I2C*4, SPI*6, CAN*3 busses support
- Several 16 & 32 bits general purpose timers
- Serial Audio interface*2
- LCD controller
- HDMI-CEC
- DSI
- SPDIFRX
- MDIO salave interface
Resources
---------
Datasheet and reference manual are publicly available on ST website (STM32F769_).
.. _STM32F769: http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32-high-performance-mcus/stm32f7-series/stm32f7x9/stm32f769ni.html
:Authors:
Alexandre Torgue <alexandre.torgue@st.com>

View File

@ -0,0 +1,34 @@
STM32H743 Overview
==================
Introduction
------------
The STM32H743 is a Cortex-M7 MCU aimed at various applications.
It features:
- Cortex-M7 core running up to @400MHz
- 2MB internal flash, 1MBytes internal RAM
- FMC controller to connect SDRAM, NOR and NAND memories
- Dual mode QSPI
- SD/MMC/SDIO support
- Ethernet controller
- USB OTFG FS & HS controllers
- I2C, SPI, CAN busses support
- Several 16 & 32 bits general purpose timers
- Serial Audio interface
- LCD controller
- HDMI-CEC
- SPDIFRX
- DFSDM
Resources
---------
Datasheet and reference manual are publicly available on ST website (STM32H743_).
.. _STM32H743: http://www.st.com/en/microcontrollers/stm32h7x3.html?querycriteria=productId=LN2033
:Authors:
Alexandre Torgue <alexandre.torgue@st.com>

View File

@ -1,30 +0,0 @@
STM32H743 Overview
==================
Introduction
------------
The STM32H743 is a Cortex-M7 MCU aimed at various applications.
It features:
- Cortex-M7 core running up to @400MHz
- 2MB internal flash, 1MBytes internal RAM
- FMC controller to connect SDRAM, NOR and NAND memories
- Dual mode QSPI
- SD/MMC/SDIO support
- Ethernet controller
- USB OTFG FS & HS controllers
- I2C, SPI, CAN busses support
- Several 16 & 32 bits general purpose timers
- Serial Audio interface
- LCD controller
- HDMI-CEC
- SPDIFRX
- DFSDM
Resources
---------
Datasheet and reference manual are publicly available on ST website:
- http://www.st.com/en/microcontrollers/stm32h7x3.html?querycriteria=productId=LN2033
Document Author
---------------
Alexandre Torgue <alexandre.torgue@st.com>

View File

@ -0,0 +1,19 @@
STM32MP157 Overview
===================
Introduction
------------
The STM32MP157 is a Cortex-A MPU aimed at various applications.
It features:
- Dual core Cortex-A7 application core
- 2D/3D image composition with GPU
- Standard memories interface support
- Standard connectivity, widely inherited from the STM32 MCU family
- Comprehensive security support
:Authors:
- Ludovic Barre <ludovic.barre@st.com>
- Gerald Baeza <gerald.baeza@st.com>

View File

@ -1,8 +1,10 @@
config ARCH_STM32
bool "STMicrolectronics STM32"
depends on ARM_SINGLE_ARMV7M
menuconfig ARCH_STM32
bool "STMicroelectronics STM32 family" if ARM_SINGLE_ARMV7M || ARCH_MULTI_V7
select ARMV7M_SYSTICK if ARM_SINGLE_ARMV7M
select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
select ARM_GIC if ARCH_MULTI_V7
select ARM_PSCI if ARCH_MULTI_V7
select ARCH_HAS_RESET_CONTROLLER
select ARMV7M_SYSTICK
select CLKSRC_STM32
select PINCTRL
select RESET_CONTROLLER
@ -10,22 +12,42 @@ config ARCH_STM32
help
Support for STMicroelectronics STM32 processors.
if ARCH_STM32
if ARM_SINGLE_ARMV7M
config MACH_STM32F429
bool "STMicrolectronics STM32F429"
depends on ARCH_STM32
bool "STMicroelectronics STM32F429"
select ARM_AMBA
default y
config MACH_STM32F469
bool "STMicrolectronics STM32F469"
depends on ARCH_STM32
bool "STMicroelectronics STM32F469"
select ARM_AMBA
default y
config MACH_STM32F746
bool "STMicrolectronics STM32F746"
depends on ARCH_STM32
bool "STMicroelectronics STM32F746"
select ARM_AMBA
default y
config MACH_STM32F769
bool "STMicroelectronics STM32F769"
select ARM_AMBA
default y
config MACH_STM32H743
bool "STMicrolectronics STM32H743"
depends on ARCH_STM32
bool "STMicroelectronics STM32H743"
default y
endif # ARMv7-M
if ARCH_MULTI_V7
config MACH_STM32MP157
bool "STMicroelectronics STM32MP157"
default y
endif # ARMv7-A
endif

View File

@ -1,22 +1,29 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (C) Maxime Coquelin 2015
* Copyright (C) STMicroelectronics 2017
* Author: Maxime Coquelin <mcoquelin.stm32@gmail.com>
* License terms: GNU General Public License (GPL), version 2
*/
#include <linux/kernel.h>
#include <asm/v7m.h>
#include <asm/mach/arch.h>
#ifdef CONFIG_ARM_SINGLE_ARMV7M
#include <asm/v7m.h>
#endif
static const char *const stm32_compat[] __initconst = {
"st,stm32f429",
"st,stm32f469",
"st,stm32f746",
"st,stm32f769",
"st,stm32h743",
"st,stm32mp157",
NULL
};
DT_MACHINE_START(STM32DT, "STM32 (Device Tree Support)")
.dt_compat = stm32_compat,
#ifdef CONFIG_ARM_SINGLE_ARMV7M
.restart = armv7m_restart,
#endif
MACHINE_END