This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 6d6bcbfcbaa3c0073551ddc9b90fed2aaf78c178
Author: raiden00pl <[email protected]>
AuthorDate: Mon May 25 22:43:32 2026 +0200

    !arch/stm32f0l0g0: move stm32g0 to its own directory
    
    BREAKING CHANGE:
    
    Part of splitting the legacy stm32 super-directory; relocates
    the stm32g0 sources, headers and boards into arch/arm/src/stm32g0,
    arch/arm/include/stm32g0 and boards/arm/stm32g0.
    
    Signed-off-by: raiden00pl <[email protected]>
---
 arch/arm/include/stm32g0/chip.h                    | 166 ++++++++
 .../{stm32f0l0g0/stm32g0_irq.h => stm32g0/irq.h}   |  76 ++--
 .../src => arch/arm/src/stm32g0}/CMakeLists.txt    |  19 +-
 arch/arm/src/stm32g0/Kconfig                       | 434 +++++++++++++++++++++
 .../src => arch/arm/src/stm32g0}/Make.defs         |  22 +-
 arch/arm/src/stm32g0/chip.h                        |  44 +++
 arch/arm/src/stm32g0/hardware/stm32_memorymap.h    |  17 +
 arch/arm/src/stm32g0/hardware/stm32_pinmap.h       |  17 +
 .../hardware/stm32g0_dmamux.h                      |   8 +-
 .../hardware/stm32g0_exti.h                        |   8 +-
 .../hardware/stm32g0_flash.h                       |   8 +-
 .../hardware/stm32g0_memorymap.h                   |   8 +-
 .../hardware/stm32g0_pinmap.h                      |   8 +-
 .../hardware/stm32g0_pwr.h                         |   8 +-
 .../hardware/stm32g0_rcc.h                         |   8 +-
 .../hardware/stm32g0_syscfg.h                      |   8 +-
 .../arm/src/stm32g0/stm32.h                        |  65 +--
 arch/arm/src/stm32g0/stm32_rcc.c                   | 220 +++++++++++
 .../arm/src/{stm32f0l0g0 => stm32g0}/stm32g0_rcc.c |   2 +-
 .../src => stm32g0/common}/CMakeLists.txt          |  18 +-
 .../nucleo-g070rb => stm32g0/common}/Kconfig       |   4 +-
 .../src/Make.defs => stm32g0/common/Makefile}      |  39 +-
 .../src => stm32g0/nucleo-g070rb}/CMakeLists.txt   |  18 +-
 .../{stm32f0l0g0 => stm32g0}/nucleo-g070rb/Kconfig |   0
 .../nucleo-g070rb/configs/nsh/defconfig            |   2 +-
 .../nucleo-g070rb/include/board.h                  |   2 +-
 .../nucleo-g070rb}/scripts/Make.defs               |   2 +-
 .../nucleo-g070rb/scripts/ld.script                |   2 +-
 .../nucleo-g070rb/src/CMakeLists.txt               |   2 +-
 .../nucleo-g070rb/src/Make.defs                    |   2 +-
 .../nucleo-g070rb/src/nucleo-g070rb.h              |   2 +-
 .../nucleo-g070rb/src/stm32_autoleds.c             |   2 +-
 .../nucleo-g070rb/src/stm32_boot.c                 |   2 +-
 .../nucleo-g070rb/src/stm32_bringup.c              |   2 +-
 .../nucleo-g070rb/src/stm32_buttons.c              |   2 +-
 .../nucleo-g070rb/src/stm32_gpio.c                 |   2 +-
 .../nucleo-g070rb/src/stm32_pwm.c                  |   2 +-
 .../nucleo-g070rb/src/stm32_timer.c                |   2 +-
 .../src => stm32g0/nucleo-g071rb}/CMakeLists.txt   |  18 +-
 .../{stm32f0l0g0 => stm32g0}/nucleo-g071rb/Kconfig |   0
 .../nucleo-g071rb/configs/nsh/defconfig            |   2 +-
 .../nucleo-g071rb/include/board.h                  |   2 +-
 .../nucleo-g071rb}/scripts/Make.defs               |   2 +-
 .../nucleo-g071rb/scripts/ld.script                |   2 +-
 .../nucleo-g071rb/src/CMakeLists.txt               |   2 +-
 .../nucleo-g071rb/src/Make.defs                    |   2 +-
 .../nucleo-g071rb/src/nucleo-g071rb.h              |   2 +-
 .../nucleo-g071rb/src/stm32_autoleds.c             |   2 +-
 .../nucleo-g071rb/src/stm32_boot.c                 |   2 +-
 .../nucleo-g071rb/src/stm32_bringup.c              |   2 +-
 .../nucleo-g071rb/src/stm32_buttons.c              |   2 +-
 .../src => stm32g0/nucleo-g0b1re}/CMakeLists.txt   |  18 +-
 .../{stm32f0l0g0 => stm32g0}/nucleo-g0b1re/Kconfig |   0
 .../nucleo-g0b1re/configs/adc/defconfig            |   2 +-
 .../nucleo-g0b1re/configs/adc_dma/defconfig        |   2 +-
 .../nucleo-g0b1re/configs/nsh/defconfig            |   2 +-
 .../nucleo-g0b1re/include/board.h                  |   2 +-
 .../nucleo-g0b1re}/scripts/Make.defs               |   2 +-
 .../nucleo-g0b1re/scripts/ld.script                |   2 +-
 .../nucleo-g0b1re/src/CMakeLists.txt               |   2 +-
 .../nucleo-g0b1re/src/Make.defs                    |   2 +-
 .../nucleo-g0b1re/src/nucleo-g0b1re.h              |   2 +-
 .../nucleo-g0b1re/src/stm32_adc.c                  |   2 +-
 .../nucleo-g0b1re/src/stm32_autoleds.c             |   2 +-
 .../nucleo-g0b1re/src/stm32_boot.c                 |   2 +-
 .../nucleo-g0b1re/src/stm32_bringup.c              |   2 +-
 .../nucleo-g0b1re/src/stm32_buttons.c              |   2 +-
 .../stm32g071b-disco}/CMakeLists.txt               |  18 +-
 .../stm32g071b-disco/Kconfig                       |   0
 .../stm32g071b-disco/configs/nsh/defconfig         |   2 +-
 .../stm32g071b-disco/configs/oled/defconfig        |   2 +-
 .../stm32g071b-disco/include/board.h               |   2 +-
 .../stm32g071b-disco}/scripts/Make.defs            |   2 +-
 .../stm32g071b-disco/scripts/ld.script             |   2 +-
 .../stm32g071b-disco/src/CMakeLists.txt            |   2 +-
 .../stm32g071b-disco/src/Make.defs                 |   2 +-
 .../stm32g071b-disco/src/stm32_boot.c              |   2 +-
 .../stm32g071b-disco/src/stm32_bringup.c           |   2 +-
 .../stm32g071b-disco/src/stm32_djoystick.c         |   2 +-
 .../stm32g071b-disco/src/stm32_gpio.c              |   2 +-
 .../stm32g071b-disco/src/stm32_ina226.c            |   2 +-
 .../stm32g071b-disco/src/stm32_lcd_ssd1306.c       |   2 +-
 .../stm32g071b-disco/src/stm32_spi.c               |   2 +-
 .../stm32g071b-disco/src/stm32_userleds.c          |   2 +-
 .../stm32g071b-disco/src/stm32g071b-disco.h        |   2 +-
 85 files changed, 1076 insertions(+), 313 deletions(-)

diff --git a/arch/arm/include/stm32g0/chip.h b/arch/arm/include/stm32g0/chip.h
new file mode 100644
index 00000000000..4c92e149ced
--- /dev/null
+++ b/arch/arm/include/stm32g0/chip.h
@@ -0,0 +1,166 @@
+/****************************************************************************
+ * arch/arm/include/stm32g0/chip.h
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __ARCH_ARM_INCLUDE_STM32G0_CHIP_H
+#define __ARCH_ARM_INCLUDE_STM32G0_CHIP_H
+
+#define ARMV6M_PERIPHERAL_INTERRUPTS 32
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+/****************************************************************************
+ * Pre-processor Prototypes
+ ****************************************************************************/
+
+/* Get customizations for each supported chip */
+
+#if defined(CONFIG_ARCH_CHIP_STM32G070KB) || 
defined(CONFIG_ARCH_CHIP_STM32G070CB) || \
+      defined(CONFIG_ARCH_CHIP_STM32G070RB)
+
+#  define STM32_FLASH_SIZE     (128 * 1024) /* 128Kb */
+#  define STM32_SRAM_SIZE      (32 * 1024)  /* 32Kb */
+
+#  define STM32_NATIM           1  /* One advanced timer TIM1 */
+#  define STM32_NGTIM16         5  /* 16-bit general up/down timers TIM3,
+                                    * TIM14-17 */
+#  define STM32_NGTIM32         0  /* No 32-bit general up/down timers */
+#  define STM32_NBTIM           2  /* Two basic timers: TIM6, TIM7 */
+#  define STM32_NSPI            2  /* Two SPI modules SPI1-2 */
+#  define STM32_NI2S            1  /* One I2S module (SPI or I2S) */
+#  define STM32_NI2C            2  /* Two I2C (1 with SMBus/PMBus) */
+#  define STM32_NDMA            1  /* One DMA1, 7-channels */
+#  define STM32_NUSART          4  /* Four USART modules, USART1-4 */
+#  define STM32_NCAN            0  /* No CAN controllers */
+#  define STM32_NLCD            0  /* No LCD */
+#  define STM32_NUSBDEV         0  /* No USB full-speed device controller */
+#  define STM32_NUSBOTG         0  /* No USB OTG */
+#  define STM32_NCEC            0  /* One HDMI-CEC controller */
+#  define STM32_NADC            1  /* (1) ADC1, 16-channels */
+
+#  define STM32_NDAC            0  /* No DAC */
+#  define STM32_NCOMP           0  /* No Analog Comparators */
+#  define STM32_NCRC            1  /* No CRC module */
+#  define STM32_NRNG            0  /* No Random number generator (RNG) */
+#  define STM32_NCAP            0  /* No Capacitive sensing channels */
+#  define STM32_NPORTS          6  /* Six GPIO ports, GPIOA-F */
+
+#elif defined(CONFIG_ARCH_CHIP_STM32G071EB)   || 
defined(CONFIG_ARCH_CHIP_STM32G071G8)   || \
+      defined(CONFIG_ARCH_CHIP_STM32G071GB)   || 
defined(CONFIG_ARCH_CHIP_STM32G071G8XN) || \
+      defined(CONFIG_ARCH_CHIP_STM32G071GBXN) || 
defined(CONFIG_ARCH_CHIP_STM32G071K8)   || \
+      defined(CONFIG_ARCH_CHIP_STM32G071KB)   || 
defined(CONFIG_ARCH_CHIP_STM32G071K8XN) || \
+      defined(CONFIG_ARCH_CHIP_STM32G071KBXN) || 
defined(CONFIG_ARCH_CHIP_STM32G071C8)   || \
+      defined(CONFIG_ARCH_CHIP_STM32G071CB)   || 
defined(CONFIG_ARCH_CHIP_STM32G071R8)   || \
+      defined(CONFIG_ARCH_CHIP_STM32G071RB)
+
+#  define STM32_NATIM           1  /* One advanced timer TIM1 */
+#  define STM32_NGTIM16         4  /* 16-bit general up/down timers TIM2-3
+                                    * (with DMA) and TIM21-22 without DMA */
+#  define STM32_NGTIM32         0  /* No 32-bit general up/down timers */
+#  define STM32_NBTIM           2  /* Two basic timers: TIM6, TIM7 with DMA */
+                                   /* Two LPTIMER */
+#  define STM32_NSPI            2  /* Two SPI modules SPI1-2 */
+#  define STM32_NI2C            2  /* Two I2C (2 with SMBus/PMBus) */
+#  define STM32_NDMA            1  /* One DMA1, 7-channels */
+#  define STM32_NUSART          4  /* Four USART modules, USART1-4 */
+                                   /* One LPUART */
+#  define STM32_NCAN            0  /* No CAN controllers */
+#  define STM32_NLCD            0  /* No LCD */
+#  define STM32_NUSBDEV         0  /* No USB full-speed device controller */
+#  define STM32_NUSBOTG         0  /* No USB OTG */
+#  define STM32_NCEC            1  /* One HDMI-CEC controller */
+#  define STM32_NADC            1  /* (1) ADC1, 12-channels */
+
+#  define STM32_NDAC            2  /* Two DAC channels */
+#  define STM32_NCOMP           2  /* Two Analog Comparators */
+#  define STM32_NCRC            0  /* No CRC module */
+#  define STM32_NRNG            0  /* No Random number generator (RNG) */
+#  define STM32_NCAP            0  /* No Capacitive sensing channels */
+#  define STM32_NPORTS          6  /* Six GPIO ports, GPIOA-F */
+
+#elif defined(CONFIG_ARCH_CHIP_STM32G0B1KB) || 
defined(CONFIG_ARCH_CHIP_STM32G0B1CB) || \
+      defined(CONFIG_ARCH_CHIP_STM32G0B1RB) || 
defined(CONFIG_ARCH_CHIP_STM32G0B1MB) || \
+      defined(CONFIG_ARCH_CHIP_STM32G0B1VB) || 
defined(CONFIG_ARCH_CHIP_STM32G0B1KC) || \
+      defined(CONFIG_ARCH_CHIP_STM32G0B1CC) || 
defined(CONFIG_ARCH_CHIP_STM32G0B1RC) || \
+      defined(CONFIG_ARCH_CHIP_STM32G0B1MC) || 
defined(CONFIG_ARCH_CHIP_STM32G0B1VC) || \
+      defined(CONFIG_ARCH_CHIP_STM32G0B1KE) || 
defined(CONFIG_ARCH_CHIP_STM32G0B1CE) || \
+      defined(CONFIG_ARCH_CHIP_STM32G0B1RE) || 
defined(CONFIG_ARCH_CHIP_STM32G0B1NE) || \
+      defined(CONFIG_ARCH_CHIP_STM32G0B1ME) || 
defined(CONFIG_ARCH_CHIP_STM32G0B1VE)
+
+#  define STM32_NATIM           1  /* One advanced timer TIM1 */
+#  define STM32_NGTIM16         6  /* 16-bit general purpose timers */
+#  define STM32_NGTIM32         1  /* TIM2 */
+#  define STM32_NBTIM           2  /* Two basic timers: TIM6, TIM7 with DMA */
+                                   /* One LPTIMER */
+#  define STM32_NSPI            3  /* Two SPI modules SPI1-2 */
+#  define STM32_NI2C            3  /* Two I2C (2 with SMBus/PMBus) */
+#  define STM32_NDMA            2  /* DMA1 7-channels, DMA2 5-channels DMA1 */
+#  define STM32_NUSART          6  /* Six USART modules, USART1-6 */
+                                   /* Two LPUART */
+#  define STM32_NCAN            1  /* One FDCAN controller */
+#  define STM32_NLCD            0  /* No LCD */
+#  define STM32_NUSBDEV         1  /* One USB full-speed controller */
+#  define STM32_NUSBOTG         0  /* No USB OTG */
+#  define STM32_NCEC            1  /* One HDMI-CEC controller */
+#  define STM32_NADC            1  /* (1) ADC1, 12-channels */
+
+#  define STM32_NDAC            2  /* Two DAC channels */
+#  define STM32_NCOMP           3  /* Three Analog Comparators */
+#  define STM32_NCRC            0  /* No CRC module */
+#  define STM32_NRNG            1  /* One Random number generator (RNG) */
+#  define STM32_NCAP            0  /* No Capacitive sensing channels */
+#  define STM32_NPORTS          6  /* Six GPIO ports, GPIOA-F */
+
+/* STM32L EnergyLite Line ***************************************************/
+
+/* STM32L073XX  - With LCD
+ * STM32L072XX  - No LCD
+ * STM32L071XX  - Access line, no LCD
+ *
+ * STM32L0XXX8 - 64KB FLASH, 20KB SRAM, 3KB EEPROM
+ * STM32L0XXXB - 128KB FLASH, 20KB SRAM, 6KB EEPROM
+ * STM32L0XXXZ - 192KB FLASH, 20KB SRAM, 3KB EEPROM
+ *
+ * STM32L0XXCX - 48-pins
+ * STM32L0XXRX - 64-pins
+ * STM32L0XXVX - 100-pins
+ */
+
+#endif
+
+/* NVIC priority levels *****************************************************/
+
+/* Each priority field holds a priority value, 0-31. The lower the value,
+ * the greater the priority of the corresponding interrupt.  The processor
+ * implements only bits[7:6] of each field, bits[5:0] read as zero and
+ * ignore writes.
+ */
+
+#define NVIC_SYSH_PRIORITY_MIN     0xc0 /* All bits[7:6] set is minimum 
priority */
+#define NVIC_SYSH_PRIORITY_DEFAULT 0x80 /* Midpoint is the default */
+#define NVIC_SYSH_PRIORITY_MAX     0x00 /* Zero is maximum priority */
+#define NVIC_SYSH_PRIORITY_STEP    0x40 /* Two bits of interrupt priority used 
*/
+
+#endif /* __ARCH_ARM_INCLUDE_STM32G0_CHIP_H */
diff --git a/arch/arm/include/stm32f0l0g0/stm32g0_irq.h 
b/arch/arm/include/stm32g0/irq.h
similarity index 85%
rename from arch/arm/include/stm32f0l0g0/stm32g0_irq.h
rename to arch/arm/include/stm32g0/irq.h
index ae5e5a29194..1edbcd2b850 100644
--- a/arch/arm/include/stm32f0l0g0/stm32g0_irq.h
+++ b/arch/arm/include/stm32g0/irq.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/include/stm32f0l0g0/stm32g0_irq.h
+ * arch/arm/include/stm32g0/irq.h
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -24,16 +24,17 @@
  * through nuttx/irq.h
  */
 
-#ifndef __ARCH_ARM_INCLUDE_STM32F0L0G0_STM32G0_IRQ_H
-#define __ARCH_ARM_INCLUDE_STM32F0L0G0_STM32G0_IRQ_H
+#ifndef __ARCH_ARM_INCLUDE_STM32G0_IRQ_H
+#define __ARCH_ARM_INCLUDE_STM32G0_IRQ_H
 
 /****************************************************************************
  * Included Files
  ****************************************************************************/
 
-#include <nuttx/config.h>
-#include <nuttx/irq.h>
-#include <arch/stm32f0l0g0/chip.h>
+#ifndef __ASSEMBLY__
+#  include <stdint.h>
+#endif
+#include <arch/stm32g0/chip.h>
 
 /****************************************************************************
  * Pre-processor Prototypes
@@ -42,11 +43,31 @@
 /* IRQ numbers.  The IRQ number corresponds vector number and hence map
  * directly to bits in the NVIC.  This does, however, waste several words of
  * memory in the IRQ to handle mapping tables.
- *
- * Processor Exceptions (vectors 0-15).  These common definitions can be
- * found in nuttx/arch/arm/include/stm32f0l0g0/irq.h
  */
 
+/* Common Processor Exceptions (vectors 0-15) */
+
+#define STM32_IRQ_RESERVED       (0) /* Reserved vector (only used with 
CONFIG_DEBUG_FEATURES) */
+                                     /* Vector  0: Reset stack pointer value */
+                                     /* Vector  1: Reset (not handler as an 
IRQ) */
+#define STM32_IRQ_NMI            (2) /* Vector  2: Non-Maskable Interrupt 
(NMI) */
+#define STM32_IRQ_HARDFAULT      (3) /* Vector  3: Hard fault */
+                                     /* Vectors 4-10: Reserved */
+#define STM32_IRQ_SVCALL        (11) /* Vector 11: SVC call */
+                                     /* Vector 12-13: Reserved */
+#define STM32_IRQ_PENDSV        (14) /* Vector 14: Pendable system service 
request */
+#define STM32_IRQ_SYSTICK       (15) /* Vector 15: System tick */
+
+/* External interrupts (vectors >= 16) */
+
+#define STM32_IRQ_EXTINT        (16) /* Vector number of the first external 
interrupt */
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+/* External interrupt vectors */
+
 #define STM32_IRQ_WWDG         (STM32_IRQ_EXTINT + 0)  /* 0: Window Watchdog 
interrupt */
 
 #if defined(CONFIG_ARCH_CHIP_STM32G070KB) || 
defined(CONFIG_ARCH_CHIP_STM32G070CB) || \
@@ -94,8 +115,6 @@
 
 #if defined(CONFIG_ARCH_CHIP_STM32G070KB) || 
defined(CONFIG_ARCH_CHIP_STM32G070CB) || \
     defined(CONFIG_ARCH_CHIP_STM32G070RB)
-/* No STM32_IRQ_COMP */
-
 #else
 #  define STM32_IRQ_COMP       (STM32_IRQ_EXTINT + 12) /* 12: COMP */
 #endif
@@ -115,10 +134,6 @@
 
 #if defined(CONFIG_ARCH_CHIP_STM32G070KB) || 
defined(CONFIG_ARCH_CHIP_STM32G070CB) || \
     defined(CONFIG_ARCH_CHIP_STM32G070RB)
-/* No STM32_IRQ_DAC */
-
-/* No STM32_IRQ_LPTIM1 */
-
 #else
 #  define STM32_IRQ_DAC        (STM32_IRQ_EXTINT + 17) /* 17: DAC */
 #  define STM32_IRQ_LPTIM1     (STM32_IRQ_EXTINT + 17) /* 17: LPTIM1 */
@@ -128,8 +143,6 @@
 
 #if defined(CONFIG_ARCH_CHIP_STM32G070KB) || 
defined(CONFIG_ARCH_CHIP_STM32G070CB) || \
     defined(CONFIG_ARCH_CHIP_STM32G070RB)
-/* No STM32_IRQ_LPTIM2 */
-
 #else
 #  define STM32_IRQ_LPTIM2     (STM32_IRQ_EXTINT + 18) /* 18: LPTIM2 */
 #endif
@@ -165,31 +178,6 @@
 
 #define STM32_IRQ_NEXTINTS     (32)
 
-/****************************************************************************
- * Public Types
- ****************************************************************************/
-
-/****************************************************************************
- * Public Data
- ****************************************************************************/
-
-#ifndef __ASSEMBLY__
-#ifdef __cplusplus
-#define EXTERN extern "C"
-extern "C"
-{
-#else
-#define EXTERN extern
-#endif
-
-/****************************************************************************
- * Public Function Prototypes
- ****************************************************************************/
-
-#undef EXTERN
-#ifdef __cplusplus
-}
-#endif
-#endif
+#define NR_IRQS                (STM32_IRQ_EXTINT + STM32_IRQ_NEXTINTS)
 
-#endif /* __ARCH_ARM_INCLUDE_STM32F0L0G0_STM32G0_IRQ_H */
+#endif /* __ARCH_ARM_INCLUDE_STM32G0_IRQ_H */
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt 
b/arch/arm/src/stm32g0/CMakeLists.txt
similarity index 72%
copy from boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
copy to arch/arm/src/stm32g0/CMakeLists.txt
index b0e6eae77fb..d2d126dda46 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
+++ b/arch/arm/src/stm32g0/CMakeLists.txt
@@ -1,5 +1,5 @@
 # 
##############################################################################
-# boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
+# arch/arm/src/stm32g0/CMakeLists.txt
 #
 # SPDX-License-Identifier: Apache-2.0
 #
@@ -20,18 +20,13 @@
 #
 # 
##############################################################################
 
-set(SRCS stm32_boot.c stm32_bringup.c)
+set(SRCS)
 
-if(CONFIG_ARCH_LEDS)
-  list(APPEND SRCS stm32_autoleds.c)
-else()
-  list(APPEND SRCS stm32_userleds.c)
-endif()
+list(APPEND SRCS stm32_rcc.c)
 
-if(CONFIG_ARCH_BUTTONS)
-  list(APPEND SRCS stm32_buttons.c)
+if(CONFIG_BUILD_PROTECTED)
+  list(APPEND SRCS stm32_userspace.c)
 endif()
 
-target_sources(board PRIVATE ${SRCS})
-
-set_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/ld.script")
+target_sources(arch PRIVATE ${SRCS})
+add_subdirectory(${NUTTX_DIR}/arch/arm/src/common/stm32 stm32_common)
diff --git a/arch/arm/src/stm32g0/Kconfig b/arch/arm/src/stm32g0/Kconfig
new file mode 100644
index 00000000000..de97aaf4f30
--- /dev/null
+++ b/arch/arm/src/stm32g0/Kconfig
@@ -0,0 +1,434 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+comment "STM32 G0 configuration"
+
+if ARCH_CHIP_STM32G0
+
+choice
+       prompt "ST STM32G0 Chip Selection"
+       default ARCH_CHIP_STM32G071RB
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G070CB
+       bool "STM32G070CB"
+       select STM32_STM32G070
+       select STM32_FLASH_CONFIG_B
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G070KB
+       bool "STM32G070KB"
+       select STM32_STM32G070
+       select STM32_FLASH_CONFIG_B
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G070RB
+       bool "STM32G070RB"
+       select STM32_STM32G070
+       select STM32_FLASH_CONFIG_B
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G071EB
+       bool "STM32G071EB"
+       select STM32_STM32G071
+       select STM32_FLASH_CONFIG_B
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G071G8
+       bool "STM32G071G8"
+       select STM32_STM32G071
+       select STM32_FLASH_CONFIG_8
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G071GB
+       bool "STM32G071GB"
+       select STM32_STM32G071
+       select STM32_FLASH_CONFIG_B
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G071G8XN
+       bool "STM32G071G8XN"
+       select STM32_STM32G071
+       select STM32_FLASH_CONFIG_8
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G071GBXN
+       bool "STM32G071GBXN"
+       select STM32_STM32G071
+       select STM32_FLASH_CONFIG_B
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G071K8
+       bool "STM32G071K8"
+       select STM32_STM32G071
+       select STM32_FLASH_CONFIG_8
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G071KB
+       bool "STM32G071KB"
+       select STM32_STM32G071
+       select STM32_FLASH_CONFIG_B
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G071K8XN
+       bool "STM32G071K8XN"
+       select STM32_STM32G071
+       select STM32_FLASH_CONFIG_8
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G071KBXN
+       bool "STM32G071KBXN"
+       select STM32_STM32G071
+       select STM32_FLASH_CONFIG_B
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G071C8
+       bool "STM32G071C8"
+       select STM32_STM32G071
+       select STM32_FLASH_CONFIG_8
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G071CB
+       bool "STM32G071CB"
+       select STM32_STM32G071
+       select STM32_FLASH_CONFIG_B
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G071R8
+       bool "STM32G071R8"
+       select STM32_STM32G071
+       select STM32_FLASH_CONFIG_8
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G071RB
+       bool "STM32G071RB"
+       select STM32_STM32G071
+       select STM32_FLASH_CONFIG_B
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G0B1KB
+       bool "STM32G0B1KB"
+       select STM32_STM32G0B1
+       select STM32_FLASH_CONFIG_B
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G0B1CB
+       bool "STM32G0B1CB"
+       select STM32_STM32G0B1
+       select STM32_FLASH_CONFIG_B
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G0B1RB
+       bool "STM32G0B1RB"
+       select STM32_STM32G0B1
+       select STM32_FLASH_CONFIG_B
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G0B1MB
+       bool "STM32G0B1MB"
+       select STM32_STM32G0B1
+       select STM32_FLASH_CONFIG_B
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G0B1VB
+       bool "STM32G0B1VB"
+       select STM32_STM32G0B1
+       select STM32_FLASH_CONFIG_B
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G0B1KC
+       bool "STM32G0B1KC"
+       select STM32_STM32G0B1
+       select STM32_FLASH_CONFIG_C
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G0B1CC
+       bool "STM32G0B1CC"
+       select STM32_STM32G0B1
+       select STM32_FLASH_CONFIG_C
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G0B1RC
+       bool "STM32G0B1RC"
+       select STM32_STM32G0B1
+       select STM32_FLASH_CONFIG_C
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G0B1MC
+       bool "STM32G0B1MC"
+       select STM32_STM32G0B1
+       select STM32_FLASH_CONFIG_C
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G0B1VC
+       bool "STM32G0B1VC"
+       select STM32_STM32G0B1
+       select STM32_FLASH_CONFIG_C
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G0B1KE
+       bool "STM32G0B1KE"
+       select STM32_STM32G0B1
+       select STM32_FLASH_CONFIG_E
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G0B1CE
+       bool "STM32G0B1CE"
+       select STM32_STM32G0B1
+       select STM32_FLASH_CONFIG_E
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G0B1RE
+       bool "STM32G0B1RE"
+       select STM32_STM32G0B1
+       select STM32_FLASH_CONFIG_E
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G0B1NE
+       bool "STM32G0B1NE"
+       select STM32_STM32G0B1
+       select STM32_FLASH_CONFIG_E
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G0B1ME
+       bool "STM32G0B1ME"
+       select STM32_STM32G0B1
+       select STM32_FLASH_CONFIG_E
+       depends on ARCH_CHIP_STM32G0
+
+config ARCH_CHIP_STM32G0B1VE
+       bool "STM32G0B1VE"
+       select STM32_STM32G0B1
+       select STM32_FLASH_CONFIG_E
+       depends on ARCH_CHIP_STM32G0
+
+endchoice
+
+endif
+
+config STM32_STM32G0
+       bool
+       default n
+       select STM32_HAVE_DMA1
+       select STM32_HAVE_USART1
+       select STM32_HAVE_USART2
+       select STM32_HAVE_I2C1
+       select STM32_HAVE_SPI1
+       select STM32_HAVE_DMAMUX
+       select STM32_HAVE_IP_ADC_M0_V1
+       select STM32_HAVE_CRC
+       select STM32_HAVE_PWR
+       select STM32_HAVE_BKP
+       select STM32_HAVE_BKPSRAM
+       select STM32_HAVE_IP_AES_M0_V1 if STM32_HAVE_AES
+       select STM32_HAVE_IP_COMP_M0_V1 if STM32_HAVE_COMP
+       select STM32_HAVE_IP_DAC_M0_V1 if STM32_HAVE_DAC1
+       select STM32_HAVE_IP_DBGMCU_M0_V1
+       select STM32_HAVE_IP_DMA_V1
+       select STM32_HAVE_IP_DMA_V1_7CH_DMAMUX
+       select STM32_HAVE_IP_EXTI_V2
+       select STM32_HAVE_IP_FDCAN_MCAN_M0_V1
+       select STM32_HAVE_IP_FLASH_M0_V1
+       select STM32_HAVE_IP_FLASH_M0_G0C0
+       select STM32_HAVE_IP_GPIO_M0_V1
+       select STM32_HAVE_IP_I2C_M0_V1
+       select STM32_HAVE_IP_PWR_G0
+       select STM32_HAVE_IP_RNG_M0_V1 if STM32_HAVE_RNG
+       select STM32_HAVE_IP_RTCC_M0_V1
+       select STM32_HAVE_IP_SPI_V2
+       select STM32_HAVE_IP_TIMERS_M0_V1
+       select STM32_HAVE_IP_USART_V4
+       select STM32_HAVE_IP_WDG_M0_V1
+       select STM32_HAVE_IP_UID_M0_V1
+       select STM32_HAVE_IP_USBDEV_M0_V1 if STM32_HAVE_USBDEV
+       select STM32_HAVE_TIM1
+       select STM32_HAVE_TIM3
+       select STM32_HAVE_TIM14
+       select STM32_HAVE_TIM16
+       select STM32_HAVE_TIM17
+       select STM32_HAVE_I2C2
+       select ARCH_HAVE_PROGMEM
+
+config STM32_STM32G030
+       bool
+       default n
+       select STM32_STM32G0
+       select STM32_STM32G03X
+
+config STM32_STM32G031
+       bool
+       default n
+       select STM32_STM32G0
+       select STM32_STM32G03X
+       select STM32_HAVE_LPUART1
+
+config STM32_STM32G03X
+       bool
+       default n
+
+config STM32_STM32G041
+       bool
+       default n
+       select STM32_STM32G0
+       select STM32_HAVE_RNG
+       select STM32_HAVE_AES
+       select STM32_HAVE_LPUART1
+
+config STM32_STM32G050
+       bool
+       default n
+       select STM32_STM32G0
+       select STM32_STM32G05X
+
+config STM32_STM32G051
+       bool
+       default n
+       select STM32_STM32G0
+       select STM32_STM32G05X
+       select STM32_HAVE_DAC1
+       select STM32_HAVE_COMP1
+       select STM32_HAVE_COMP2
+       select STM32_HAVE_TIM15
+       select STM32_HAVE_LPUART1
+
+config STM32_STM32G05X
+       bool
+       default n
+       select STM32_HAVE_TIM6
+       select STM32_HAVE_TIM7
+
+config STM32_STM32G061
+       bool
+       default n
+       select STM32_STM32G0
+       select STM32_HAVE_RNG
+       select STM32_HAVE_AES
+       select STM32_HAVE_DAC1
+       select STM32_HAVE_COMP1
+       select STM32_HAVE_COMP2
+       select STM32_HAVE_TIM6
+       select STM32_HAVE_TIM7
+       select STM32_HAVE_TIM15
+       select STM32_HAVE_LPUART1
+
+config STM32_STM32G070
+       bool
+       default n
+       select STM32_STM32G0
+       select STM32_STM32G07X
+
+config STM32_STM32G071
+       bool
+       default n
+       select STM32_STM32G0
+       select STM32_STM32G07X
+       select STM32_HAVE_DAC1
+       select STM32_HAVE_COMP1
+       select STM32_HAVE_COMP2
+       select STM32_HAVE_CEC
+       select STM32_HAVE_LPUART1
+
+config STM32_STM32G07X
+       bool
+       default n
+       select STM32_HAVE_USART3
+       select STM32_HAVE_USART4
+       select STM32_HAVE_TIM6
+       select STM32_HAVE_TIM7
+       select STM32_HAVE_TIM15
+       select STM32_HAVE_UCPD1
+       select STM32_HAVE_UCPD2
+
+config STM32_STM32G081
+       bool
+       default n
+       select STM32_STM32G0
+       select STM32_HAVE_USART3
+       select STM32_HAVE_USART4
+       select STM32_HAVE_RNG
+       select STM32_HAVE_AES
+       select STM32_HAVE_DAC1
+       select STM32_HAVE_COMP1
+       select STM32_HAVE_COMP2
+       select STM32_HAVE_TIM6
+       select STM32_HAVE_TIM7
+       select STM32_HAVE_TIM15
+       select STM32_HAVE_UCPD1
+       select STM32_HAVE_UCPD2
+       select STM32_HAVE_CEC
+       select STM32_HAVE_LPUART1
+
+config STM32_STM32G0B0
+       bool
+       default n
+       select STM32_STM32G0
+       select STM32_STM32G0BX
+
+config STM32_STM32G0B1
+       bool
+       default n
+       select STM32_STM32G0
+       select STM32_STM32G0BX
+       select STM32_HAVE_DAC1
+       select STM32_HAVE_COMP1
+       select STM32_HAVE_COMP2
+       select STM32_HAVE_COMP3
+       select STM32_HAVE_FDCAN1
+       select STM32_HAVE_FDCAN2
+       select STM32_HAVE_CEC
+
+config STM32_STM32G0BX
+       bool
+       default n
+       select STM32_HAVE_DMA2
+       select STM32_HAVE_USART3
+       select STM32_HAVE_USART4
+       select STM32_HAVE_USART5
+       select STM32_HAVE_USART6
+       select STM32_HAVE_LPUART1
+       select STM32_HAVE_LPUART2
+       select STM32_HAVE_CRS
+       select STM32_HAVE_TIM4
+       select STM32_HAVE_TIM6
+       select STM32_HAVE_TIM7
+       select STM32_HAVE_TIM15
+       select STM32_HAVE_I2C3
+       select STM32_HAVE_SPI3
+       select STM32_HAVE_I2S2
+       select STM32_HAVE_USBDEV
+       select STM32_HAVE_UCPD1
+       select STM32_HAVE_UCPD2
+       select STM32_HAVE_HSI48
+
+config STM32_STM32G0C1
+       bool
+       default n
+       select STM32_STM32G0
+       select STM32_HAVE_DMA2
+       select STM32_HAVE_USART3
+       select STM32_HAVE_USART4
+       select STM32_HAVE_USART5
+       select STM32_HAVE_USART6
+       select STM32_HAVE_CRS
+       select STM32_HAVE_RNG
+       select STM32_HAVE_AES
+       select STM32_HAVE_DAC1
+       select STM32_HAVE_COMP1
+       select STM32_HAVE_COMP2
+       select STM32_HAVE_COMP3
+       select STM32_HAVE_TIM4
+       select STM32_HAVE_TIM6
+       select STM32_HAVE_TIM7
+       select STM32_HAVE_TIM15
+       select STM32_HAVE_I2C3
+       select STM32_HAVE_SPI3
+       select STM32_HAVE_I2S2
+       select STM32_HAVE_LPUART2
+       select STM32_HAVE_USBDEV
+       select STM32_HAVE_UCPD1
+       select STM32_HAVE_UCPD2
+       select STM32_HAVE_FDCAN1
+       select STM32_HAVE_FDCAN2
+       select STM32_HAVE_CEC
+       select STM32_HAVE_HSI48
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/Make.defs 
b/arch/arm/src/stm32g0/Make.defs
similarity index 66%
copy from boards/arm/stm32f0l0g0/nucleo-g071rb/src/Make.defs
copy to arch/arm/src/stm32g0/Make.defs
index 75e78e8bc72..75f1a3a88a8 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/Make.defs
+++ b/arch/arm/src/stm32g0/Make.defs
@@ -1,5 +1,5 @@
 ############################################################################
-# boards/arm/stm32f0l0g0/nucleo-g071rb/src/Make.defs
+# arch/arm/src/stm32g0/Make.defs
 #
 # SPDX-License-Identifier: Apache-2.0
 #
@@ -10,7 +10,7 @@
 # "License"); you may not use this file except in compliance with the
 # License.  You may obtain a copy of the License at
 #
-#  http://www.apache.org/licenses/LICENSE-2.0
+#   http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
@@ -20,20 +20,12 @@
 #
 ############################################################################
 
-include $(TOPDIR)/Make.defs
+include armv6-m/Make.defs
 
-CSRCS = stm32_boot.c stm32_bringup.c
+CHIP_CSRCS  = stm32_rcc.c
 
-ifeq ($(CONFIG_ARCH_LEDS),y)
-CSRCS += stm32_autoleds.c
-else
-CSRCS += stm32_userleds.c
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
+CHIP_CSRCS += stm32_userspace.c
 endif
 
-ifeq ($(CONFIG_ARCH_BUTTONS),y)
-CSRCS += stm32_buttons.c
-endif
-
-DEPPATH += --dep-path board
-VPATH += :board
-CFLAGS += 
${INCDIR_PREFIX}$(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)board
+include common/stm32/Make.defs
diff --git a/arch/arm/src/stm32g0/chip.h b/arch/arm/src/stm32g0/chip.h
new file mode 100644
index 00000000000..1569d0603c7
--- /dev/null
+++ b/arch/arm/src/stm32g0/chip.h
@@ -0,0 +1,44 @@
+/****************************************************************************
+ * arch/arm/src/stm32g0/chip.h
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __ARCH_ARM_SRC_STM32G0_CHIP_H
+#define __ARCH_ARM_SRC_STM32G0_CHIP_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+#include "nvic.h"
+
+/* Include the chip capabilities file */
+
+#include <arch/stm32g0/chip.h>
+
+/* Include the memory map file.
+ * Other chip hardware files should then include this file for the proper
+ * setup.
+ */
+
+#include "hardware/stm32_memorymap.h"
+
+#endif /* __ARCH_ARM_SRC_STM32G0_CHIP_H */
diff --git a/arch/arm/src/stm32g0/hardware/stm32_memorymap.h 
b/arch/arm/src/stm32g0/hardware/stm32_memorymap.h
new file mode 100644
index 00000000000..cd95640e9a6
--- /dev/null
+++ b/arch/arm/src/stm32g0/hardware/stm32_memorymap.h
@@ -0,0 +1,17 @@
+/****************************************************************************
+ * arch/arm/src/stm32g0/hardware/stm32_memorymap.h
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ ****************************************************************************/
+
+#ifndef __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32_MEMORYMAP_H
+#define __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32_MEMORYMAP_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include "hardware/stm32g0_memorymap.h"
+
+#endif /* __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32_MEMORYMAP_H */
diff --git a/arch/arm/src/stm32g0/hardware/stm32_pinmap.h 
b/arch/arm/src/stm32g0/hardware/stm32_pinmap.h
new file mode 100644
index 00000000000..56faffa2e66
--- /dev/null
+++ b/arch/arm/src/stm32g0/hardware/stm32_pinmap.h
@@ -0,0 +1,17 @@
+/****************************************************************************
+ * arch/arm/src/stm32g0/hardware/stm32_pinmap.h
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ ****************************************************************************/
+
+#ifndef __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32_PINMAP_H
+#define __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32_PINMAP_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include "hardware/stm32g0_pinmap.h"
+
+#endif /* __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32_PINMAP_H */
diff --git a/arch/arm/src/stm32f0l0g0/hardware/stm32g0_dmamux.h 
b/arch/arm/src/stm32g0/hardware/stm32g0_dmamux.h
similarity index 98%
rename from arch/arm/src/stm32f0l0g0/hardware/stm32g0_dmamux.h
rename to arch/arm/src/stm32g0/hardware/stm32g0_dmamux.h
index 2f1161c7d37..d8ac7f51795 100644
--- a/arch/arm/src/stm32f0l0g0/hardware/stm32g0_dmamux.h
+++ b/arch/arm/src/stm32g0/hardware/stm32g0_dmamux.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/src/stm32f0l0g0/hardware/stm32g0_dmamux.h
+ * arch/arm/src/stm32g0/hardware/stm32g0_dmamux.h
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -20,8 +20,8 @@
  *
  ****************************************************************************/
 
-#ifndef __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_DMAMUX_H
-#define __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_DMAMUX_H
+#ifndef __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_DMAMUX_H
+#define __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_DMAMUX_H
 
 /****************************************************************************
  * Included Files
@@ -322,4 +322,4 @@
 #define DMAMUX_SYNC_LPTIM2_OUT      21
 #define DMAMUX_SYNC_TIM14_OC        22
 
-#endif /* __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_DMAMUX_H */
+#endif /* __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_DMAMUX_H */
diff --git a/arch/arm/src/stm32f0l0g0/hardware/stm32g0_exti.h 
b/arch/arm/src/stm32g0/hardware/stm32g0_exti.h
similarity index 95%
rename from arch/arm/src/stm32f0l0g0/hardware/stm32g0_exti.h
rename to arch/arm/src/stm32g0/hardware/stm32g0_exti.h
index bfbd8802918..695a57836a5 100644
--- a/arch/arm/src/stm32f0l0g0/hardware/stm32g0_exti.h
+++ b/arch/arm/src/stm32g0/hardware/stm32g0_exti.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/src/stm32f0l0g0/hardware/stm32g0_exti.h
+ * arch/arm/src/stm32g0/hardware/stm32g0_exti.h
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -20,8 +20,8 @@
  *
  ****************************************************************************/
 
-#ifndef __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_EXTI_H
-#define __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_EXTI_H
+#ifndef __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_EXTI_H
+#define __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_EXTI_H
 
 /****************************************************************************
  * Included Files
@@ -87,4 +87,4 @@
 
 /* TODO */
 
-#endif /* __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_EXTI_H */
+#endif /* __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_EXTI_H */
diff --git a/arch/arm/src/stm32f0l0g0/hardware/stm32g0_flash.h 
b/arch/arm/src/stm32g0/hardware/stm32g0_flash.h
similarity index 98%
rename from arch/arm/src/stm32f0l0g0/hardware/stm32g0_flash.h
rename to arch/arm/src/stm32g0/hardware/stm32g0_flash.h
index 5d5780116bf..779011abd83 100644
--- a/arch/arm/src/stm32f0l0g0/hardware/stm32g0_flash.h
+++ b/arch/arm/src/stm32g0/hardware/stm32g0_flash.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/src/stm32f0l0g0/hardware/stm32g0_flash.h
+ * arch/arm/src/stm32g0/hardware/stm32g0_flash.h
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -20,8 +20,8 @@
  *
  ****************************************************************************/
 
-#ifndef __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_FLASH_H
-#define __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_FLASH_H
+#ifndef __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_FLASH_H
+#define __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_FLASH_H
 
 /****************************************************************************
  * Included Files
@@ -279,4 +279,4 @@
 #define FLASH_SECR_SEC_SIZE2_MASK           (0xff << 
FLASH_SECR_SEC_SIZE2_SHIFT)
                                                       /* Bits 28-31: Reserved 
*/
 
-#endif /* __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_FLASH_H */
+#endif /* __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_FLASH_H */
diff --git a/arch/arm/src/stm32f0l0g0/hardware/stm32g0_memorymap.h 
b/arch/arm/src/stm32g0/hardware/stm32g0_memorymap.h
similarity index 96%
rename from arch/arm/src/stm32f0l0g0/hardware/stm32g0_memorymap.h
rename to arch/arm/src/stm32g0/hardware/stm32g0_memorymap.h
index 595e1886b4c..c5455b4df97 100644
--- a/arch/arm/src/stm32f0l0g0/hardware/stm32g0_memorymap.h
+++ b/arch/arm/src/stm32g0/hardware/stm32g0_memorymap.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/src/stm32f0l0g0/hardware/stm32g0_memorymap.h
+ * arch/arm/src/stm32g0/hardware/stm32g0_memorymap.h
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -20,8 +20,8 @@
  *
  ****************************************************************************/
 
-#ifndef __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_MEMORYMAP_H
-#define __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_MEMORYMAP_H
+#ifndef __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_MEMORYMAP_H
+#define __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_MEMORYMAP_H
 
 /****************************************************************************
  * Pre-processor Definitions
@@ -131,4 +131,4 @@
 
 #define STM32_SYSMEM_UID     0x1fff7590     /* The 96-bit unique device 
identifier */
 
-#endif /* __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_MEMORYMAP_H */
+#endif /* __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_MEMORYMAP_H */
diff --git a/arch/arm/src/stm32f0l0g0/hardware/stm32g0_pinmap.h 
b/arch/arm/src/stm32g0/hardware/stm32g0_pinmap.h
similarity index 98%
rename from arch/arm/src/stm32f0l0g0/hardware/stm32g0_pinmap.h
rename to arch/arm/src/stm32g0/hardware/stm32g0_pinmap.h
index efbb5415b74..3cc3b5b0850 100644
--- a/arch/arm/src/stm32f0l0g0/hardware/stm32g0_pinmap.h
+++ b/arch/arm/src/stm32g0/hardware/stm32g0_pinmap.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/src/stm32f0l0g0/hardware/stm32g0_pinmap.h
+ * arch/arm/src/stm32g0/hardware/stm32g0_pinmap.h
  *
  * SPDX-License-Identifier: BSD-3-Clause
  * SPDX-FileCopyrightText: 2019 Gregory Nutt. All rights reserved.
@@ -36,8 +36,8 @@
  *
  ****************************************************************************/
 
-#ifndef __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_PINMAP_H
-#define __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_PINMAP_H
+#ifndef __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_PINMAP_H
+#define __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_PINMAP_H
 
 /****************************************************************************
  * Included Files
@@ -283,4 +283,4 @@
 
 /* TODO: CEC */
 
-#endif /* __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_PINMAP_H */
+#endif /* __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_PINMAP_H */
diff --git a/arch/arm/src/stm32f0l0g0/hardware/stm32g0_pwr.h 
b/arch/arm/src/stm32g0/hardware/stm32g0_pwr.h
similarity index 97%
rename from arch/arm/src/stm32f0l0g0/hardware/stm32g0_pwr.h
rename to arch/arm/src/stm32g0/hardware/stm32g0_pwr.h
index ae226f9fca6..2df357db170 100644
--- a/arch/arm/src/stm32f0l0g0/hardware/stm32g0_pwr.h
+++ b/arch/arm/src/stm32g0/hardware/stm32g0_pwr.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/src/stm32f0l0g0/hardware/stm32g0_pwr.h
+ * arch/arm/src/stm32g0/hardware/stm32g0_pwr.h
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -20,8 +20,8 @@
  *
  ****************************************************************************/
 
-#ifndef __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_PWR_H
-#define __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_PWR_H
+#ifndef __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_PWR_H
+#define __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_PWR_H
 
 /****************************************************************************
  * Included Files
@@ -175,4 +175,4 @@
 #define PWR_SCR_CWUF5            (1 << 4) /* Bit 4: Clear wakeup flag 5 */
 #define PWR_SCR_CSBF             (1 << 8) /* Bit 8: Clear standby flag */
 
-#endif /* __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_PWR_H */
+#endif /* __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_PWR_H */
diff --git a/arch/arm/src/stm32f0l0g0/hardware/stm32g0_rcc.h 
b/arch/arm/src/stm32g0/hardware/stm32g0_rcc.h
similarity index 99%
rename from arch/arm/src/stm32f0l0g0/hardware/stm32g0_rcc.h
rename to arch/arm/src/stm32g0/hardware/stm32g0_rcc.h
index 940cb9e6ba2..3c5f8ca4521 100644
--- a/arch/arm/src/stm32f0l0g0/hardware/stm32g0_rcc.h
+++ b/arch/arm/src/stm32g0/hardware/stm32g0_rcc.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/src/stm32f0l0g0/hardware/stm32g0_rcc.h
+ * arch/arm/src/stm32g0/hardware/stm32g0_rcc.h
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -20,8 +20,8 @@
  *
  ****************************************************************************/
 
-#ifndef __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_RCC_H
-#define __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_RCC_H
+#ifndef __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_RCC_H
+#define __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_RCC_H
 
 /****************************************************************************
  * Pre-processor Definitions
@@ -363,4 +363,4 @@
 #define RCC_CSR_WWDGRSTF                (1 << 30) /* Bit 30: WWDG reset flag */
 #define RCC_CSR_LPWRRSTF                (1 << 31) /* Bit 31: Low-power reset 
flag */
 
-#endif /* __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_RCC_H */
+#endif /* __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_RCC_H */
diff --git a/arch/arm/src/stm32f0l0g0/hardware/stm32g0_syscfg.h 
b/arch/arm/src/stm32g0/hardware/stm32g0_syscfg.h
similarity index 98%
rename from arch/arm/src/stm32f0l0g0/hardware/stm32g0_syscfg.h
rename to arch/arm/src/stm32g0/hardware/stm32g0_syscfg.h
index cb4f9bb9c39..7ca1ecbbce1 100644
--- a/arch/arm/src/stm32f0l0g0/hardware/stm32g0_syscfg.h
+++ b/arch/arm/src/stm32g0/hardware/stm32g0_syscfg.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/src/stm32f0l0g0/hardware/stm32g0_syscfg.h
+ * arch/arm/src/stm32g0/hardware/stm32g0_syscfg.h
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -20,8 +20,8 @@
  *
  ****************************************************************************/
 
-#ifndef __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_SYSCFG_H
-#define __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_SYSCFG_H
+#ifndef __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_SYSCFG_H
+#define __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_SYSCFG_H
 
 /****************************************************************************
  * Included Files
@@ -300,4 +300,4 @@
 #define SYSCFG_ITLINE30_RNG            (1 << 0)  /* Bit 0: RNG interrupt 
request pending */
 #define SYSCFG_ITLINE30_AES            (1 << 1)  /* Bit 1: AES interrupt 
request pending */
 
-#endif /* __ARCH_ARM_SRC_STM32F0L0G0_HARDWARE_STM32G0_SYSCFG_H */
+#endif /* __ARCH_ARM_SRC_STM32G0_HARDWARE_STM32G0_SYSCFG_H */
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_autoleds.c 
b/arch/arm/src/stm32g0/stm32.h
similarity index 56%
copy from boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_autoleds.c
copy to arch/arm/src/stm32g0/stm32.h
index b96b3795bd0..9e70f1bf95f 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_autoleds.c
+++ b/arch/arm/src/stm32g0/stm32.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_autoleds.c
+ * arch/arm/src/stm32g0/stm32.h
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -20,62 +20,35 @@
  *
  ****************************************************************************/
 
+#ifndef __ARCH_ARM_SRC_STM32G0_STM32_H
+#define __ARCH_ARM_SRC_STM32G0_STM32_H
+
 /****************************************************************************
  * Included Files
  ****************************************************************************/
 
 #include <nuttx/config.h>
-
+#include <sys/types.h>
 #include <stdint.h>
 #include <stdbool.h>
-#include <nuttx/debug.h>
-
-#include <nuttx/board.h>
-
-#include "stm32_gpio.h"
-#include "nucleo-g070rb.h"
-
-#include <arch/board/board.h>
-
-#ifdef CONFIG_ARCH_LEDS
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
 
-/****************************************************************************
- * Name: board_autoled_initialize
- ****************************************************************************/
+#include "arm_internal.h"
 
-void board_autoled_initialize(void)
-{
-  /* Configure LED1 GPIO for output */
+/* Peripherals **************************************************************/
 
-  stm32_configgpio(GPIO_LED1);
-}
-
-/****************************************************************************
- * Name: board_autoled_on
- ****************************************************************************/
-
-void board_autoled_on(int led)
-{
-  if (led == BOARD_LED1)
-    {
-      stm32_gpiowrite(GPIO_LED1, true);
-    }
-}
+#include "chip.h"
+#include "stm32_dma.h"
+#include "stm32_gpio.h"
+#include "stm32_i2c.h"
+#include "stm32_pwr.h"
+#include "stm32_rcc.h"
+#include "stm32_spi.h"
+#include "stm32_uart.h"
+#include "stm32_lowputc.h"
+#include "stm32_adc.h"
 
 /****************************************************************************
- * Name: board_autoled_off
+ * Pre-processor Definitions
  ****************************************************************************/
 
-void board_autoled_off(int led)
-{
-  if (led == BOARD_LED1)
-    {
-      stm32_gpiowrite(GPIO_LED1, false);
-    }
-}
-
-#endif /* CONFIG_ARCH_LEDS */
+#endif /* __ARCH_ARM_SRC_STM32G0_STM32_H */
diff --git a/arch/arm/src/stm32g0/stm32_rcc.c b/arch/arm/src/stm32g0/stm32_rcc.c
new file mode 100644
index 00000000000..f2f084012f8
--- /dev/null
+++ b/arch/arm/src/stm32g0/stm32_rcc.c
@@ -0,0 +1,220 @@
+/****************************************************************************
+ * arch/arm/src/stm32g0/stm32_rcc.c
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <stdint.h>
+#include <stdio.h>
+#include <assert.h>
+#include <nuttx/debug.h>
+
+#include <arch/board/board.h>
+
+#include "arm_internal.h"
+#include "hardware/stm32_flash.h"
+#include "stm32_rcc.h"
+#include "stm32_hsi48_m0_v1.h"
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#ifdef CONFIG_STM32_RNG
+#  ifndef STM32_USE_CLK48
+#    error RNG requires CLK48 enabled
+#  endif
+#endif
+
+#ifdef CONFIG_STM32_USB
+#  ifndef STM32_USE_CLK48
+#    error USB requires CLK48 enabled
+#  endif
+#endif
+
+static_assert(CONFIG_BOARD_LOOPSPERMSEC != -1,
+              "Configure BOARD_LOOPSPERMSEC to non-default value.");
+
+/* Allow up to 100 milliseconds for the high speed clock to become ready.
+ * that is a very long delay, but if the clock does not become ready we are
+ * hosed anyway.
+ */
+
+#define HSERDY_TIMEOUT (100 * CONFIG_BOARD_LOOPSPERMSEC)
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+/* Include chip-specific clocking initialization logic */
+
+#include "stm32g0_rcc.c"
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: rcc_resetbkp
+ *
+ * Description:
+ *   The RTC needs to reset the Backup Domain to change RTCSEL and resetting
+ *   the Backup Domain renders to disabling the LSE as consequence.
+ *   In order to avoid resetting the Backup Domain when we already configured
+ *   LSE we will reset the Backup Domain early (here).
+ *
+ * Input Parameters:
+ *   None
+ *
+ * Returned Value:
+ *   None
+ *
+ ****************************************************************************/
+
+#if defined(CONFIG_STM32_RTC) && defined(CONFIG_STM32_PWR)
+static inline void rcc_resetbkp(void)
+{
+  uint32_t regval;
+
+  /* Check if the RTC is already configured */
+
+  stm32_pwr_initbkp(false);
+
+  regval = getreg32(RTC_MAGIC_REG);
+  if (regval != RTC_MAGIC && regval != RTC_MAGIC_TIME_SET)
+    {
+      stm32_pwr_enablebkp(true);
+
+      /* We might be changing RTCSEL - to ensure such changes work, we must
+       * reset the backup domain (having backed up the RTC_MAGIC token)
+       */
+
+      modifyreg32(STM32_RCC_BDCR, 0, RCC_BDCR_BDRST);
+      modifyreg32(STM32_RCC_BDCR, RCC_BDCR_BDRST, 0);
+
+      stm32_pwr_enablebkp(false);
+    }
+}
+#else
+#  define rcc_resetbkp()
+#endif
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: stm32_clockconfig
+ *
+ * Description:
+ *   Called to establish the clock settings based on the values in board.h.
+ *   This function (by default) will reset most everything, enable the PLL,
+ *   and enable peripheral clocking for all peripherals enabled in the NuttX
+ *   configuration file.
+ *
+ *   If CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG is defined, then
+ *   clocking will be enabled by an externally provided, board-specific
+ *   function called stm32_board_clockconfig().
+ *
+ * Input Parameters:
+ *   None
+ *
+ * Returned Value:
+ *   None
+ *
+ ****************************************************************************/
+
+void stm32_clockconfig(void)
+{
+  /* Make sure that we are starting in the reset state */
+
+  rcc_reset();
+
+  /* Reset backup domain if appropriate */
+
+  rcc_resetbkp();
+
+#if defined(CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG)
+  /* Invoke Board Custom Clock Configuration */
+
+  stm32_board_clockconfig();
+
+#else
+  /* Invoke standard, fixed clock configuration based on definitions
+   * in board.h
+   */
+
+  stm32_stdclockconfig();
+
+#endif
+
+  /* Enable peripheral clocking */
+
+  rcc_enableperipherals();
+}
+
+/****************************************************************************
+ * Name: stm32_clockenable
+ *
+ * Description:
+ *   Re-enable the clock and restore the clock settings based on settings in
+ *   board.h.  This function is only available to support low-power modes of
+ *   operation:  When re-awakening from deep-sleep modes, it is necessary to
+ *   re-enable/re-start the PLL
+ *
+ *   This functional performs a subset of the operations performed by
+ *   stm32_clockconfig():  It does not reset any devices, and it does not
+ *   reset the currently enabled peripheral clocks.
+ *
+ *   If CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG is defined, then
+ *   clocking will be enabled by an externally provided, board-specific
+ *   function called stm32_board_clockconfig().
+ *
+ * Input Parameters:
+ *   None
+ *
+ * Returned Value:
+ *   None
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_PM
+void stm32_clockenable(void)
+{
+#if defined(CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG)
+  /* Invoke Board Custom Clock Configuration */
+
+  stm32_board_clockconfig();
+
+#else
+  /* Invoke standard, fixed clock configuration based on definitions
+   * in board.h
+   */
+
+  stm32_stdclockconfig();
+
+#endif
+}
+#endif
diff --git a/arch/arm/src/stm32f0l0g0/stm32g0_rcc.c 
b/arch/arm/src/stm32g0/stm32g0_rcc.c
similarity index 99%
rename from arch/arm/src/stm32f0l0g0/stm32g0_rcc.c
rename to arch/arm/src/stm32g0/stm32g0_rcc.c
index 8933230be5f..b79a0224392 100644
--- a/arch/arm/src/stm32f0l0g0/stm32g0_rcc.c
+++ b/arch/arm/src/stm32g0/stm32g0_rcc.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/src/stm32f0l0g0/stm32g0_rcc.c
+ * arch/arm/src/stm32g0/stm32g0_rcc.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt 
b/boards/arm/stm32g0/common/CMakeLists.txt
similarity index 71%
copy from boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
copy to boards/arm/stm32g0/common/CMakeLists.txt
index b0e6eae77fb..929a4d5fd28 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
+++ b/boards/arm/stm32g0/common/CMakeLists.txt
@@ -1,5 +1,5 @@
 # 
##############################################################################
-# boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
+# boards/arm/stm32g0/common/CMakeLists.txt
 #
 # SPDX-License-Identifier: Apache-2.0
 #
@@ -20,18 +20,6 @@
 #
 # 
##############################################################################
 
-set(SRCS stm32_boot.c stm32_bringup.c)
-
-if(CONFIG_ARCH_LEDS)
-  list(APPEND SRCS stm32_autoleds.c)
-else()
-  list(APPEND SRCS stm32_userleds.c)
-endif()
-
-if(CONFIG_ARCH_BUTTONS)
-  list(APPEND SRCS stm32_buttons.c)
+if(CONFIG_ARCH_BOARD_COMMON)
+  add_subdirectory(${NUTTX_DIR}/boards/arm/common/stm32 stm32_common)
 endif()
-
-target_sources(board PRIVATE ${SRCS})
-
-set_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/ld.script")
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/Kconfig 
b/boards/arm/stm32g0/common/Kconfig
similarity index 76%
copy from boards/arm/stm32f0l0g0/nucleo-g070rb/Kconfig
copy to boards/arm/stm32g0/common/Kconfig
index cf2ba4e34ab..5c48f62a025 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g070rb/Kconfig
+++ b/boards/arm/stm32g0/common/Kconfig
@@ -3,6 +3,4 @@
 # see the file kconfig-language.txt in the NuttX tools repository.
 #
 
-if ARCH_BOARD_NUCLEO_G070RB
-
-endif
+source "boards/arm/common/stm32/Kconfig"
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/Make.defs 
b/boards/arm/stm32g0/common/Makefile
similarity index 63%
copy from boards/arm/stm32f0l0g0/nucleo-g070rb/src/Make.defs
copy to boards/arm/stm32g0/common/Makefile
index 3fcfafcf17f..c0ed3475cba 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/Make.defs
+++ b/boards/arm/stm32g0/common/Makefile
@@ -1,5 +1,5 @@
-############################################################################
-# boards/arm/stm32f0l0g0/nucleo-g070rb/src/Make.defs
+#############################################################################
+# boards/arm/stm32g0/common/Makefile
 #
 # SPDX-License-Identifier: Apache-2.0
 #
@@ -18,34 +18,21 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 #
-############################################################################
+#############################################################################
 
 include $(TOPDIR)/Make.defs
 
-CSRCS = stm32_boot.c stm32_bringup.c
+STM32_BOARD_COMMON_DIR := 
$(TOPDIR)$(DELIM)boards$(DELIM)arm$(DELIM)common$(DELIM)stm32
+STM32_COMMON_SRCDIR := 
$(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)common$(DELIM)stm32
 
-ifeq ($(CONFIG_ARCH_LEDS),y)
-CSRCS += stm32_autoleds.c
-else
-CSRCS += stm32_userleds.c
-endif
+include board/Make.defs
+include $(STM32_BOARD_COMMON_DIR)$(DELIM)src$(DELIM)Make.defs
 
-ifeq ($(CONFIG_ARCH_BUTTONS),y)
-CSRCS += stm32_buttons.c
-endif
-
-ifeq ($(CONFIG_DEV_GPIO),y)
-CSRCS += stm32_gpio.c
-endif
-
-ifeq ($(CONFIG_PWM),y)
-CSRCS += stm32_pwm.c
-endif
+DEPPATH += --dep-path board
 
-ifeq ($(CONFIG_TIMER),y)
-CSRCS += stm32_timer.c
-endif
+include $(TOPDIR)/boards/Board.mk
 
-DEPPATH += --dep-path board
-VPATH += :board
-CFLAGS += 
${INCDIR_PREFIX}$(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)board
+ARCHSRCDIR = $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src
+BOARDDIR = $(ARCHSRCDIR)$(DELIM)board
+CFLAGS += ${INCDIR_PREFIX}$(BOARDDIR)$(DELIM)include
+CFLAGS += ${INCDIR_PREFIX}$(STM32_COMMON_SRCDIR)
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt 
b/boards/arm/stm32g0/nucleo-g070rb/CMakeLists.txt
similarity index 71%
copy from boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
copy to boards/arm/stm32g0/nucleo-g070rb/CMakeLists.txt
index b0e6eae77fb..f505090d81c 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
+++ b/boards/arm/stm32g0/nucleo-g070rb/CMakeLists.txt
@@ -1,5 +1,5 @@
 # 
##############################################################################
-# boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
+# boards/arm/stm32g0/nucleo-g070rb/CMakeLists.txt
 #
 # SPDX-License-Identifier: Apache-2.0
 #
@@ -20,18 +20,4 @@
 #
 # 
##############################################################################
 
-set(SRCS stm32_boot.c stm32_bringup.c)
-
-if(CONFIG_ARCH_LEDS)
-  list(APPEND SRCS stm32_autoleds.c)
-else()
-  list(APPEND SRCS stm32_userleds.c)
-endif()
-
-if(CONFIG_ARCH_BUTTONS)
-  list(APPEND SRCS stm32_buttons.c)
-endif()
-
-target_sources(board PRIVATE ${SRCS})
-
-set_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/ld.script")
+add_subdirectory(src)
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/Kconfig 
b/boards/arm/stm32g0/nucleo-g070rb/Kconfig
similarity index 100%
rename from boards/arm/stm32f0l0g0/nucleo-g070rb/Kconfig
rename to boards/arm/stm32g0/nucleo-g070rb/Kconfig
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/configs/nsh/defconfig 
b/boards/arm/stm32g0/nucleo-g070rb/configs/nsh/defconfig
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g070rb/configs/nsh/defconfig
rename to boards/arm/stm32g0/nucleo-g070rb/configs/nsh/defconfig
index 5381c3dce05..f78e5a4b951 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g070rb/configs/nsh/defconfig
+++ b/boards/arm/stm32g0/nucleo-g070rb/configs/nsh/defconfig
@@ -10,7 +10,7 @@ CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-g070rb"
 CONFIG_ARCH_BOARD_NUCLEO_G070RB=y
 CONFIG_ARCH_BUTTONS=y
-CONFIG_ARCH_CHIP="stm32f0l0g0"
+CONFIG_ARCH_CHIP="stm32g0"
 CONFIG_ARCH_CHIP_STM32=y
 CONFIG_ARCH_CHIP_STM32G070RB=y
 CONFIG_ARCH_CHIP_STM32G0=y
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/include/board.h 
b/boards/arm/stm32g0/nucleo-g070rb/include/board.h
similarity index 99%
rename from boards/arm/stm32f0l0g0/nucleo-g070rb/include/board.h
rename to boards/arm/stm32g0/nucleo-g070rb/include/board.h
index 5e09c65d50a..2a65558b105 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g070rb/include/board.h
+++ b/boards/arm/stm32g0/nucleo-g070rb/include/board.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g070rb/include/board.h
+ * boards/arm/stm32g0/nucleo-g070rb/include/board.h
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/scripts/Make.defs 
b/boards/arm/stm32g0/nucleo-g070rb/scripts/Make.defs
similarity index 96%
rename from boards/arm/stm32f0l0g0/nucleo-g071rb/scripts/Make.defs
rename to boards/arm/stm32g0/nucleo-g070rb/scripts/Make.defs
index e7c7c7f21af..2e92c773e09 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/scripts/Make.defs
+++ b/boards/arm/stm32g0/nucleo-g070rb/scripts/Make.defs
@@ -1,5 +1,5 @@
 ############################################################################
-# boards/arm/stm32f0l0g0/nucleo-g071rb/scripts/Make.defs
+# boards/arm/stm32g0/nucleo-g070rb/scripts/Make.defs
 #
 # SPDX-License-Identifier: Apache-2.0
 #
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/scripts/ld.script 
b/boards/arm/stm32g0/nucleo-g070rb/scripts/ld.script
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g070rb/scripts/ld.script
rename to boards/arm/stm32g0/nucleo-g070rb/scripts/ld.script
index 3eddc960eb9..96714a97dd6 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g070rb/scripts/ld.script
+++ b/boards/arm/stm32g0/nucleo-g070rb/scripts/ld.script
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g070rb/scripts/ld.script
+ * boards/arm/stm32g0/nucleo-g070rb/scripts/ld.script
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/CMakeLists.txt 
b/boards/arm/stm32g0/nucleo-g070rb/src/CMakeLists.txt
similarity index 96%
rename from boards/arm/stm32f0l0g0/nucleo-g070rb/src/CMakeLists.txt
rename to boards/arm/stm32g0/nucleo-g070rb/src/CMakeLists.txt
index 08d07dd22c1..cea0f3cd6a3 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/CMakeLists.txt
+++ b/boards/arm/stm32g0/nucleo-g070rb/src/CMakeLists.txt
@@ -1,5 +1,5 @@
 # 
##############################################################################
-# boards/arm/stm32f0l0g0/nucleo-g070rb/src/CMakeLists.txt
+# boards/arm/stm32g0/nucleo-g070rb/src/CMakeLists.txt
 #
 # SPDX-License-Identifier: Apache-2.0
 #
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/Make.defs 
b/boards/arm/stm32g0/nucleo-g070rb/src/Make.defs
similarity index 96%
rename from boards/arm/stm32f0l0g0/nucleo-g070rb/src/Make.defs
rename to boards/arm/stm32g0/nucleo-g070rb/src/Make.defs
index 3fcfafcf17f..e7b3454bb32 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/Make.defs
+++ b/boards/arm/stm32g0/nucleo-g070rb/src/Make.defs
@@ -1,5 +1,5 @@
 ############################################################################
-# boards/arm/stm32f0l0g0/nucleo-g070rb/src/Make.defs
+# boards/arm/stm32g0/nucleo-g070rb/src/Make.defs
 #
 # SPDX-License-Identifier: Apache-2.0
 #
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/nucleo-g070rb.h 
b/boards/arm/stm32g0/nucleo-g070rb/src/nucleo-g070rb.h
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g070rb/src/nucleo-g070rb.h
rename to boards/arm/stm32g0/nucleo-g070rb/src/nucleo-g070rb.h
index c48523c4184..7db19ce4ced 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/nucleo-g070rb.h
+++ b/boards/arm/stm32g0/nucleo-g070rb/src/nucleo-g070rb.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g070rb/src/nucleo-g070rb.h
+ * boards/arm/stm32g0/nucleo-g070rb/src/nucleo-g070rb.h
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_autoleds.c 
b/boards/arm/stm32g0/nucleo-g070rb/src/stm32_autoleds.c
similarity index 97%
rename from boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_autoleds.c
rename to boards/arm/stm32g0/nucleo-g070rb/src/stm32_autoleds.c
index b96b3795bd0..185304a6903 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_autoleds.c
+++ b/boards/arm/stm32g0/nucleo-g070rb/src/stm32_autoleds.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_autoleds.c
+ * boards/arm/stm32g0/nucleo-g070rb/src/stm32_autoleds.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_boot.c 
b/boards/arm/stm32g0/nucleo-g070rb/src/stm32_boot.c
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_boot.c
rename to boards/arm/stm32g0/nucleo-g070rb/src/stm32_boot.c
index 5fc389ad066..c5fbfbc3047 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_boot.c
+++ b/boards/arm/stm32g0/nucleo-g070rb/src/stm32_boot.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_boot.c
+ * boards/arm/stm32g0/nucleo-g070rb/src/stm32_boot.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_bringup.c 
b/boards/arm/stm32g0/nucleo-g070rb/src/stm32_bringup.c
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_bringup.c
rename to boards/arm/stm32g0/nucleo-g070rb/src/stm32_bringup.c
index 975cd5aeb1c..8ca8dd171b8 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_bringup.c
+++ b/boards/arm/stm32g0/nucleo-g070rb/src/stm32_bringup.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_bringup.c
+ * boards/arm/stm32g0/nucleo-g070rb/src/stm32_bringup.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_buttons.c 
b/boards/arm/stm32g0/nucleo-g070rb/src/stm32_buttons.c
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_buttons.c
rename to boards/arm/stm32g0/nucleo-g070rb/src/stm32_buttons.c
index 9bd12c84dfa..4b711729ba8 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_buttons.c
+++ b/boards/arm/stm32g0/nucleo-g070rb/src/stm32_buttons.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_buttons.c
+ * boards/arm/stm32g0/nucleo-g070rb/src/stm32_buttons.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_gpio.c 
b/boards/arm/stm32g0/nucleo-g070rb/src/stm32_gpio.c
similarity index 99%
rename from boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_gpio.c
rename to boards/arm/stm32g0/nucleo-g070rb/src/stm32_gpio.c
index ecd0da7f944..d414c7c3e05 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_gpio.c
+++ b/boards/arm/stm32g0/nucleo-g070rb/src/stm32_gpio.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_gpio.c
+ * boards/arm/stm32g0/nucleo-g070rb/src/stm32_gpio.c
  *
  * SPDX-License-Identifier: BSD-3-Clause
  * SPDX-FileCopyrightText: Fundação CERTI. All rights reserved.
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_pwm.c 
b/boards/arm/stm32g0/nucleo-g070rb/src/stm32_pwm.c
similarity index 99%
rename from boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_pwm.c
rename to boards/arm/stm32g0/nucleo-g070rb/src/stm32_pwm.c
index b81ff3aa9b6..cfcbef9088a 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_pwm.c
+++ b/boards/arm/stm32g0/nucleo-g070rb/src/stm32_pwm.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_pwm.c
+ * boards/arm/stm32g0/nucleo-g070rb/src/stm32_pwm.c
  *
  * SPDX-License-Identifier: BSD-3-Clause
  * SPDX-FileCopyrightText: Fundação CERTI. All rights reserved.
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_timer.c 
b/boards/arm/stm32g0/nucleo-g070rb/src/stm32_timer.c
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_timer.c
rename to boards/arm/stm32g0/nucleo-g070rb/src/stm32_timer.c
index 9442536d35f..886e6f72ca0 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_timer.c
+++ b/boards/arm/stm32g0/nucleo-g070rb/src/stm32_timer.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_timer.c
+ * boards/arm/stm32g0/nucleo-g070rb/src/stm32_timer.c
  *
  * SPDX-License-Identifier: BSD-3-Clause
  * SPDX-FileCopyrightText: Fundação CERTI. All rights reserved.
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt 
b/boards/arm/stm32g0/nucleo-g071rb/CMakeLists.txt
similarity index 71%
copy from boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
copy to boards/arm/stm32g0/nucleo-g071rb/CMakeLists.txt
index b0e6eae77fb..4d11fab0a18 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
+++ b/boards/arm/stm32g0/nucleo-g071rb/CMakeLists.txt
@@ -1,5 +1,5 @@
 # 
##############################################################################
-# boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
+# boards/arm/stm32g0/nucleo-g071rb/CMakeLists.txt
 #
 # SPDX-License-Identifier: Apache-2.0
 #
@@ -20,18 +20,4 @@
 #
 # 
##############################################################################
 
-set(SRCS stm32_boot.c stm32_bringup.c)
-
-if(CONFIG_ARCH_LEDS)
-  list(APPEND SRCS stm32_autoleds.c)
-else()
-  list(APPEND SRCS stm32_userleds.c)
-endif()
-
-if(CONFIG_ARCH_BUTTONS)
-  list(APPEND SRCS stm32_buttons.c)
-endif()
-
-target_sources(board PRIVATE ${SRCS})
-
-set_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/ld.script")
+add_subdirectory(src)
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/Kconfig 
b/boards/arm/stm32g0/nucleo-g071rb/Kconfig
similarity index 100%
rename from boards/arm/stm32f0l0g0/nucleo-g071rb/Kconfig
rename to boards/arm/stm32g0/nucleo-g071rb/Kconfig
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/configs/nsh/defconfig 
b/boards/arm/stm32g0/nucleo-g071rb/configs/nsh/defconfig
similarity index 97%
rename from boards/arm/stm32f0l0g0/nucleo-g071rb/configs/nsh/defconfig
rename to boards/arm/stm32g0/nucleo-g071rb/configs/nsh/defconfig
index 8960d71e898..fd83983a8e0 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/configs/nsh/defconfig
+++ b/boards/arm/stm32g0/nucleo-g071rb/configs/nsh/defconfig
@@ -9,7 +9,7 @@
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-g071rb"
 CONFIG_ARCH_BOARD_NUCLEO_G071RB=y
-CONFIG_ARCH_CHIP="stm32f0l0g0"
+CONFIG_ARCH_CHIP="stm32g0"
 CONFIG_ARCH_CHIP_STM32=y
 CONFIG_ARCH_CHIP_STM32G071RB=y
 CONFIG_ARCH_CHIP_STM32G0=y
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/include/board.h 
b/boards/arm/stm32g0/nucleo-g071rb/include/board.h
similarity index 99%
rename from boards/arm/stm32f0l0g0/nucleo-g071rb/include/board.h
rename to boards/arm/stm32g0/nucleo-g071rb/include/board.h
index a6bba4ae7d9..bf18ab683b9 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/include/board.h
+++ b/boards/arm/stm32g0/nucleo-g071rb/include/board.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g071rb/include/board.h
+ * boards/arm/stm32g0/nucleo-g071rb/include/board.h
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g070rb/scripts/Make.defs 
b/boards/arm/stm32g0/nucleo-g071rb/scripts/Make.defs
similarity index 96%
rename from boards/arm/stm32f0l0g0/nucleo-g070rb/scripts/Make.defs
rename to boards/arm/stm32g0/nucleo-g071rb/scripts/Make.defs
index df8a4c75ba1..dfc69a1d5bf 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g070rb/scripts/Make.defs
+++ b/boards/arm/stm32g0/nucleo-g071rb/scripts/Make.defs
@@ -1,5 +1,5 @@
 ############################################################################
-# boards/arm/stm32f0l0g0/nucleo-g070rb/scripts/Make.defs
+# boards/arm/stm32g0/nucleo-g071rb/scripts/Make.defs
 #
 # SPDX-License-Identifier: Apache-2.0
 #
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/scripts/ld.script 
b/boards/arm/stm32g0/nucleo-g071rb/scripts/ld.script
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g071rb/scripts/ld.script
rename to boards/arm/stm32g0/nucleo-g071rb/scripts/ld.script
index b545dc383e7..9ea7803e49a 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/scripts/ld.script
+++ b/boards/arm/stm32g0/nucleo-g071rb/scripts/ld.script
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g071rb/scripts/ld.script
+ * boards/arm/stm32g0/nucleo-g071rb/scripts/ld.script
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt 
b/boards/arm/stm32g0/nucleo-g071rb/src/CMakeLists.txt
similarity index 95%
copy from boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
copy to boards/arm/stm32g0/nucleo-g071rb/src/CMakeLists.txt
index b0e6eae77fb..4a054473a96 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
+++ b/boards/arm/stm32g0/nucleo-g071rb/src/CMakeLists.txt
@@ -1,5 +1,5 @@
 # 
##############################################################################
-# boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
+# boards/arm/stm32g0/nucleo-g071rb/src/CMakeLists.txt
 #
 # SPDX-License-Identifier: Apache-2.0
 #
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/Make.defs 
b/boards/arm/stm32g0/nucleo-g071rb/src/Make.defs
similarity index 96%
rename from boards/arm/stm32f0l0g0/nucleo-g071rb/src/Make.defs
rename to boards/arm/stm32g0/nucleo-g071rb/src/Make.defs
index 75e78e8bc72..3fa2cd2f85f 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/Make.defs
+++ b/boards/arm/stm32g0/nucleo-g071rb/src/Make.defs
@@ -1,5 +1,5 @@
 ############################################################################
-# boards/arm/stm32f0l0g0/nucleo-g071rb/src/Make.defs
+# boards/arm/stm32g0/nucleo-g071rb/src/Make.defs
 #
 # SPDX-License-Identifier: Apache-2.0
 #
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/nucleo-g071rb.h 
b/boards/arm/stm32g0/nucleo-g071rb/src/nucleo-g071rb.h
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g071rb/src/nucleo-g071rb.h
rename to boards/arm/stm32g0/nucleo-g071rb/src/nucleo-g071rb.h
index 32e9d86e5fb..cda374f9f43 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/nucleo-g071rb.h
+++ b/boards/arm/stm32g0/nucleo-g071rb/src/nucleo-g071rb.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g071rb/src/nucleo-g071rb.h
+ * boards/arm/stm32g0/nucleo-g071rb/src/nucleo-g071rb.h
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/stm32_autoleds.c 
b/boards/arm/stm32g0/nucleo-g071rb/src/stm32_autoleds.c
similarity index 97%
rename from boards/arm/stm32f0l0g0/nucleo-g071rb/src/stm32_autoleds.c
rename to boards/arm/stm32g0/nucleo-g071rb/src/stm32_autoleds.c
index e0c9af572f4..38287bbc4a1 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/stm32_autoleds.c
+++ b/boards/arm/stm32g0/nucleo-g071rb/src/stm32_autoleds.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g071rb/src/stm32_autoleds.c
+ * boards/arm/stm32g0/nucleo-g071rb/src/stm32_autoleds.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/stm32_boot.c 
b/boards/arm/stm32g0/nucleo-g071rb/src/stm32_boot.c
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g071rb/src/stm32_boot.c
rename to boards/arm/stm32g0/nucleo-g071rb/src/stm32_boot.c
index 14706cd0ce5..5f891341e72 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/stm32_boot.c
+++ b/boards/arm/stm32g0/nucleo-g071rb/src/stm32_boot.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g071rb/src/stm32_boot.c
+ * boards/arm/stm32g0/nucleo-g071rb/src/stm32_boot.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/stm32_bringup.c 
b/boards/arm/stm32g0/nucleo-g071rb/src/stm32_bringup.c
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g071rb/src/stm32_bringup.c
rename to boards/arm/stm32g0/nucleo-g071rb/src/stm32_bringup.c
index cea5f3eab4e..d36512d8e58 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/stm32_bringup.c
+++ b/boards/arm/stm32g0/nucleo-g071rb/src/stm32_bringup.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g071rb/src/stm32_bringup.c
+ * boards/arm/stm32g0/nucleo-g071rb/src/stm32_bringup.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/stm32_buttons.c 
b/boards/arm/stm32g0/nucleo-g071rb/src/stm32_buttons.c
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g071rb/src/stm32_buttons.c
rename to boards/arm/stm32g0/nucleo-g071rb/src/stm32_buttons.c
index a8f45768364..881950a0dbc 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/stm32_buttons.c
+++ b/boards/arm/stm32g0/nucleo-g071rb/src/stm32_buttons.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g071rb/src/stm32_buttons.c
+ * boards/arm/stm32g0/nucleo-g071rb/src/stm32_buttons.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt 
b/boards/arm/stm32g0/nucleo-g0b1re/CMakeLists.txt
similarity index 71%
copy from boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
copy to boards/arm/stm32g0/nucleo-g0b1re/CMakeLists.txt
index b0e6eae77fb..7acee0b7fed 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
+++ b/boards/arm/stm32g0/nucleo-g0b1re/CMakeLists.txt
@@ -1,5 +1,5 @@
 # 
##############################################################################
-# boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
+# boards/arm/stm32g0/nucleo-g0b1re/CMakeLists.txt
 #
 # SPDX-License-Identifier: Apache-2.0
 #
@@ -20,18 +20,4 @@
 #
 # 
##############################################################################
 
-set(SRCS stm32_boot.c stm32_bringup.c)
-
-if(CONFIG_ARCH_LEDS)
-  list(APPEND SRCS stm32_autoleds.c)
-else()
-  list(APPEND SRCS stm32_userleds.c)
-endif()
-
-if(CONFIG_ARCH_BUTTONS)
-  list(APPEND SRCS stm32_buttons.c)
-endif()
-
-target_sources(board PRIVATE ${SRCS})
-
-set_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/ld.script")
+add_subdirectory(src)
diff --git a/boards/arm/stm32f0l0g0/nucleo-g0b1re/Kconfig 
b/boards/arm/stm32g0/nucleo-g0b1re/Kconfig
similarity index 100%
rename from boards/arm/stm32f0l0g0/nucleo-g0b1re/Kconfig
rename to boards/arm/stm32g0/nucleo-g0b1re/Kconfig
diff --git a/boards/arm/stm32f0l0g0/nucleo-g0b1re/configs/adc/defconfig 
b/boards/arm/stm32g0/nucleo-g0b1re/configs/adc/defconfig
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g0b1re/configs/adc/defconfig
rename to boards/arm/stm32g0/nucleo-g0b1re/configs/adc/defconfig
index afc8179b09e..c72cc65d0a7 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g0b1re/configs/adc/defconfig
+++ b/boards/arm/stm32g0/nucleo-g0b1re/configs/adc/defconfig
@@ -11,7 +11,7 @@ CONFIG_ANALOG=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-g0b1re"
 CONFIG_ARCH_BOARD_NUCLEO_G0B1RE=y
-CONFIG_ARCH_CHIP="stm32f0l0g0"
+CONFIG_ARCH_CHIP="stm32g0"
 CONFIG_ARCH_CHIP_STM32=y
 CONFIG_ARCH_CHIP_STM32G0=y
 CONFIG_ARCH_CHIP_STM32G0B1RE=y
diff --git a/boards/arm/stm32f0l0g0/nucleo-g0b1re/configs/adc_dma/defconfig 
b/boards/arm/stm32g0/nucleo-g0b1re/configs/adc_dma/defconfig
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g0b1re/configs/adc_dma/defconfig
rename to boards/arm/stm32g0/nucleo-g0b1re/configs/adc_dma/defconfig
index 2cffd2d94c1..6b0f6cd7c32 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g0b1re/configs/adc_dma/defconfig
+++ b/boards/arm/stm32g0/nucleo-g0b1re/configs/adc_dma/defconfig
@@ -12,7 +12,7 @@ CONFIG_ANALOG=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-g0b1re"
 CONFIG_ARCH_BOARD_NUCLEO_G0B1RE=y
-CONFIG_ARCH_CHIP="stm32f0l0g0"
+CONFIG_ARCH_CHIP="stm32g0"
 CONFIG_ARCH_CHIP_STM32=y
 CONFIG_ARCH_CHIP_STM32G0=y
 CONFIG_ARCH_CHIP_STM32G0B1RE=y
diff --git a/boards/arm/stm32f0l0g0/nucleo-g0b1re/configs/nsh/defconfig 
b/boards/arm/stm32g0/nucleo-g0b1re/configs/nsh/defconfig
similarity index 97%
rename from boards/arm/stm32f0l0g0/nucleo-g0b1re/configs/nsh/defconfig
rename to boards/arm/stm32g0/nucleo-g0b1re/configs/nsh/defconfig
index e093b5b2a67..05e08970e6c 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g0b1re/configs/nsh/defconfig
+++ b/boards/arm/stm32g0/nucleo-g0b1re/configs/nsh/defconfig
@@ -9,7 +9,7 @@
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-g0b1re"
 CONFIG_ARCH_BOARD_NUCLEO_G0B1RE=y
-CONFIG_ARCH_CHIP="stm32f0l0g0"
+CONFIG_ARCH_CHIP="stm32g0"
 CONFIG_ARCH_CHIP_STM32=y
 CONFIG_ARCH_CHIP_STM32G0=y
 CONFIG_ARCH_CHIP_STM32G0B1RE=y
diff --git a/boards/arm/stm32f0l0g0/nucleo-g0b1re/include/board.h 
b/boards/arm/stm32g0/nucleo-g0b1re/include/board.h
similarity index 99%
rename from boards/arm/stm32f0l0g0/nucleo-g0b1re/include/board.h
rename to boards/arm/stm32g0/nucleo-g0b1re/include/board.h
index 03888c49925..6120aad294e 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g0b1re/include/board.h
+++ b/boards/arm/stm32g0/nucleo-g0b1re/include/board.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g0b1re/include/board.h
+ * boards/arm/stm32g0/nucleo-g0b1re/include/board.h
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-l073rz/scripts/Make.defs 
b/boards/arm/stm32g0/nucleo-g0b1re/scripts/Make.defs
similarity index 96%
rename from boards/arm/stm32f0l0g0/nucleo-l073rz/scripts/Make.defs
rename to boards/arm/stm32g0/nucleo-g0b1re/scripts/Make.defs
index 0f50dc2d96b..5090b0ed960 100644
--- a/boards/arm/stm32f0l0g0/nucleo-l073rz/scripts/Make.defs
+++ b/boards/arm/stm32g0/nucleo-g0b1re/scripts/Make.defs
@@ -1,5 +1,5 @@
 ############################################################################
-# boards/arm/stm32f0l0g0/nucleo-l073rz/scripts/Make.defs
+# boards/arm/stm32g0/nucleo-g0b1re/scripts/Make.defs
 #
 # SPDX-License-Identifier: Apache-2.0
 #
diff --git a/boards/arm/stm32f0l0g0/nucleo-g0b1re/scripts/ld.script 
b/boards/arm/stm32g0/nucleo-g0b1re/scripts/ld.script
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g0b1re/scripts/ld.script
rename to boards/arm/stm32g0/nucleo-g0b1re/scripts/ld.script
index efe5f8f915e..0010b524154 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g0b1re/scripts/ld.script
+++ b/boards/arm/stm32g0/nucleo-g0b1re/scripts/ld.script
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g0b1re/scripts/ld.script
+ * boards/arm/stm32g0/nucleo-g0b1re/scripts/ld.script
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g0b1re/src/CMakeLists.txt 
b/boards/arm/stm32g0/nucleo-g0b1re/src/CMakeLists.txt
similarity index 95%
rename from boards/arm/stm32f0l0g0/nucleo-g0b1re/src/CMakeLists.txt
rename to boards/arm/stm32g0/nucleo-g0b1re/src/CMakeLists.txt
index 031e1fc9f43..e7835f86dd8 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g0b1re/src/CMakeLists.txt
+++ b/boards/arm/stm32g0/nucleo-g0b1re/src/CMakeLists.txt
@@ -1,5 +1,5 @@
 # 
##############################################################################
-# boards/arm/stm32f0l0g0/nucleo-g0b1re/src/CMakeLists.txt
+# boards/arm/stm32g0/nucleo-g0b1re/src/CMakeLists.txt
 #
 # SPDX-License-Identifier: Apache-2.0
 #
diff --git a/boards/arm/stm32f0l0g0/nucleo-g0b1re/src/Make.defs 
b/boards/arm/stm32g0/nucleo-g0b1re/src/Make.defs
similarity index 96%
rename from boards/arm/stm32f0l0g0/nucleo-g0b1re/src/Make.defs
rename to boards/arm/stm32g0/nucleo-g0b1re/src/Make.defs
index b3019b82f54..63f203ffda0 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g0b1re/src/Make.defs
+++ b/boards/arm/stm32g0/nucleo-g0b1re/src/Make.defs
@@ -1,5 +1,5 @@
 ############################################################################
-# boards/arm/stm32f0l0g0/nucleo-g0b1re/src/Make.defs
+# boards/arm/stm32g0/nucleo-g0b1re/src/Make.defs
 #
 # SPDX-License-Identifier: Apache-2.0
 #
diff --git a/boards/arm/stm32f0l0g0/nucleo-g0b1re/src/nucleo-g0b1re.h 
b/boards/arm/stm32g0/nucleo-g0b1re/src/nucleo-g0b1re.h
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g0b1re/src/nucleo-g0b1re.h
rename to boards/arm/stm32g0/nucleo-g0b1re/src/nucleo-g0b1re.h
index 66318689a0f..30f9bd80a2c 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g0b1re/src/nucleo-g0b1re.h
+++ b/boards/arm/stm32g0/nucleo-g0b1re/src/nucleo-g0b1re.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g0b1re/src/nucleo-g0b1re.h
+ * boards/arm/stm32g0/nucleo-g0b1re/src/nucleo-g0b1re.h
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_adc.c 
b/boards/arm/stm32g0/nucleo-g0b1re/src/stm32_adc.c
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_adc.c
rename to boards/arm/stm32g0/nucleo-g0b1re/src/stm32_adc.c
index b1f9be4fd72..21ab51079be 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_adc.c
+++ b/boards/arm/stm32g0/nucleo-g0b1re/src/stm32_adc.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_adc.c
+ * boards/arm/stm32g0/nucleo-g0b1re/src/stm32_adc.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_autoleds.c 
b/boards/arm/stm32g0/nucleo-g0b1re/src/stm32_autoleds.c
similarity index 97%
rename from boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_autoleds.c
rename to boards/arm/stm32g0/nucleo-g0b1re/src/stm32_autoleds.c
index 2ee5c55f2ad..248a297f617 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_autoleds.c
+++ b/boards/arm/stm32g0/nucleo-g0b1re/src/stm32_autoleds.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_autoleds.c
+ * boards/arm/stm32g0/nucleo-g0b1re/src/stm32_autoleds.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_boot.c 
b/boards/arm/stm32g0/nucleo-g0b1re/src/stm32_boot.c
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_boot.c
rename to boards/arm/stm32g0/nucleo-g0b1re/src/stm32_boot.c
index e882e5d1617..231a9256892 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_boot.c
+++ b/boards/arm/stm32g0/nucleo-g0b1re/src/stm32_boot.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_boot.c
+ * boards/arm/stm32g0/nucleo-g0b1re/src/stm32_boot.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_bringup.c 
b/boards/arm/stm32g0/nucleo-g0b1re/src/stm32_bringup.c
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_bringup.c
rename to boards/arm/stm32g0/nucleo-g0b1re/src/stm32_bringup.c
index e9ca45a84d7..d852c55b2a2 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_bringup.c
+++ b/boards/arm/stm32g0/nucleo-g0b1re/src/stm32_bringup.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_bringup.c
+ * boards/arm/stm32g0/nucleo-g0b1re/src/stm32_bringup.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_buttons.c 
b/boards/arm/stm32g0/nucleo-g0b1re/src/stm32_buttons.c
similarity index 98%
rename from boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_buttons.c
rename to boards/arm/stm32g0/nucleo-g0b1re/src/stm32_buttons.c
index 688327750b6..8a389b06aef 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_buttons.c
+++ b/boards/arm/stm32g0/nucleo-g0b1re/src/stm32_buttons.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/nucleo-g0b1re/src/stm32_buttons.c
+ * boards/arm/stm32g0/nucleo-g0b1re/src/stm32_buttons.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt 
b/boards/arm/stm32g0/stm32g071b-disco/CMakeLists.txt
similarity index 71%
rename from boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
rename to boards/arm/stm32g0/stm32g071b-disco/CMakeLists.txt
index b0e6eae77fb..2b50926e867 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
+++ b/boards/arm/stm32g0/stm32g071b-disco/CMakeLists.txt
@@ -1,5 +1,5 @@
 # 
##############################################################################
-# boards/arm/stm32f0l0g0/nucleo-g071rb/src/CMakeLists.txt
+# boards/arm/stm32g0/stm32g071b-disco/CMakeLists.txt
 #
 # SPDX-License-Identifier: Apache-2.0
 #
@@ -20,18 +20,4 @@
 #
 # 
##############################################################################
 
-set(SRCS stm32_boot.c stm32_bringup.c)
-
-if(CONFIG_ARCH_LEDS)
-  list(APPEND SRCS stm32_autoleds.c)
-else()
-  list(APPEND SRCS stm32_userleds.c)
-endif()
-
-if(CONFIG_ARCH_BUTTONS)
-  list(APPEND SRCS stm32_buttons.c)
-endif()
-
-target_sources(board PRIVATE ${SRCS})
-
-set_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/ld.script")
+add_subdirectory(src)
diff --git a/boards/arm/stm32f0l0g0/stm32g071b-disco/Kconfig 
b/boards/arm/stm32g0/stm32g071b-disco/Kconfig
similarity index 100%
rename from boards/arm/stm32f0l0g0/stm32g071b-disco/Kconfig
rename to boards/arm/stm32g0/stm32g071b-disco/Kconfig
diff --git a/boards/arm/stm32f0l0g0/stm32g071b-disco/configs/nsh/defconfig 
b/boards/arm/stm32g0/stm32g071b-disco/configs/nsh/defconfig
similarity index 98%
rename from boards/arm/stm32f0l0g0/stm32g071b-disco/configs/nsh/defconfig
rename to boards/arm/stm32g0/stm32g071b-disco/configs/nsh/defconfig
index 2c85c18f603..0fc28153e81 100644
--- a/boards/arm/stm32f0l0g0/stm32g071b-disco/configs/nsh/defconfig
+++ b/boards/arm/stm32g0/stm32g071b-disco/configs/nsh/defconfig
@@ -10,7 +10,7 @@
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="stm32g071b-disco"
 CONFIG_ARCH_BOARD_STM32G071B_DISCO=y
-CONFIG_ARCH_CHIP="stm32f0l0g0"
+CONFIG_ARCH_CHIP="stm32g0"
 CONFIG_ARCH_CHIP_STM32=y
 CONFIG_ARCH_CHIP_STM32G071RB=y
 CONFIG_ARCH_CHIP_STM32G0=y
diff --git a/boards/arm/stm32f0l0g0/stm32g071b-disco/configs/oled/defconfig 
b/boards/arm/stm32g0/stm32g071b-disco/configs/oled/defconfig
similarity index 98%
rename from boards/arm/stm32f0l0g0/stm32g071b-disco/configs/oled/defconfig
rename to boards/arm/stm32g0/stm32g071b-disco/configs/oled/defconfig
index a0e1eef8c5b..37dc8896e41 100644
--- a/boards/arm/stm32f0l0g0/stm32g071b-disco/configs/oled/defconfig
+++ b/boards/arm/stm32g0/stm32g071b-disco/configs/oled/defconfig
@@ -13,7 +13,7 @@ CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="stm32g071b-disco"
 CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_STM32G071B_DISCO=y
-CONFIG_ARCH_CHIP="stm32f0l0g0"
+CONFIG_ARCH_CHIP="stm32g0"
 CONFIG_ARCH_CHIP_STM32=y
 CONFIG_ARCH_CHIP_STM32G071RB=y
 CONFIG_ARCH_CHIP_STM32G0=y
diff --git a/boards/arm/stm32f0l0g0/stm32g071b-disco/include/board.h 
b/boards/arm/stm32g0/stm32g071b-disco/include/board.h
similarity index 99%
rename from boards/arm/stm32f0l0g0/stm32g071b-disco/include/board.h
rename to boards/arm/stm32g0/stm32g071b-disco/include/board.h
index c3e14a3fe1d..86274e4365e 100644
--- a/boards/arm/stm32f0l0g0/stm32g071b-disco/include/board.h
+++ b/boards/arm/stm32g0/stm32g071b-disco/include/board.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/stm32g071b-disco/include/board.h
+ * boards/arm/stm32g0/stm32g071b-disco/include/board.h
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/nucleo-g0b1re/scripts/Make.defs 
b/boards/arm/stm32g0/stm32g071b-disco/scripts/Make.defs
similarity index 96%
rename from boards/arm/stm32f0l0g0/nucleo-g0b1re/scripts/Make.defs
rename to boards/arm/stm32g0/stm32g071b-disco/scripts/Make.defs
index 4f7c125818c..86966d95270 100644
--- a/boards/arm/stm32f0l0g0/nucleo-g0b1re/scripts/Make.defs
+++ b/boards/arm/stm32g0/stm32g071b-disco/scripts/Make.defs
@@ -1,5 +1,5 @@
 ############################################################################
-# boards/arm/stm32f0l0g0/nucleo-g0b1re/scripts/Make.defs
+# boards/arm/stm32g0/stm32g071b-disco/scripts/Make.defs
 #
 # SPDX-License-Identifier: Apache-2.0
 #
diff --git a/boards/arm/stm32f0l0g0/stm32g071b-disco/scripts/ld.script 
b/boards/arm/stm32g0/stm32g071b-disco/scripts/ld.script
similarity index 98%
rename from boards/arm/stm32f0l0g0/stm32g071b-disco/scripts/ld.script
rename to boards/arm/stm32g0/stm32g071b-disco/scripts/ld.script
index 83336a8c174..b39bb951fed 100644
--- a/boards/arm/stm32f0l0g0/stm32g071b-disco/scripts/ld.script
+++ b/boards/arm/stm32g0/stm32g071b-disco/scripts/ld.script
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/stm32g071b-disco/scripts/ld.script
+ * boards/arm/stm32g0/stm32g071b-disco/scripts/ld.script
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/CMakeLists.txt 
b/boards/arm/stm32g0/stm32g071b-disco/src/CMakeLists.txt
similarity index 96%
rename from boards/arm/stm32f0l0g0/stm32g071b-disco/src/CMakeLists.txt
rename to boards/arm/stm32g0/stm32g071b-disco/src/CMakeLists.txt
index 88d162b1679..2757b87d9fd 100644
--- a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/CMakeLists.txt
+++ b/boards/arm/stm32g0/stm32g071b-disco/src/CMakeLists.txt
@@ -1,5 +1,5 @@
 # 
##############################################################################
-# boards/arm/stm32f0l0g0/stm32g071b-disco/src/CMakeLists.txt
+# boards/arm/stm32g0/stm32g071b-disco/src/CMakeLists.txt
 #
 # SPDX-License-Identifier: Apache-2.0
 #
diff --git a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/Make.defs 
b/boards/arm/stm32g0/stm32g071b-disco/src/Make.defs
similarity index 96%
rename from boards/arm/stm32f0l0g0/stm32g071b-disco/src/Make.defs
rename to boards/arm/stm32g0/stm32g071b-disco/src/Make.defs
index 1f012b2515c..0adb2e6de3e 100644
--- a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/Make.defs
+++ b/boards/arm/stm32g0/stm32g071b-disco/src/Make.defs
@@ -1,5 +1,5 @@
 ############################################################################
-# boards/arm/stm32f0l0g0/stm32g071b-disco/src/Make.defs
+# boards/arm/stm32g0/stm32g071b-disco/src/Make.defs
 #
 # SPDX-License-Identifier: Apache-2.0
 #
diff --git a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_boot.c 
b/boards/arm/stm32g0/stm32g071b-disco/src/stm32_boot.c
similarity index 98%
rename from boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_boot.c
rename to boards/arm/stm32g0/stm32g071b-disco/src/stm32_boot.c
index 9fd6f2becdc..9ceb6f99b05 100644
--- a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_boot.c
+++ b/boards/arm/stm32g0/stm32g071b-disco/src/stm32_boot.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_boot.c
+ * boards/arm/stm32g0/stm32g071b-disco/src/stm32_boot.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_bringup.c 
b/boards/arm/stm32g0/stm32g071b-disco/src/stm32_bringup.c
similarity index 98%
rename from boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_bringup.c
rename to boards/arm/stm32g0/stm32g071b-disco/src/stm32_bringup.c
index c41a38d31a1..09ca37d7392 100644
--- a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_bringup.c
+++ b/boards/arm/stm32g0/stm32g071b-disco/src/stm32_bringup.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_bringup.c
+ * boards/arm/stm32g0/stm32g071b-disco/src/stm32_bringup.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_djoystick.c 
b/boards/arm/stm32g0/stm32g071b-disco/src/stm32_djoystick.c
similarity index 99%
rename from boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_djoystick.c
rename to boards/arm/stm32g0/stm32g071b-disco/src/stm32_djoystick.c
index bd9171ece4a..0eae75d75e2 100644
--- a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_djoystick.c
+++ b/boards/arm/stm32g0/stm32g071b-disco/src/stm32_djoystick.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_djoystick.c
+ * boards/arm/stm32g0/stm32g071b-disco/src/stm32_djoystick.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_gpio.c 
b/boards/arm/stm32g0/stm32g071b-disco/src/stm32_gpio.c
similarity index 99%
rename from boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_gpio.c
rename to boards/arm/stm32g0/stm32g071b-disco/src/stm32_gpio.c
index 310ba0bc75c..edc72b34f92 100644
--- a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_gpio.c
+++ b/boards/arm/stm32g0/stm32g071b-disco/src/stm32_gpio.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_gpio.c
+ * boards/arm/stm32g0/stm32g071b-disco/src/stm32_gpio.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_ina226.c 
b/boards/arm/stm32g0/stm32g071b-disco/src/stm32_ina226.c
similarity index 98%
rename from boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_ina226.c
rename to boards/arm/stm32g0/stm32g071b-disco/src/stm32_ina226.c
index 1dce5040dd3..5655d41731c 100644
--- a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_ina226.c
+++ b/boards/arm/stm32g0/stm32g071b-disco/src/stm32_ina226.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_ina226.c
+ * boards/arm/stm32g0/stm32g071b-disco/src/stm32_ina226.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_lcd_ssd1306.c 
b/boards/arm/stm32g0/stm32g071b-disco/src/stm32_lcd_ssd1306.c
similarity index 97%
rename from boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_lcd_ssd1306.c
rename to boards/arm/stm32g0/stm32g071b-disco/src/stm32_lcd_ssd1306.c
index ee25ef5734f..db74b668500 100644
--- a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_lcd_ssd1306.c
+++ b/boards/arm/stm32g0/stm32g071b-disco/src/stm32_lcd_ssd1306.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_lcd_ssd1306.c
+ * boards/arm/stm32g0/stm32g071b-disco/src/stm32_lcd_ssd1306.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_spi.c 
b/boards/arm/stm32g0/stm32g071b-disco/src/stm32_spi.c
similarity index 99%
rename from boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_spi.c
rename to boards/arm/stm32g0/stm32g071b-disco/src/stm32_spi.c
index 07037ab3d6b..f75d17e3bd1 100644
--- a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_spi.c
+++ b/boards/arm/stm32g0/stm32g071b-disco/src/stm32_spi.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_spi.c
+ * boards/arm/stm32g0/stm32g071b-disco/src/stm32_spi.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_userleds.c 
b/boards/arm/stm32g0/stm32g071b-disco/src/stm32_userleds.c
similarity index 97%
rename from boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_userleds.c
rename to boards/arm/stm32g0/stm32g071b-disco/src/stm32_userleds.c
index d8845d205d5..c1341209dff 100644
--- a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_userleds.c
+++ b/boards/arm/stm32g0/stm32g071b-disco/src/stm32_userleds.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32_userleds.c
+ * boards/arm/stm32g0/stm32g071b-disco/src/stm32_userleds.c
  *
  * SPDX-License-Identifier: Apache-2.0
  *
diff --git a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32g071b-disco.h 
b/boards/arm/stm32g0/stm32g071b-disco/src/stm32g071b-disco.h
similarity index 99%
rename from boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32g071b-disco.h
rename to boards/arm/stm32g0/stm32g071b-disco/src/stm32g071b-disco.h
index f8c27839f17..69585d3f7b1 100644
--- a/boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32g071b-disco.h
+++ b/boards/arm/stm32g0/stm32g071b-disco/src/stm32g071b-disco.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * boards/arm/stm32f0l0g0/stm32g071b-disco/src/stm32g071b-disco.h
+ * boards/arm/stm32g0/stm32g071b-disco/src/stm32g071b-disco.h
  *
  * SPDX-License-Identifier: Apache-2.0
  *

Reply via email to