From 53e3c310b5e60c7c63a67cde3c38f53bd0ec62e8 Mon Sep 17 00:00:00 2001 From: Markus Fuchs Date: Mon, 13 Jan 2020 17:36:18 +0100 Subject: [PATCH] dts: arm: stm32f4: Add CRYP support for STM32F4xx SoC series Add Cryptographic Accelerator support for STM32F415/417 and STM32F43x devices. Signed-off-by: Markus Fuchs --- dts/arm/st/f4/stm32f415.dtsi | 13 ++++++++++++ dts/arm/st/f4/stm32f417.dtsi | 12 +++++++++++ dts/arm/st/f4/stm32f437.dtsi | 9 ++++++++ dts/bindings/crypto/st,stm32-cryp.yaml | 21 +++++++++++++++++++ .../stm32f4/Kconfig.defconfig.stm32f415xx | 7 +++++++ .../stm32f4/Kconfig.defconfig.stm32f417xx | 7 +++++++ .../stm32f4/Kconfig.defconfig.stm32f437xx | 7 +++++++ 7 files changed, 76 insertions(+) create mode 100644 dts/bindings/crypto/st,stm32-cryp.yaml diff --git a/dts/arm/st/f4/stm32f415.dtsi b/dts/arm/st/f4/stm32f415.dtsi index f8a5662fb78..ab3113fd42d 100644 --- a/dts/arm/st/f4/stm32f415.dtsi +++ b/dts/arm/st/f4/stm32f415.dtsi @@ -5,3 +5,16 @@ */ #include + +/ { + soc { + cryp: cryp@50060000 { + compatible = "st,stm32-cryp"; + reg = <0x50060000 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_AHB2 0x00000010>; + interrupts = <79 0>; + status = "disabled"; + label = "CRYP"; + }; + }; +}; diff --git a/dts/arm/st/f4/stm32f417.dtsi b/dts/arm/st/f4/stm32f417.dtsi index 70e2d95e254..697580d6270 100644 --- a/dts/arm/st/f4/stm32f417.dtsi +++ b/dts/arm/st/f4/stm32f417.dtsi @@ -6,3 +6,15 @@ #include +/ { + soc { + cryp: cryp@50060000 { + compatible = "st,stm32-cryp"; + reg = <0x50060000 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_AHB2 0x00000010>; + interrupts = <79 0>; + status = "disabled"; + label = "CRYP"; + }; + }; +}; diff --git a/dts/arm/st/f4/stm32f437.dtsi b/dts/arm/st/f4/stm32f437.dtsi index f0c4716ab3b..5bf1494fd02 100644 --- a/dts/arm/st/f4/stm32f437.dtsi +++ b/dts/arm/st/f4/stm32f437.dtsi @@ -83,5 +83,14 @@ status = "disabled"; label = "SPI_6"; }; + + cryp: cryp@50060000 { + compatible = "st,stm32-cryp"; + reg = <0x50060000 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_AHB2 0x00000010>; + interrupts = <79 0>; + status = "disabled"; + label = "CRYP"; + }; }; }; diff --git a/dts/bindings/crypto/st,stm32-cryp.yaml b/dts/bindings/crypto/st,stm32-cryp.yaml new file mode 100644 index 00000000000..6308cb77a3c --- /dev/null +++ b/dts/bindings/crypto/st,stm32-cryp.yaml @@ -0,0 +1,21 @@ +# Copyright (c) 2020, Markus Fuchs +# SPDX-License-Identifier: Apache-2.0 + +description: STM32 Cryptographic Accelerator + +compatible: "st,stm32-cryp" + +include: base.yaml + +properties: + reg: + required: true + + label: + required: true + + interrupts: + required: true + + clocks: + required: true diff --git a/soc/arm/st_stm32/stm32f4/Kconfig.defconfig.stm32f415xx b/soc/arm/st_stm32/stm32f4/Kconfig.defconfig.stm32f415xx index 8b9be0ce0d6..ea9cbe32fa8 100644 --- a/soc/arm/st_stm32/stm32f4/Kconfig.defconfig.stm32f415xx +++ b/soc/arm/st_stm32/stm32f4/Kconfig.defconfig.stm32f415xx @@ -11,4 +11,11 @@ config SOC config NUM_IRQS default 82 +if CRYPTO + +config CRYPTO_STM32 + default y + +endif # CRYPTO + endif # SOC_STM32F415XX diff --git a/soc/arm/st_stm32/stm32f4/Kconfig.defconfig.stm32f417xx b/soc/arm/st_stm32/stm32f4/Kconfig.defconfig.stm32f417xx index de0a8ac9129..e1d067fbbdd 100644 --- a/soc/arm/st_stm32/stm32f4/Kconfig.defconfig.stm32f417xx +++ b/soc/arm/st_stm32/stm32f4/Kconfig.defconfig.stm32f417xx @@ -31,4 +31,11 @@ config ENTROPY_STM32_RNG endif # ENTROPY_GENERATOR +if CRYPTO + +config CRYPTO_STM32 + default y + +endif # CRYPTO + endif # SOC_STM32F417XX diff --git a/soc/arm/st_stm32/stm32f4/Kconfig.defconfig.stm32f437xx b/soc/arm/st_stm32/stm32f4/Kconfig.defconfig.stm32f437xx index 41ba9ea25f5..cf26b034f29 100644 --- a/soc/arm/st_stm32/stm32f4/Kconfig.defconfig.stm32f437xx +++ b/soc/arm/st_stm32/stm32f4/Kconfig.defconfig.stm32f437xx @@ -37,4 +37,11 @@ config ENTROPY_STM32_RNG endif # ENTROPY_GENERATOR +if CRYPTO + +config CRYPTO_STM32 + default y + +endif # CRYPTO + endif # SOC_STM32F437XX