[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 1/2] hw/arm: Add minimal support for the STM32L4x5 SoC
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v4 1/2] hw/arm: Add minimal support for the STM32L4x5 SoC |
Date: |
Thu, 4 Jan 2024 13:49:53 +0100 |
User-agent: |
Mozilla Thunderbird |
On 21/12/23 22:32, Inès Varhol wrote:
This patch adds a new STM32L4x5 SoC, it is necessary to add support for
the B-L475E-IOT01A board.
The implementation is derived from the STM32F405 SoC.
The implementation contains no peripherals, only memory regions are
implemented.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
(preferably drop the newline)
Signed-off-by: Arnaud Minier <arnaud.minier@telecom-paris.fr>
Signed-off-by: Inès Varhol <ines.varhol@telecom-paris.fr>
---
MAINTAINERS | 8 +
hw/arm/Kconfig | 5 +
hw/arm/meson.build | 1 +
hw/arm/stm32l4x5_soc.c | 268 +++++++++++++++++++++++++++++++++
include/hw/arm/stm32l4x5_soc.h | 59 ++++++++
5 files changed, 341 insertions(+)
create mode 100644 hw/arm/stm32l4x5_soc.c
create mode 100644 include/hw/arm/stm32l4x5_soc.h
--- /dev/null
+++ b/include/hw/arm/stm32l4x5_soc.h
@@ -0,0 +1,59 @@
+/*
+ * STM32L4x5 SoC family
+ *
+ * Copyright (c) 2023 Arnaud Minier <arnaud.minier@telecom-paris.fr>
+ * Copyright (c) 2023 Inès Varhol <ines.varhol@telecom-paris.fr>
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ * This work is heavily inspired by the stm32f405_soc by Alistair Francis.
+ * Original code is licensed under the MIT License:
+ *
+ * Copyright (c) 2014 Alistair Francis <alistair@alistair23.me>
+ */
+
+/*
+ * The reference used is the STMicroElectronics RM0351 Reference manual
+ * for STM32L4x5 and STM32L4x6 advanced Arm ® -based 32-bit MCUs.
+ *
https://www.st.com/en/microcontrollers-microprocessors/stm32l4x5/documentation.html
+ */
+
+#ifndef HW_ARM_STM32L4x5_SOC_H
+#define HW_ARM_STM32L4x5_SOC_H
+
+#include "exec/memory.h"
+#include "qemu/units.h"
"qemu/units.h" isn't used in this header,
+#include "hw/qdev-core.h"
neither is this one.
+#include "hw/arm/armv7m.h"
+#include "qom/object.h"
+
+#define TYPE_STM32L4X5_SOC "stm32l4x5-soc"
+#define TYPE_STM32L4X5XC_SOC "stm32l4x5xc-soc"
+#define TYPE_STM32L4X5XE_SOC "stm32l4x5xe-soc"
+#define TYPE_STM32L4X5XG_SOC "stm32l4x5xg-soc"
+OBJECT_DECLARE_TYPE(Stm32l4x5SocState, Stm32l4x5SocClass, STM32L4X5_SOC)
+
+struct Stm32l4x5SocState {
+ SysBusDevice parent_obj;
+
+ ARMv7MState armv7m;
+
+ MemoryRegion sram1;
+ MemoryRegion sram2;
+ MemoryRegion flash;
+ MemoryRegion flash_alias;
+
+ Clock *sysclk;
+ Clock *refclk;
+};
+
+struct Stm32l4x5SocClass {
+ SysBusDeviceClass parent_class;
+
+ size_t flash_size;
+};
+
+#endif
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH v4 1/2] hw/arm: Add minimal support for the STM32L4x5 SoC,
Philippe Mathieu-Daudé <=