From 1134edd6ad1d433b1ba42cdcbc90f4989c5a4a0d Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Sun, 29 Mar 2020 21:19:02 +0200 Subject: [PATCH] soc: arm: st_stm32: add support for STM32L422Xb Add support for the STM32L422Xb SoC. Base stm32l422.dtsi on stm32l412.dtsi to be able to add the crypto device later. Signed-off-by: Aurelien Jarno --- dts/arm/st/l4/stm32l412.dtsi | 30 +++++++++++++++++++ dts/arm/st/l4/stm32l422.dtsi | 7 +++++ dts/arm/st/l4/stm32l422Xb.dtsi | 22 ++++++++++++++ .../stm32l4/Kconfig.defconfig.stm32l422xx | 18 +++++++++++ soc/arm/st_stm32/stm32l4/Kconfig.soc | 3 ++ 5 files changed, 80 insertions(+) create mode 100644 dts/arm/st/l4/stm32l412.dtsi create mode 100644 dts/arm/st/l4/stm32l422.dtsi create mode 100644 dts/arm/st/l4/stm32l422Xb.dtsi create mode 100644 soc/arm/st_stm32/stm32l4/Kconfig.defconfig.stm32l422xx diff --git a/dts/arm/st/l4/stm32l412.dtsi b/dts/arm/st/l4/stm32l412.dtsi new file mode 100644 index 00000000000..57fc8189989 --- /dev/null +++ b/dts/arm/st/l4/stm32l412.dtsi @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2020 Aurelien Jarno + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include + +/ { + soc { + usb: usb@40006800 { + compatible = "st,stm32-usb"; + reg = <0x40006800 0x40000>; + interrupts = <67 0>; + interrupt-names = "usb"; + num-bidir-endpoints = <8>; + ram-size = <1024>; + phys = <&usb_fs_phy>; + clocks = <&rcc STM32_CLOCK_BUS_APB1 0x04000000>; + status = "disabled"; + label = "USB"; + }; + }; + + usb_fs_phy: usbphy { + compatible = "usb-nop-xceiv"; + #phy-cells = <0>; + label = "USB_FS_PHY"; + }; +}; diff --git a/dts/arm/st/l4/stm32l422.dtsi b/dts/arm/st/l4/stm32l422.dtsi new file mode 100644 index 00000000000..04cc7771756 --- /dev/null +++ b/dts/arm/st/l4/stm32l422.dtsi @@ -0,0 +1,7 @@ +/* + * Copyright (c) 2020 Aurelien Jarno + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include diff --git a/dts/arm/st/l4/stm32l422Xb.dtsi b/dts/arm/st/l4/stm32l422Xb.dtsi new file mode 100644 index 00000000000..3284865f70d --- /dev/null +++ b/dts/arm/st/l4/stm32l422Xb.dtsi @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2020 Aurelien Jarno + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include + +/ { + sram0: memory@20000000 { + reg = <0x20000000 DT_SIZE_K(40)>; + }; + + soc { + flash-controller@40022000 { + flash0: flash@8000000 { + reg = <0x08000000 DT_SIZE_K(128)>; + }; + }; + }; +}; diff --git a/soc/arm/st_stm32/stm32l4/Kconfig.defconfig.stm32l422xx b/soc/arm/st_stm32/stm32l4/Kconfig.defconfig.stm32l422xx new file mode 100644 index 00000000000..00f9ee2ca26 --- /dev/null +++ b/soc/arm/st_stm32/stm32l4/Kconfig.defconfig.stm32l422xx @@ -0,0 +1,18 @@ +# ST Microelectronics STM32L422XX MCU + +# Copyright (c) 2020 Aurelien Jarno +# SPDX-License-Identifier: Apache-2.0 + +if SOC_STM32L422XX + +config SOC + default "stm32l422xx" + +config NUM_IRQS + default 83 + +config GPIO_STM32_PORTH + default y + depends on GPIO_STM32 + +endif # SOC_STM32L422XX diff --git a/soc/arm/st_stm32/stm32l4/Kconfig.soc b/soc/arm/st_stm32/stm32l4/Kconfig.soc index 3e2da7d03dd..f65843e3dab 100644 --- a/soc/arm/st_stm32/stm32l4/Kconfig.soc +++ b/soc/arm/st_stm32/stm32l4/Kconfig.soc @@ -16,6 +16,9 @@ config SOC_STM32L476XX config SOC_STM32L496XX bool "STM32L496XX" +config SOC_STM32L422XX + bool "STM32L422XX" + config SOC_STM32L432XX bool "STM32L432XX"