summaryrefslogtreecommitdiff
path: root/arch/arm/mach-stm32
AgeCommit message (Collapse)Author
5 daysARM: stm32: remove stm32f4/f7/h7 MCU supportArnd Bergmann
The stm32 platform started out as a Cortex-M based microcontoller platform in 2007, with a few of the older products gaining Linux kernel support in 2016. These days, the only relevant chips for Linux are the stm32mp1 (Cortex-A7) and stm32mp2 (Cortex-A35) product lines, with the microcontrollers running smaller RTOSs on new products. The microcontrollers were marked as deprecated in the linux-7.3LTS release, which will remain supported for a few more years and is expected to be sufficient for any of the remaining original users. Remove the MCU support now, leaving only the stm32mp SoCs in the platform. Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com> Cc: Alexandre Torgue <alexandre.torgue@foss.st.com> Cc: Rob Herring <robh@kernel.org> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org> Cc: Conor Dooley <conor+dt@kernel.org> Cc: Christophe Parant <c.parant@phytec.fr> Cc: Benjamin Gaignard <benjamin.gaignard@collabora.com> Cc: Dario Binacchi <dario.binacchi@amarulasolutions.com> Cc: devicetree@vger.kernel.org Cc: linux-stm32@st-md-mailman.stormreply.com Acked-by: Alexandre Torgue <alexandre.torgue@foss.st.com> Acked-by: Linus Walleij <linusw@kernel.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://patch.msgid.link/20260914140821.1805449-12-arnd@kernel.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-07-10ARM: mark Cortex-M3/M4/M7 based boards as deprecatedArnd Bergmann
The Cortex-M3/M4/M7 cores were designed as a replacement for the earlier ARM7TDMI and ARM9TDMI microarchitectures used in older microcontrollers. At the moment, Linux can run these cores either when they are integrated into a larger SoC, or as standalone microcontrollers. While there was a lot of development work going into Cortex-M support from 2011 to 2016, this largely stopped when it became clear that Zephyr and other RTOS had taken over that market. To date, the only Cortex-M based based microcontroller boards supported upstream are reference implementations. Schedule these for removal after the next LTS kernel, so if any users remain that want to update their kernels, they can stay on that version for a few years before having to maintain the platform support out of tree. Acked-by: Vladimir Zapolskiy <vz@mleia.com> # NXP LPC18xx/LPC43xx Acked-by: Vladimir Murzin <vladimir.murzin@arm.com> # MPS2 Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> Acked-by: Frank Li <Frank.Li@nxp.com> # i.MX Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-14ARM: stm32: add a new SoC - STM32H747Dario Binacchi
The STM32H747 is a dual-core MCU (Cortex-M7 running up to 480 MHz + Cortex-M4 running up to 240 MHz) containing from 1 to 2 Mbytes of Flash memory and 1 Mbyte of internal RAM. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Link: https://lore.kernel.org/r/20250427074404.3278732-4-dario.binacchi@amarulasolutions.com Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-06-24ARM: stm32: Allow build irq-stm32mp-exti driver as moduleAntonio Borneo
Drop auto-selecting the driver, so it can be built either as a module or built-in. Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20240620083115.204362-8-antonio.borneo@foss.st.com
2024-06-23ARM: stm32: Use different EXTI driver on ARMv7m and ARMv7aAntonio Borneo
Build the proper driver by selecting the appropriate config flag. Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20240620083115.204362-3-antonio.borneo@foss.st.com
2024-04-05firewall: introduce stm32_firewall frameworkGatien Chevallier
Introduce a STM32 firewall framework that offers to firewall consumers different firewall services such as the ability to check their access rights against their firewall controller(s). The STM32 firewall framework offers a generic API for STM32 firewall controllers that is defined in their drivers to best fit the specificity of each firewall. There are various types of firewalls: -Peripheral firewalls that filter accesses to peripherals -Memory firewalls that filter accesses to memories or memory regions -No type for undefined type of firewall Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2023-03-28ARM: stm32: add support for STM32MP151Roan van Dijk
This patch adds initial support of STM32MP151 microprocessor (MPU) based on Arm Cortex-A7. New Cortex-A infrastructure (gic, timer,...) are selected if ARCH_MULTI_V7 is defined. Signed-off-by: David Jander <david@protonic.nl> Signed-off-by: Roan van Dijk <roan@protonic.nl> Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2022-08-18ARM: remove obsolete Makefile.boot infrastructureArnd Bergmann
There are a number of old Makefile.boot files that remain from the multiplatform conversion, and three that are still in use. These provide the "ZRELADDR", "PARAMS_PHYS" and "INITRD_PHYS" values that are platform specific. It turns out that we can generally just derive this from information that is available elsewhere: - ZRELADDR is normally detected at runtime with the CONFIG_AUTO_ZRELADDR flag, but also needed to be passed to for 'make uImage'. In a multiplatform kernel, one always has to pass this as the $(LOADADDR) variable, but in the StrongARM kernels we can derive it from the sum of $(CONFIG_PHYS_OFFSET) and $(TEXT_OFFSET) that are already known. - PARAMS_PHYS and INITRD_PHYS are only used for bootpImage, which in turn is only used for the pre-ATAGS 'param_struct' based boot interface on StrongARM based machines with old boot loaders. They can both be derived from CONFIG_PHYS_OFFSET and a machine specific offset for the initrd, so all of the logic for these can be part of arch/arm/boot/bootp/Makefile. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-09-20ARM: stm32: add initial support for STM32MP13 familyAlexandre Torgue
This patch adds initial support of STM32MP13 microprocessor family based on Arm Cortex-A7. New Cortex-A infrastructure (gic, timer,...) are selected if ARCH_MULTI_V7 is defined. Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com> Acked-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01ARM: stm32: Add a new SoC - STM32H750dillon min
The STM32H750 is a Cortex-M7 MCU running at 480MHz and containing 128KBytes internal flash, 1MiB SRAM. Signed-off-by: dillon min <dillon.minfei@gmail.com> Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2020-10-03ARM: stm32: Replace HTTP links with HTTPS onesAlexander A. Klimov
Rationale: Reduces attack surface on kernel devs opening the links for MITM as HTTPS traffic is much harder to manipulate. Deterministic algorithm: For each file: If not .svg: For each line: If doesn't contain `\bxmlns\b`: For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`: If neither `\bgnu\.org/license`, nor `\bmozilla\.org/MPL\b`: If both the HTTP and HTTPS versions return 200 OK and serve the same content: Replace HTTP with HTTPS. Link: https://lore.kernel.org/r/20200924101113.4528-1-alexandre.torgue@st.com Signed-off-by: Alexander A. Klimov <grandmaster@al2klimov.de> Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2019-07-19Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/socLinus Torvalds
Pull ARM SoC platform updates from Olof Johansson: "SoC platform changes. Main theme this merge window: - The Netx platform (Netx 100/500) platform is removed by Linus Walleij-- the SoC doesn't have active maintainers with hardware, and in discussions with the vendor the agreement was that it's OK to remove. - Russell King has a series of patches that cleans up and refactors SA1101 and RiscPC support" * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (47 commits) ARM: stm32: use "depends on" instead of "if" after prompt ARM: sa1100: convert to common clock framework ARM: exynos: Cleanup cppcheck shifting warning ARM: pxa/lubbock: remove lubbock_set_misc_wr() from global view ARM: exynos: Only build MCPM support if used arm: add missing include platform-data/atmel.h ARM: davinci: Use GPIO lookup table for DA850 LEDs ARM: OMAP2: drop explicit assembler architecture ARM: use arch_extension directive instead of arch argument ARM: imx: Switch imx7d to imx-cpufreq-dt for speed-grading ARM: bcm: Enable PINCTRL for ARCH_BRCMSTB ARM: bcm: Enable ARCH_HAS_RESET_CONTROLLER for ARCH_BRCMSTB ARM: riscpc: enable chained scatterlist support ARM: riscpc: reduce IRQ handling code ARM: riscpc: move RiscPC assembly files from arch/arm/lib to mach-rpc ARM: riscpc: parse video information from tagged list ARM: riscpc: add ecard quirk for Atomwide 3port serial card MAINTAINERS: mvebu: Add git entry soc: ti: pm33xx: Add a print while entering RTC only mode with DDR in self-refresh ARM: OMAP2+: Make some variables static ...
2019-07-15ARM: stm32: use "depends on" instead of "if" after promptMasahiro Yamada
This appeared after the global fixups by commit e32465429490 ("ARM: use "depends on" for SoC configs instead of "if" after prompt"). Fix it now. Link: https://lore.kernel.org/r/20190710051320.8738-1-yamada.masahiro@socionext.com Fixes: e32465429490 ("ARM: use "depends on" for SoC configs instead of "if" after prompt") Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2019-06-21ARM: 8863/1: stm32: select ARM errata 814220Benjamin Gaignard
Make sure that ARM errata 814220 is selected by STM32MP157 SoC Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2019-05-21treewide: Add SPDX license identifier - Makefile/KconfigThomas Gleixner
Add SPDX license identifiers to all Make/Kconfig files which: - Have no license information of any form These files fall under the project license, GPL v2 only. The resulting SPDX license identifier is: GPL-2.0-only Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-04-28ARM: stm32: add AMBA support for stm32 familyLudovic Barre
This patch enables AMBA support for stm32 family. stm32 family embeds different amba pl180 variants. Signed-off-by: Ludovic Barre <ludovic.barre@st.com> Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2018-03-05ARM: stm32: restore reboot capabilitiesBenjamin Gaignard
To be able to reboot the platform we need to use armv7m_restart for STM32 SoCs using ARMv7 cores. Fixes: e0644101bd2f ("ARM: mach-stm32: prepare stm32 family to welcome armv7 architecture) Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com> Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2018-03-05ARM: stm32: Add AMBA support for STM32F4 and STM32F7 SoCsPatrice Chotard
As both STM32F4 and STM32F7 SoCs embeds an AMBA PL180 mmci IP, we need to enable AMBA support in mach-stm32. Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2018-03-05ARM: stm32: add initial support for STM32MP157Ludovic Barre
This patch adds initial support of STM32MP157 microprocessor (MPU) based on Arm Cortex-A7. New Cortex-A infrastructure (gic, timer,...) are selected if ARCH_MULTI_V7 is defined. Signed-off-by: Ludovic Barre <ludovic.barre@st.com> Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2018-03-05ARM: stm32: prepare stm32 family to welcome armv7 architectureLudovic Barre
This patch prepares the STM32 machine for the integration of Cortex-A based microprocessor (MPU), on top of the existing Cortex-M microcontroller family (MCU). Since both MCUs and MPUs are sharing common hardware blocks we can keep using ARCH_STM32 flag for most of them. If a hardware block is specific to one family we can use either ARM_SINGLE_ARMV7M or ARCH_MULTI_V7 flag. Signed-off-by: Ludovic Barre <ludovic.barre@st.com> Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2018-03-05ARM: stm32: Fix copyrightBenjamin Gaignard
Uniformize STMicroelectronics copyrights header Add SPDX identifier Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com> CC: Maxime Coquelin <mcoquelin.stm32@gmail.com> Acked-by: Maxime Coquelin <mcoquelin.stm32@gmail.com> Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2018-03-05ARM: stm32: add new STM32F769 MCUAlexandre Torgue
Add new st,stm32f769 compatible machine name for STM32F769 MCU and update documentation. Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2018-03-05ARM: stm32: Kconfig: introduce MACH_STM32F769 flagAlexandre Torgue
This patch introduces the MACH_STM32F769 to make possible to only select STM32F769 pinctrl driver. By default, all the MACH_STM32Fxxx flags will be set with STM32 defconfig. Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2017-06-18ARM: stm32: Introduce MACH_STM32F469 flagAlexandre TORGUE
This patch introduces the MACH_STM32F469 to make possible to only select STM32F469 pinctrl driver By default, all the MACH_STM32Fxxx flags will be set with STM32 defconfig. Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2017-03-24ARM: stm32: Add a new SOC - STM32H743Alexandre TORGUE
The STM32H743 is a Cortex-M7 MCU running at 400MHz and containing 1MBytes internal RAM. Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
2017-03-24ARM: stm32: Introduce MACH_STM32H743 flagAlexandre TORGUE
This patch introduces the MACH_STM32H743 to make possible to only select STM32H743 pinctrl driver By default, all the MACH_STM32Fxxx flags will be set with STM32 defconfig. Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
2017-03-24ARM: stm32: create dedicated kconfig for STM32 machineAlexandre TORGUE
Create a dedicated Kconfig file in mach-stm32/ and move existing stm32 configs inside. Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
2016-11-15ARM: mach-stm32: Add a new SOC - STM32F746Alexandre TORGUE
Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
2016-02-17ARM: stm32: Identify a new SoC - STM32F469Lee Jones
Signed-off-by: Lee Jones <lee.jones@linaro.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2015-05-15ARM: Add STM32 family machineMaxime Coquelin
STMicrolectronics's STM32 series is a family of Cortex-M microcontrollers. It is used in various applications, and proposes a wide range of peripherals. Tested-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>