2023-06-02 13:41:30

by Alexandre TORGUE

[permalink] [raw]
Subject: [PATCH v2 00/10] Add STM32MP25 support

I'm pleased to announce extension of the STM32 MPU family with the addition of
the STM32MP25 Armv8 based SoCs.

STM32MP25 family is composed of 4 SoCs defined as following:

-STM32MP251: common part composed of 1*Cortex-A35, common peripherals like
SDMMC, UART, SPI, I2C, PCIe, USB3, parallel and DSI display, 1*ETH ...

-STM32MP253: STM32MP251 + 1*Cortex-A35 (dual CPU), a second ETH, CAN-FD and
LVDS display.

-STM32MP255: STM32MP253 + GPU/AI and video encode/decode.
-STM32MP257: STM32MP255 + ETH TSN switch (2+1 ports).

A second diversity layer exists for security features/ A35 frequency:
-STM32MP25xY, "Y" gives information:
-Y = A means [email protected] + no cryp IP and no secure boot.
-Y = C means [email protected] + cryp IP and secure boot.
-Y = D means [email protected] + no cryp IP and no secure boot.
-Y = F means [email protected] + cryp IP and secure boot.

This series adds the STM32MP257F EV1 board support. This board embeds a
STM32MP257FAI SoC, with 4GB of DDR4, TSN switch (2+1 ports), 2*USB typeA,
1*USB2 typeC, SNOR OctoSPI, mini PCIe, STPMIC2 for power distribution ...

Changes since v1:

-Add Conor "reviewed-by".
-Drop patch[4] of initial series to not define SoC without board in stm32,yaml.
-Add Krzysztof "Acked-by" after reordering enum in st,stm32-syscon.yaml

Thanks
Alex

Alexandre Torgue (9):
dt-bindings: pinctrl: stm32: support for stm32mp257 and additional
packages
pinctrl: stm32: add stm32mp257 pinctrl support
arm64: introduce STM32 family on Armv8 architecture
arm64: dts: st: introduce stm32mp25 SoCs family
arm64: dts: st: introduce stm32mp25 pinctrl files
dt-bindings: stm32: document stm32mp257f-ev1 board
arm64: dts: st: add stm32mp257f-ev1 board support
arm64: defconfig: enable ARCH_STM32 and STM32 serial driver
MAINTAINERS: add entry for ARM/STM32 ARCHITECTURE

Patrick Delaunay (1):
dt-bindings: stm32: add st,stm32mp25-syscfg compatible for syscon

.../bindings/arm/stm32/st,stm32-syscon.yaml | 7 +-
.../devicetree/bindings/arm/stm32/stm32.yaml | 6 +
.../bindings/pinctrl/st,stm32-pinctrl.yaml | 4 +-
MAINTAINERS | 1 +
arch/arm64/Kconfig.platforms | 14 +
arch/arm64/boot/dts/Makefile | 1 +
arch/arm64/boot/dts/st/Makefile | 2 +
arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi | 38 +
arch/arm64/boot/dts/st/stm32mp251.dtsi | 279 ++
arch/arm64/boot/dts/st/stm32mp253.dtsi | 23 +
arch/arm64/boot/dts/st/stm32mp255.dtsi | 9 +
arch/arm64/boot/dts/st/stm32mp257.dtsi | 9 +
arch/arm64/boot/dts/st/stm32mp257f-ev1.dts | 50 +
arch/arm64/boot/dts/st/stm32mp25xc.dtsi | 8 +
arch/arm64/boot/dts/st/stm32mp25xf.dtsi | 8 +
.../boot/dts/st/stm32mp25xxai-pinctrl.dtsi | 83 +
.../boot/dts/st/stm32mp25xxak-pinctrl.dtsi | 71 +
.../boot/dts/st/stm32mp25xxal-pinctrl.dtsi | 71 +
arch/arm64/configs/defconfig | 3 +
drivers/pinctrl/stm32/Kconfig | 6 +
drivers/pinctrl/stm32/Makefile | 1 +
drivers/pinctrl/stm32/pinctrl-stm32.h | 3 +
drivers/pinctrl/stm32/pinctrl-stm32mp257.c | 2581 +++++++++++++++++
include/dt-bindings/pinctrl/stm32-pinfunc.h | 3 +
24 files changed, 3277 insertions(+), 4 deletions(-)
create mode 100644 arch/arm64/boot/dts/st/Makefile
create mode 100644 arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi
create mode 100644 arch/arm64/boot/dts/st/stm32mp251.dtsi
create mode 100644 arch/arm64/boot/dts/st/stm32mp253.dtsi
create mode 100644 arch/arm64/boot/dts/st/stm32mp255.dtsi
create mode 100644 arch/arm64/boot/dts/st/stm32mp257.dtsi
create mode 100644 arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
create mode 100644 arch/arm64/boot/dts/st/stm32mp25xc.dtsi
create mode 100644 arch/arm64/boot/dts/st/stm32mp25xf.dtsi
create mode 100644 arch/arm64/boot/dts/st/stm32mp25xxai-pinctrl.dtsi
create mode 100644 arch/arm64/boot/dts/st/stm32mp25xxak-pinctrl.dtsi
create mode 100644 arch/arm64/boot/dts/st/stm32mp25xxal-pinctrl.dtsi
create mode 100644 drivers/pinctrl/stm32/pinctrl-stm32mp257.c

--
2.17.1



2023-06-02 13:41:53

by Alexandre TORGUE

[permalink] [raw]
Subject: [PATCH v2 03/10] dt-bindings: stm32: add st,stm32mp25-syscfg compatible for syscon

From: Patrick Delaunay <[email protected]>

Add the new syscon compatible for STM32MP25 syscfg = "st,stm32mp25-syscfg".
Reorder enum following ASCII oredering.

Signed-off-by: Patrick Delaunay <[email protected]>
Signed-off-by: Alexandre Torgue <[email protected]>
Acked-by: Krzysztof Kozlowski <[email protected]>

diff --git a/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml b/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml
index ad8e51aa01b0..b63ff591ef8f 100644
--- a/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml
+++ b/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml
@@ -15,12 +15,13 @@ properties:
oneOf:
- items:
- enum:
- - st,stm32mp157-syscfg
- - st,stm32mp151-pwr-mcu
- - st,stm32-syscfg
- st,stm32-power-config
+ - st,stm32-syscfg
- st,stm32-tamp
- st,stm32f4-gcan
+ - st,stm32mp151-pwr-mcu
+ - st,stm32mp157-syscfg
+ - st,stm32mp25-syscfg
- const: syscon
- items:
- const: st,stm32-tamp
--
2.17.1


2023-06-02 13:42:19

by Alexandre TORGUE

[permalink] [raw]
Subject: [PATCH v2 10/10] MAINTAINERS: add entry for ARM/STM32 ARCHITECTURE

STM32 SoCs based on Armv8 have been added to the STM32 family. Those new
SoCs are maintained as legacy STM32 MPU.

Signed-off-by: Alexandre Torgue <[email protected]>

diff --git a/MAINTAINERS b/MAINTAINERS
index 7e0b87d5aa2e..06759396e220 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2849,6 +2849,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32.git stm32-nex
F: arch/arm/boot/dts/stm32*
F: arch/arm/mach-stm32/
F: drivers/clocksource/armv7m_systick.c
+F: arch/arm64/boot/dts/st/
N: stm32
N: stm

--
2.17.1


2023-06-08 15:14:17

by Alexandre TORGUE

[permalink] [raw]
Subject: Re: [PATCH v2 00/10] Add STM32MP25 support

Hi

On 6/2/23 15:28, Alexandre Torgue wrote:
> I'm pleased to announce extension of the STM32 MPU family with the addition of
> the STM32MP25 Armv8 based SoCs.
>
> STM32MP25 family is composed of 4 SoCs defined as following:
>
> -STM32MP251: common part composed of 1*Cortex-A35, common peripherals like
> SDMMC, UART, SPI, I2C, PCIe, USB3, parallel and DSI display, 1*ETH ...
>
> -STM32MP253: STM32MP251 + 1*Cortex-A35 (dual CPU), a second ETH, CAN-FD and
> LVDS display.
>
> -STM32MP255: STM32MP253 + GPU/AI and video encode/decode.
> -STM32MP257: STM32MP255 + ETH TSN switch (2+1 ports).
>
> A second diversity layer exists for security features/ A35 frequency:
> -STM32MP25xY, "Y" gives information:
> -Y = A means [email protected] + no cryp IP and no secure boot.
> -Y = C means [email protected] + cryp IP and secure boot.
> -Y = D means [email protected] + no cryp IP and no secure boot.
> -Y = F means [email protected] + cryp IP and secure boot.
>
> This series adds the STM32MP257F EV1 board support. This board embeds a
> STM32MP257FAI SoC, with 4GB of DDR4, TSN switch (2+1 ports), 2*USB typeA,
> 1*USB2 typeC, SNOR OctoSPI, mini PCIe, STPMIC2 for power distribution ...
>
> Changes since v1:
>
> -Add Conor "reviewed-by".
> -Drop patch[4] of initial series to not define SoC without board in stm32,yaml.
> -Add Krzysztof "Acked-by" after reordering enum in st,stm32-syscon.yaml
>
> Thanks
> Alex
>
> Alexandre Torgue (9):
> dt-bindings: pinctrl: stm32: support for stm32mp257 and additional
> packages
> pinctrl: stm32: add stm32mp257 pinctrl support
> arm64: introduce STM32 family on Armv8 architecture
> arm64: dts: st: introduce stm32mp25 SoCs family
> arm64: dts: st: introduce stm32mp25 pinctrl files
> dt-bindings: stm32: document stm32mp257f-ev1 board
> arm64: dts: st: add stm32mp257f-ev1 board support
> arm64: defconfig: enable ARCH_STM32 and STM32 serial driver
> MAINTAINERS: add entry for ARM/STM32 ARCHITECTURE
>
> Patrick Delaunay (1):
> dt-bindings: stm32: add st,stm32mp25-syscfg compatible for syscon
>

Series applied on stm32-next.

Regards
Alex