You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2022/03/11 08:00:12 UTC

[incubator-nuttx] branch master updated: boards/Kconfig: introduce ARCH_BOARD_COMMON option

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

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


The following commit(s) were added to refs/heads/master by this push:
     new dab5bb6  boards/Kconfig: introduce ARCH_BOARD_COMMON option
dab5bb6 is described below

commit dab5bb6bd3daf3187e2c882adfeade1f0c1725c6
Author: Petro Karashchenko <pe...@gmail.com>
AuthorDate: Thu Mar 10 19:18:20 2022 +0100

    boards/Kconfig: introduce ARCH_BOARD_COMMON option
    
    Signed-off-by: Petro Karashchenko <pe...@gmail.com>
---
 boards/Kconfig                                     | 26 ++++++++++++++--------
 boards/arm/cxd56xx/common/Kconfig                  |  4 ----
 boards/arm/cxd56xx/common/src/Make.defs            |  8 +++++--
 .../arm/cxd56xx/spresense/configs/audio/defconfig  |  1 +
 .../cxd56xx/spresense/configs/audio_sdk/defconfig  |  1 +
 .../arm/cxd56xx/spresense/configs/camera/defconfig |  1 +
 .../cxd56xx/spresense/configs/charger/defconfig    |  1 +
 boards/arm/cxd56xx/spresense/configs/elf/defconfig |  1 +
 .../spresense/configs/example_camera/defconfig     |  1 +
 .../spresense/configs/example_lcd/defconfig        |  1 +
 boards/arm/cxd56xx/spresense/configs/lcd/defconfig |  1 +
 boards/arm/cxd56xx/spresense/configs/lte/defconfig |  1 +
 .../arm/cxd56xx/spresense/configs/module/defconfig |  1 +
 boards/arm/cxd56xx/spresense/configs/mpy/defconfig |  1 +
 boards/arm/cxd56xx/spresense/configs/nsh/defconfig |  1 +
 .../cxd56xx/spresense/configs/nsh_trace/defconfig  |  1 +
 .../spresense/configs/posix_spawn/defconfig        |  1 +
 .../arm/cxd56xx/spresense/configs/rndis/defconfig  |  1 +
 .../cxd56xx/spresense/configs/rndis_smp/defconfig  |  1 +
 boards/arm/cxd56xx/spresense/configs/smp/defconfig |  1 +
 .../arm/cxd56xx/spresense/configs/usbmsc/defconfig |  1 +
 .../arm/cxd56xx/spresense/configs/usbnsh/defconfig |  1 +
 .../arm/cxd56xx/spresense/configs/wifi/defconfig   |  1 +
 .../cxd56xx/spresense/configs/wifi_smp/defconfig   |  1 +
 boards/arm/cxd56xx/spresense/scripts/Make.defs     |  2 +-
 boards/arm/rp2040/common/Makefile                  |  1 -
 boards/arm/rp2040/common/src/Make.defs             |  4 ++++
 .../pimoroni-tiny2040/configs/composite/defconfig  |  1 +
 .../pimoroni-tiny2040/configs/gpio/defconfig       |  1 +
 .../rp2040/pimoroni-tiny2040/configs/nsh/defconfig |  1 +
 .../pimoroni-tiny2040/configs/nshsram/defconfig    |  1 +
 .../rp2040/pimoroni-tiny2040/configs/smp/defconfig |  1 +
 .../pimoroni-tiny2040/configs/spisd/defconfig      |  1 +
 .../pimoroni-tiny2040/configs/usbmsc/defconfig     |  1 +
 .../pimoroni-tiny2040/configs/usbnsh/defconfig     |  1 +
 .../raspberrypi-pico/configs/audiopack/defconfig   |  1 +
 .../raspberrypi-pico/configs/composite/defconfig   |  1 +
 .../raspberrypi-pico/configs/displaypack/defconfig |  1 +
 .../raspberrypi-pico/configs/enc28j60/defconfig    |  1 +
 .../raspberrypi-pico/configs/lcd1602/defconfig     |  1 +
 .../rp2040/raspberrypi-pico/configs/nsh/defconfig  |  1 +
 .../raspberrypi-pico/configs/nshsram/defconfig     |  1 +
 .../rp2040/raspberrypi-pico/configs/smp/defconfig  |  1 +
 .../raspberrypi-pico/configs/spisd/defconfig       |  1 +
 .../raspberrypi-pico/configs/ssd1306/defconfig     |  1 +
 .../raspberrypi-pico/configs/st7735/defconfig      |  1 +
 .../raspberrypi-pico/configs/usbmsc/defconfig      |  1 +
 .../raspberrypi-pico/configs/usbnsh/defconfig      |  1 +
 .../configs/waveshare-lcd-1.14/defconfig           |  1 +
 .../configs/waveshare-lcd-1.3/defconfig            |  1 +
 .../arm/samd5e5/same54-xplained-pro/src/Makefile   |  2 +-
 boards/arm/samv7/common/Kconfig                    | 10 ---------
 boards/arm/samv7/common/src/Make.defs              |  9 +++++---
 .../configs/mcuboot-confirm/defconfig              |  2 +-
 .../same70-qmtech/configs/mcuboot-loader/defconfig |  2 +-
 .../arm/samv7/same70-qmtech/configs/nsh/defconfig  |  1 +
 .../samv7/same70-xplained/configs/adc/defconfig    |  1 +
 .../configs/mcuboot-confirm/defconfig              |  2 +-
 .../configs/mcuboot-loader/defconfig               |  2 +-
 .../samv7/same70-xplained/configs/netnsh/defconfig |  1 +
 .../samv7/same70-xplained/configs/nsh/defconfig    |  1 +
 .../samv7/same70-xplained/configs/pwm/defconfig    |  1 +
 .../samv7/same70-xplained/configs/pysim/defconfig  |  1 +
 .../samv7/same70-xplained/configs/twm4nx/defconfig |  1 +
 .../arm/samv7/samv71-xult/configs/knsh/defconfig   |  1 +
 .../samv71-xult/configs/mcuboot-loader/defconfig   |  2 +-
 .../samv71-xult/configs/mcuboot-nsh/defconfig      |  2 +-
 .../samv71-xult/configs/mrf24j40-starhub/defconfig |  1 +
 .../samv7/samv71-xult/configs/mxtxplnd/defconfig   |  1 +
 .../arm/samv7/samv71-xult/configs/netnsh/defconfig |  1 +
 boards/arm/samv7/samv71-xult/configs/nsh/defconfig |  1 +
 .../arm/samv7/samv71-xult/configs/nxwm/defconfig   |  1 +
 boards/arm/samv7/samv71-xult/configs/vnc/defconfig |  1 +
 .../arm/samv7/samv71-xult/configs/vnxwm/defconfig  |  1 +
 boards/arm/stm32/common/Kconfig                    | 10 ---------
 boards/arm/stm32/common/Makefile                   |  1 -
 boards/arm/stm32/common/src/Make.defs              |  4 ++++
 .../nucleo-f103rb/configs/ihm07m1_b16/defconfig    |  2 +-
 .../stm32/nucleo-f103rb/configs/qenco/defconfig    |  1 +
 .../nucleo-f302r8/configs/ihm07m1_b16/defconfig    |  2 +-
 .../nucleo-f302r8/configs/ihm07m1_f32/defconfig    |  2 +-
 .../stm32/nucleo-f302r8/configs/qenco/defconfig    |  2 +-
 .../nucleo-f303ze/configs/nxlines_oled/defconfig   |  1 +
 .../nucleo-f446re/configs/ihm08m1_b16/defconfig    |  2 +-
 .../nucleo-f446re/configs/ihm08m1_f32/defconfig    |  2 +-
 .../stm32/nucleo-f446re/configs/qenco/defconfig    |  2 +-
 .../nucleo-g431rb/configs/ihm16m1_b16/defconfig    |  2 +-
 .../nucleo-g431rb/configs/ihm16m1_f32/defconfig    |  2 +-
 .../stm32/nucleo-g431rb/configs/qenco/defconfig    |  1 +
 .../olimex-stm32-e407/configs/bmp180/defconfig     |  1 +
 .../olimex-stm32-e407/configs/ina219/defconfig     |  1 +
 .../olimex-stm32-p407/configs/dhtxx/defconfig      |  1 +
 boards/arm/stm32/stm32_tiny/configs/nsh/defconfig  |  1 +
 .../stm32f103-minimum/configs/apds9960/defconfig   |  1 +
 .../stm32f103-minimum/configs/audio_tone/defconfig |  1 +
 .../stm32f103-minimum/configs/lcd1602/defconfig    |  1 +
 .../stm32f103-minimum/configs/nrf24/defconfig      |  1 +
 .../stm32f103-minimum/configs/veml6070/defconfig   |  1 +
 .../stm32f4discovery/configs/lcd1602/defconfig     |  1 +
 .../stm32f4discovery/configs/max31855/defconfig    |  1 +
 .../stm32f4discovery/configs/xen1210/defconfig     |  1 +
 boards/arm/stm32f7/stm32f746g-disco/src/Makefile   |  4 ++--
 boards/arm/stm32h7/nucleo-h743zi/src/Makefile      |  2 +-
 boards/arm/stm32h7/stm32h747i-disco/src/Makefile   |  4 ++--
 boards/risc-v/mpfs/common/Makefile                 |  1 -
 boards/risc-v/mpfs/common/src/Make.defs            |  4 ++++
 boards/risc-v/mpfs/icicle/configs/hwtest/defconfig |  1 +
 boards/risc-v/mpfs/icicle/configs/knsh/defconfig   |  1 +
 boards/risc-v/mpfs/icicle/configs/nsh/defconfig    |  1 +
 .../risc-v/mpfs/icicle/configs/opensbi/defconfig   |  1 +
 .../risc-v/mpfs/m100pfsevp/configs/nsh/defconfig   |  1 +
 boards/xtensa/esp32/common/Kconfig                 |  1 +
 boards/xtensa/esp32/common/src/Make.defs           |  4 ++++
 .../esp32/esp32-devkitc/configs/autopm/defconfig   |  1 +
 .../esp32/esp32-devkitc/configs/ble/defconfig      |  1 +
 .../esp32/esp32-devkitc/configs/blewifi/defconfig  |  1 +
 .../esp32/esp32-devkitc/configs/buttons/defconfig  |  1 +
 .../esp32/esp32-devkitc/configs/coex/defconfig     |  1 +
 .../esp32/esp32-devkitc/configs/elf/defconfig      |  1 +
 .../esp32/esp32-devkitc/configs/leds/defconfig     |  1 +
 .../esp32/esp32-devkitc/configs/mcp2515/defconfig  |  1 +
 .../esp32-devkitc/configs/mcuboot_agent/defconfig  |  1 +
 .../configs/mcuboot_confirm/defconfig              |  1 +
 .../esp32/esp32-devkitc/configs/mmcsdspi/defconfig |  1 +
 .../esp32/esp32-devkitc/configs/modbus/defconfig   |  1 +
 .../esp32/esp32-devkitc/configs/module/defconfig   |  1 +
 .../esp32/esp32-devkitc/configs/mqttc/defconfig    |  1 +
 .../esp32/esp32-devkitc/configs/ms5611/defconfig   |  1 +
 .../esp32/esp32-devkitc/configs/netnsh/defconfig   |  1 +
 .../esp32/esp32-devkitc/configs/nsh/defconfig      |  1 +
 .../esp32/esp32-devkitc/configs/oneshot/defconfig  |  1 +
 .../esp32/esp32-devkitc/configs/ostest/defconfig   |  1 +
 .../esp32/esp32-devkitc/configs/pm/defconfig       |  1 +
 .../esp32/esp32-devkitc/configs/psram/defconfig    |  1 +
 .../esp32/esp32-devkitc/configs/pwm/defconfig      |  1 +
 .../esp32/esp32-devkitc/configs/random/defconfig   |  1 +
 .../esp32/esp32-devkitc/configs/rtc/defconfig      |  1 +
 .../esp32/esp32-devkitc/configs/smp/defconfig      |  1 +
 .../esp32/esp32-devkitc/configs/sotest/defconfig   |  1 +
 .../esp32/esp32-devkitc/configs/spiflash/defconfig |  1 +
 .../esp32-devkitc/configs/sta_softap/defconfig     |  1 +
 .../esp32/esp32-devkitc/configs/tickless/defconfig |  1 +
 .../esp32/esp32-devkitc/configs/timer/defconfig    |  1 +
 .../esp32/esp32-devkitc/configs/wapi/defconfig     |  1 +
 .../esp32/esp32-devkitc/configs/wapi_smp/defconfig |  1 +
 .../esp32/esp32-devkitc/configs/watchdog/defconfig |  1 +
 .../esp32/esp32-devkitc/configs/watcher/defconfig  |  1 +
 .../esp32/esp32-devkitc/configs/wifinsh/defconfig  |  1 +
 .../esp32-ethernet-kit/configs/autopm/defconfig    |  1 +
 .../esp32-ethernet-kit/configs/buttons/defconfig   |  1 +
 .../esp32-ethernet-kit/configs/ethernet/defconfig  |  1 +
 .../configs/mcuboot_agent/defconfig                |  1 +
 .../configs/mcuboot_confirm/defconfig              |  1 +
 .../esp32/esp32-ethernet-kit/configs/nsh/defconfig |  1 +
 .../esp32-ethernet-kit/configs/oneshot/defconfig   |  1 +
 .../esp32/esp32-ethernet-kit/configs/rtc/defconfig |  1 +
 .../esp32-ethernet-kit/configs/tickless/defconfig  |  1 +
 .../esp32-ethernet-kit/configs/wapi/defconfig      |  1 +
 .../esp32-wrover-kit/configs/autopm/defconfig      |  1 +
 .../esp32-wrover-kit/configs/bmp180/defconfig      |  1 +
 .../esp32-wrover-kit/configs/buttons/defconfig     |  1 +
 .../esp32/esp32-wrover-kit/configs/gpio/defconfig  |  1 +
 .../esp32-wrover-kit/configs/lcd1602/defconfig     |  1 +
 .../esp32/esp32-wrover-kit/configs/leds/defconfig  |  1 +
 .../esp32/esp32-wrover-kit/configs/lvgl/defconfig  |  1 +
 .../configs/mcuboot_agent/defconfig                |  1 +
 .../configs/mcuboot_confirm/defconfig              |  1 +
 .../esp32/esp32-wrover-kit/configs/nsh/defconfig   |  1 +
 .../esp32/esp32-wrover-kit/configs/nx/defconfig    |  1 +
 .../esp32-wrover-kit/configs/oneshot/defconfig     |  1 +
 .../esp32/esp32-wrover-kit/configs/rtc/defconfig   |  1 +
 .../esp32-wrover-kit/configs/tickless/defconfig    |  1 +
 .../esp32/esp32-wrover-kit/configs/wapi/defconfig  |  1 +
 .../esp32/ttgo_lora_esp32/configs/nsh/defconfig    |  1 +
 boards/xtensa/esp32s2/common/src/Make.defs         |  4 ++++
 .../esp32s2/esp32s2-saola-1/configs/gpio/defconfig |  1 +
 .../esp32s2-saola-1/configs/mcuboot_nsh/defconfig  |  1 +
 .../esp32s2/esp32s2-saola-1/configs/nsh/defconfig  |  1 +
 .../esp32s2-saola-1/configs/oneshot/defconfig      |  1 +
 .../esp32s2-saola-1/configs/random/defconfig       |  1 +
 .../esp32s2-saola-1/configs/timer/defconfig        |  1 +
 .../esp32s2-saola-1/configs/watchdog/defconfig     |  1 +
 boards/xtensa/esp32s3/common/src/Make.defs         |  4 ++++
 .../esp32s3/esp32s3-devkit/configs/nsh/defconfig   |  1 +
 .../esp32s3-devkit/configs/oneshot/defconfig       |  1 +
 .../esp32s3/esp32s3-devkit/configs/smp/defconfig   |  1 +
 .../esp32s3-devkit/configs/spiflash/defconfig      |  1 +
 .../esp32s3-devkit/configs/tickless/defconfig      |  1 +
 .../esp32s3/esp32s3-devkit/configs/timer/defconfig |  1 +
 .../esp32s3-devkit/configs/watchdog/defconfig      |  1 +
 190 files changed, 230 insertions(+), 63 deletions(-)

diff --git a/boards/Kconfig b/boards/Kconfig
index faa576e..4d8c449 100644
--- a/boards/Kconfig
+++ b/boards/Kconfig
@@ -3299,15 +3299,9 @@ endif
 if ARCH_BOARD_ESP32C3_DEVKIT
 source "boards/risc-v/esp32c3/esp32c3-devkit/Kconfig"
 endif
-if ARCH_CHIP_ESP32S2 && !ARCH_BOARD_CUSTOM
-source "boards/xtensa/esp32s2/common/Kconfig"
-endif
 if ARCH_BOARD_ESP32S2_SAOLA_1
 source "boards/xtensa/esp32s2/esp32s2-saola-1/Kconfig"
 endif
-if ARCH_CHIP_ESP32S3 && !ARCH_BOARD_CUSTOM
-source "boards/xtensa/esp32s3/common/Kconfig"
-endif
 if ARCH_BOARD_ESP32S3_DEVKIT
 source "boards/xtensa/esp32s3/esp32s3-devkit/Kconfig"
 endif
@@ -3332,9 +3326,6 @@ endif
 if ARCH_BOARD_RX65N_GRROSE
 source "boards/renesas/rx65n/rx65n-grrose/Kconfig"
 endif
-if ARCH_CHIP_ESP32 && !ARCH_BOARD_CUSTOM
-source "boards/xtensa/esp32/common/Kconfig"
-endif
 if ARCH_BOARD_ESP32_DEVKITC
 source "boards/xtensa/esp32/esp32-devkitc/Kconfig"
 endif
@@ -3389,12 +3380,29 @@ endif
 
 comment "Board-Common Options"
 
+config ARCH_BOARD_COMMON
+	bool "Board common logic"
+	default n
+	---help---
+		 Board common logic located in each board/common folder.
+
+if ARCH_BOARD_COMMON
+if ARCH_CHIP_ESP32
+source "boards/xtensa/esp32/common/Kconfig"
+endif
+if ARCH_CHIP_ESP32S2
+source "boards/xtensa/esp32s2/common/Kconfig"
+endif
+if ARCH_CHIP_ESP32S3
+source "boards/xtensa/esp32s3/common/Kconfig"
+endif
 if ARCH_CHIP_SAMV7
 source "boards/arm/samv7/common/Kconfig"
 endif
 if ARCH_CHIP_STM32
 source "boards/arm/stm32/common/Kconfig"
 endif
+endif
 
 config BOARD_CRASHDUMP
 	bool "Enable Board level logging of crash dumps"
diff --git a/boards/arm/cxd56xx/common/Kconfig b/boards/arm/cxd56xx/common/Kconfig
deleted file mode 100644
index f72f3c0..0000000
--- a/boards/arm/cxd56xx/common/Kconfig
+++ /dev/null
@@ -1,4 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see the file kconfig-language.txt in the NuttX tools repository.
-#
diff --git a/boards/arm/cxd56xx/common/src/Make.defs b/boards/arm/cxd56xx/common/src/Make.defs
index 97c02de..0dae761 100644
--- a/boards/arm/cxd56xx/common/src/Make.defs
+++ b/boards/arm/cxd56xx/common/src/Make.defs
@@ -18,13 +18,15 @@
 #
 ############################################################################
 
+ifeq ($(CONFIG_ARCH_BOARD_COMMON),y)
+
 CSRCS += cxd56_boot.c
 
-ifeq ($(CONFIG_AUDIO_CXD56), y)
+ifeq ($(CONFIG_AUDIO_CXD56),y)
 CSRCS += cxd56_audio.c
 endif
 
-ifeq ($(CONFIG_CXD56_AUDIO), y)
+ifeq ($(CONFIG_CXD56_AUDIO),y)
 CSRCS += cxd56_audio.c
 endif
 
@@ -171,3 +173,5 @@ endif
 DEPPATH += --dep-path src
 VPATH += :src
 CFLAGS += $(shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)src)
+
+endif
diff --git a/boards/arm/cxd56xx/spresense/configs/audio/defconfig b/boards/arm/cxd56xx/spresense/configs/audio/defconfig
index 6bf9013..e21e870 100644
--- a/boards/arm/cxd56xx/spresense/configs/audio/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/audio/defconfig
@@ -12,6 +12,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/audio_sdk/defconfig b/boards/arm/cxd56xx/spresense/configs/audio_sdk/defconfig
index 3334c20..f306891 100644
--- a/boards/arm/cxd56xx/spresense/configs/audio_sdk/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/audio_sdk/defconfig
@@ -12,6 +12,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/camera/defconfig b/boards/arm/cxd56xx/spresense/configs/camera/defconfig
index 4421e9c..51c75f8 100644
--- a/boards/arm/cxd56xx/spresense/configs/camera/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/camera/defconfig
@@ -12,6 +12,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/charger/defconfig b/boards/arm/cxd56xx/spresense/configs/charger/defconfig
index 259139f..548cdf4 100644
--- a/boards/arm/cxd56xx/spresense/configs/charger/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/charger/defconfig
@@ -9,6 +9,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/elf/defconfig b/boards/arm/cxd56xx/spresense/configs/elf/defconfig
index 97e6599..848f9e3 100644
--- a/boards/arm/cxd56xx/spresense/configs/elf/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/elf/defconfig
@@ -9,6 +9,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/example_camera/defconfig b/boards/arm/cxd56xx/spresense/configs/example_camera/defconfig
index d6490d3..800a5b0 100644
--- a/boards/arm/cxd56xx/spresense/configs/example_camera/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/example_camera/defconfig
@@ -14,6 +14,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/example_lcd/defconfig b/boards/arm/cxd56xx/spresense/configs/example_lcd/defconfig
index e185b1d..0015ab5 100644
--- a/boards/arm/cxd56xx/spresense/configs/example_lcd/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/example_lcd/defconfig
@@ -14,6 +14,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/lcd/defconfig b/boards/arm/cxd56xx/spresense/configs/lcd/defconfig
index 1cc2eb6..f808854 100644
--- a/boards/arm/cxd56xx/spresense/configs/lcd/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/lcd/defconfig
@@ -12,6 +12,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/lte/defconfig b/boards/arm/cxd56xx/spresense/configs/lte/defconfig
index a478b05..3b090c1 100644
--- a/boards/arm/cxd56xx/spresense/configs/lte/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/lte/defconfig
@@ -12,6 +12,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/module/defconfig b/boards/arm/cxd56xx/spresense/configs/module/defconfig
index 059b286..d91a4df 100644
--- a/boards/arm/cxd56xx/spresense/configs/module/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/module/defconfig
@@ -9,6 +9,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/mpy/defconfig b/boards/arm/cxd56xx/spresense/configs/mpy/defconfig
index 49491fa..ed773a2 100644
--- a/boards/arm/cxd56xx/spresense/configs/mpy/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/mpy/defconfig
@@ -12,6 +12,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/nsh/defconfig b/boards/arm/cxd56xx/spresense/configs/nsh/defconfig
index 04d9ba3..3903265 100644
--- a/boards/arm/cxd56xx/spresense/configs/nsh/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/nsh/defconfig
@@ -9,6 +9,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/nsh_trace/defconfig b/boards/arm/cxd56xx/spresense/configs/nsh_trace/defconfig
index 75e3837..593f945 100644
--- a/boards/arm/cxd56xx/spresense/configs/nsh_trace/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/nsh_trace/defconfig
@@ -9,6 +9,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/posix_spawn/defconfig b/boards/arm/cxd56xx/spresense/configs/posix_spawn/defconfig
index f03c7e8..5618664 100644
--- a/boards/arm/cxd56xx/spresense/configs/posix_spawn/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/posix_spawn/defconfig
@@ -9,6 +9,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/rndis/defconfig b/boards/arm/cxd56xx/spresense/configs/rndis/defconfig
index a3675e4..00e2777 100644
--- a/boards/arm/cxd56xx/spresense/configs/rndis/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/rndis/defconfig
@@ -12,6 +12,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/rndis_smp/defconfig b/boards/arm/cxd56xx/spresense/configs/rndis_smp/defconfig
index 32ced27..903de5f 100644
--- a/boards/arm/cxd56xx/spresense/configs/rndis_smp/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/rndis_smp/defconfig
@@ -12,6 +12,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/smp/defconfig b/boards/arm/cxd56xx/spresense/configs/smp/defconfig
index df70daa..bbf2211 100644
--- a/boards/arm/cxd56xx/spresense/configs/smp/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/smp/defconfig
@@ -9,6 +9,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/usbmsc/defconfig b/boards/arm/cxd56xx/spresense/configs/usbmsc/defconfig
index 88fbf41..b6bfebe 100644
--- a/boards/arm/cxd56xx/spresense/configs/usbmsc/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/usbmsc/defconfig
@@ -12,6 +12,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/usbnsh/defconfig b/boards/arm/cxd56xx/spresense/configs/usbnsh/defconfig
index 0aa76e8..16076a3 100644
--- a/boards/arm/cxd56xx/spresense/configs/usbnsh/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/usbnsh/defconfig
@@ -12,6 +12,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/wifi/defconfig b/boards/arm/cxd56xx/spresense/configs/wifi/defconfig
index 5de3b6a..13e2390 100644
--- a/boards/arm/cxd56xx/spresense/configs/wifi/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/wifi/defconfig
@@ -13,6 +13,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/configs/wifi_smp/defconfig b/boards/arm/cxd56xx/spresense/configs/wifi_smp/defconfig
index 0ec8d66..0151bea 100644
--- a/boards/arm/cxd56xx/spresense/configs/wifi_smp/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/wifi_smp/defconfig
@@ -13,6 +13,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="spresense"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
diff --git a/boards/arm/cxd56xx/spresense/scripts/Make.defs b/boards/arm/cxd56xx/spresense/scripts/Make.defs
index de0a530..48b963c 100644
--- a/boards/arm/cxd56xx/spresense/scripts/Make.defs
+++ b/boards/arm/cxd56xx/spresense/scripts/Make.defs
@@ -25,7 +25,7 @@ include $(TOPDIR)/arch/arm/src/armv7-m/Toolchain.defs
 
 # Setup for the kind of memory that we are executing from
 
-ifeq ($(CONFIG_CXD56_USE_SYSBUS), y)
+ifeq ($(CONFIG_CXD56_USE_SYSBUS),y)
   LDSCRIPT = ramconfig-new.ld
 else
   LDSCRIPT = ramconfig.ld
diff --git a/boards/arm/rp2040/common/Makefile b/boards/arm/rp2040/common/Makefile
index 44a345c..727ea8b 100644
--- a/boards/arm/rp2040/common/Makefile
+++ b/boards/arm/rp2040/common/Makefile
@@ -31,4 +31,3 @@ include $(TOPDIR)/boards/Board.mk
 ARCHSRCDIR = $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src
 BOARDDIR = $(ARCHSRCDIR)$(DELIM)board
 CFLAGS += $(shell $(INCDIR) "$(CC)" $(BOARDDIR)$(DELIM)include)
-
diff --git a/boards/arm/rp2040/common/src/Make.defs b/boards/arm/rp2040/common/src/Make.defs
index 752224b..1fa5ecb 100644
--- a/boards/arm/rp2040/common/src/Make.defs
+++ b/boards/arm/rp2040/common/src/Make.defs
@@ -18,6 +18,8 @@
 #
 #############################################################################
 
+ifeq ($(CONFIG_ARCH_BOARD_COMMON),y)
+
 ifeq ($(CONFIG_RP2040_I2C_DRIVER),y)
 CSRCS += rp2040_i2cdev.c
 endif
@@ -73,3 +75,5 @@ endif
 DEPPATH += --dep-path src
 VPATH += :src
 CFLAGS += $(shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)src)
+
+endif
diff --git a/boards/arm/rp2040/pimoroni-tiny2040/configs/composite/defconfig b/boards/arm/rp2040/pimoroni-tiny2040/configs/composite/defconfig
index db17a64..5732065 100644
--- a/boards/arm/rp2040/pimoroni-tiny2040/configs/composite/defconfig
+++ b/boards/arm/rp2040/pimoroni-tiny2040/configs/composite/defconfig
@@ -17,6 +17,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="pimoroni-tiny2040"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_PIMORONI_TINY2040=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/pimoroni-tiny2040/configs/gpio/defconfig b/boards/arm/rp2040/pimoroni-tiny2040/configs/gpio/defconfig
index 3ad6d6c..a25898b 100644
--- a/boards/arm/rp2040/pimoroni-tiny2040/configs/gpio/defconfig
+++ b/boards/arm/rp2040/pimoroni-tiny2040/configs/gpio/defconfig
@@ -14,6 +14,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="pimoroni-tiny2040"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_PIMORONI_TINY2040=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/pimoroni-tiny2040/configs/nsh/defconfig b/boards/arm/rp2040/pimoroni-tiny2040/configs/nsh/defconfig
index 70964dd..8c9b817 100644
--- a/boards/arm/rp2040/pimoroni-tiny2040/configs/nsh/defconfig
+++ b/boards/arm/rp2040/pimoroni-tiny2040/configs/nsh/defconfig
@@ -14,6 +14,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="pimoroni-tiny2040"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_PIMORONI_TINY2040=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/pimoroni-tiny2040/configs/nshsram/defconfig b/boards/arm/rp2040/pimoroni-tiny2040/configs/nshsram/defconfig
index f0e347c..99dbb28 100644
--- a/boards/arm/rp2040/pimoroni-tiny2040/configs/nshsram/defconfig
+++ b/boards/arm/rp2040/pimoroni-tiny2040/configs/nshsram/defconfig
@@ -15,6 +15,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="pimoroni-tiny2040"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_PIMORONI_TINY2040=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/pimoroni-tiny2040/configs/smp/defconfig b/boards/arm/rp2040/pimoroni-tiny2040/configs/smp/defconfig
index 3512946..235ce75 100644
--- a/boards/arm/rp2040/pimoroni-tiny2040/configs/smp/defconfig
+++ b/boards/arm/rp2040/pimoroni-tiny2040/configs/smp/defconfig
@@ -14,6 +14,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="pimoroni-tiny2040"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_PIMORONI_TINY2040=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/pimoroni-tiny2040/configs/spisd/defconfig b/boards/arm/rp2040/pimoroni-tiny2040/configs/spisd/defconfig
index 1a34033..de1e4d5 100644
--- a/boards/arm/rp2040/pimoroni-tiny2040/configs/spisd/defconfig
+++ b/boards/arm/rp2040/pimoroni-tiny2040/configs/spisd/defconfig
@@ -17,6 +17,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="pimoroni-tiny2040"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_PIMORONI_TINY2040=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/pimoroni-tiny2040/configs/usbmsc/defconfig b/boards/arm/rp2040/pimoroni-tiny2040/configs/usbmsc/defconfig
index 6fd9156..57cddbe 100644
--- a/boards/arm/rp2040/pimoroni-tiny2040/configs/usbmsc/defconfig
+++ b/boards/arm/rp2040/pimoroni-tiny2040/configs/usbmsc/defconfig
@@ -17,6 +17,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="pimoroni-tiny2040"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_PIMORONI_TINY2040=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/pimoroni-tiny2040/configs/usbnsh/defconfig b/boards/arm/rp2040/pimoroni-tiny2040/configs/usbnsh/defconfig
index 9504215..d1af1ca 100644
--- a/boards/arm/rp2040/pimoroni-tiny2040/configs/usbnsh/defconfig
+++ b/boards/arm/rp2040/pimoroni-tiny2040/configs/usbnsh/defconfig
@@ -15,6 +15,7 @@
 # CONFIG_RP2040_UART0 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="pimoroni-tiny2040"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_PIMORONI_TINY2040=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/audiopack/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/audiopack/defconfig
index c692b59..41d32ed 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/audiopack/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/audiopack/defconfig
@@ -21,6 +21,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="raspberrypi-pico"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_RASPBERRYPI_PICO=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/composite/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/composite/defconfig
index b046175..3848421 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/composite/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/composite/defconfig
@@ -17,6 +17,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="raspberrypi-pico"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_RASPBERRYPI_PICO=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/displaypack/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/displaypack/defconfig
index 998a0bf..f48923f 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/displaypack/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/displaypack/defconfig
@@ -20,6 +20,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="raspberrypi-pico"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_RASPBERRYPI_PICO=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/enc28j60/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/enc28j60/defconfig
index 59dfa70..89c73fc 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/enc28j60/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/enc28j60/defconfig
@@ -14,6 +14,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="raspberrypi-pico"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_RASPBERRYPI_PICO=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/lcd1602/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/lcd1602/defconfig
index a22a0b2..db9f390 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/lcd1602/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/lcd1602/defconfig
@@ -14,6 +14,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="raspberrypi-pico"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_RASPBERRYPI_PICO=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/nsh/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/nsh/defconfig
index 545734d..421ba06 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/nsh/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/nsh/defconfig
@@ -14,6 +14,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="raspberrypi-pico"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_RASPBERRYPI_PICO=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/nshsram/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/nshsram/defconfig
index e90297c..854cb64 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/nshsram/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/nshsram/defconfig
@@ -15,6 +15,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="raspberrypi-pico"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_RASPBERRYPI_PICO=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/smp/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/smp/defconfig
index 40de637..e7fc281 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/smp/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/smp/defconfig
@@ -14,6 +14,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="raspberrypi-pico"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_RASPBERRYPI_PICO=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/spisd/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/spisd/defconfig
index fc65e17..b662bba 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/spisd/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/spisd/defconfig
@@ -17,6 +17,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="raspberrypi-pico"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_RASPBERRYPI_PICO=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/ssd1306/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/ssd1306/defconfig
index 3c4902d..e9ebc40 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/ssd1306/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/ssd1306/defconfig
@@ -17,6 +17,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="raspberrypi-pico"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_RASPBERRYPI_PICO=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/st7735/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/st7735/defconfig
index e14cc003..9e7d8ca 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/st7735/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/st7735/defconfig
@@ -14,6 +14,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="raspberrypi-pico"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_RASPBERRYPI_PICO=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/usbmsc/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/usbmsc/defconfig
index ce32a2e..fc4af6e 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/usbmsc/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/usbmsc/defconfig
@@ -17,6 +17,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="raspberrypi-pico"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_RASPBERRYPI_PICO=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/usbnsh/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/usbnsh/defconfig
index e45f7ee..1944655 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/usbnsh/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/usbnsh/defconfig
@@ -15,6 +15,7 @@
 # CONFIG_RP2040_UART0 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="raspberrypi-pico"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_RASPBERRYPI_PICO=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/waveshare-lcd-1.14/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/waveshare-lcd-1.14/defconfig
index 4a63b15..b4748ad 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/waveshare-lcd-1.14/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/waveshare-lcd-1.14/defconfig
@@ -19,6 +19,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="raspberrypi-pico"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_RASPBERRYPI_PICO=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/waveshare-lcd-1.3/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/waveshare-lcd-1.3/defconfig
index 66d6cee..70ffeac 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/waveshare-lcd-1.3/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/waveshare-lcd-1.3/defconfig
@@ -19,6 +19,7 @@
 # CONFIG_STANDARD_SERIAL is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="raspberrypi-pico"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_RASPBERRYPI_PICO=y
 CONFIG_ARCH_CHIP="rp2040"
 CONFIG_ARCH_CHIP_RP2040=y
diff --git a/boards/arm/samd5e5/same54-xplained-pro/src/Makefile b/boards/arm/samd5e5/same54-xplained-pro/src/Makefile
index dc3b6d4..e21e1bb 100644
--- a/boards/arm/samd5e5/same54-xplained-pro/src/Makefile
+++ b/boards/arm/samd5e5/same54-xplained-pro/src/Makefile
@@ -32,7 +32,7 @@ else
 CSRCS += sam_userleds.c
 endif
 
-ifeq ($(CONFIG_SAMD5E5_GMAC_PHYINIT), y)
+ifeq ($(CONFIG_SAMD5E5_GMAC_PHYINIT),y)
 CSRCS += sam_phyinit.c
 endif
 
diff --git a/boards/arm/samv7/common/Kconfig b/boards/arm/samv7/common/Kconfig
index 7a7f91b..a0c7bb9 100644
--- a/boards/arm/samv7/common/Kconfig
+++ b/boards/arm/samv7/common/Kconfig
@@ -3,14 +3,6 @@
 # see the file kconfiglanguage.txt in the NuttX tools repository.
 #
 
-config BOARD_SAMV7_COMMON
-	bool "Board common logic"
-	default n
-	---help---
-		 Board common logic located in each board/common folder.
-
-if BOARD_SAMV7_COMMON
-
 config SAMV7_HSMCI0_AUTOMOUNT
 	bool "HSMCI0 automounter"
 	default n
@@ -130,5 +122,3 @@ config SAMV7_OTA_SCRATCH_SIZE
 	default 0x20000
 
 endif # SAMV7_FORMAT_MCUBOOT
-
-endif # BOARD_SAMV7_COMMON
diff --git a/boards/arm/samv7/common/src/Make.defs b/boards/arm/samv7/common/src/Make.defs
index 3e4f296..9b060b8 100644
--- a/boards/arm/samv7/common/src/Make.defs
+++ b/boards/arm/samv7/common/src/Make.defs
@@ -18,8 +18,7 @@
 #
 #############################################################################
 
-ifeq ($(CONFIG_BOARDCTL),y)
-CSRCS += sam_progmem.c
+ifeq ($(CONFIG_ARCH_BOARD_COMMON),y)
 
 ifeq ($(CONFIG_BOARDCTL_RESET),y)
 CSRCS += sam_reset.c
@@ -29,9 +28,11 @@ ifeq ($(CONFIG_BOARDCTL_BOOT_IMAGE),y)
 CSRCS += sam_boot_image.c
 endif
 
-else ifeq ($(CONFIG_BOARD_LATE_INITIALIZE),y)
+ifeq ($(CONFIG_SAMV7_PROGMEM),y)
+ifeq ($(CONFIG_MTD_PROGMEM),y)
 CSRCS += sam_progmem.c
 endif
+endif
 
 ifeq ($(CONFIG_SAMV7_HSMCI0),y)
 CSRCS += sam_hsmci.c
@@ -44,3 +45,5 @@ endif
 DEPPATH += --dep-path src
 VPATH += :src
 CFLAGS += $(shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)src)
+
+endif
diff --git a/boards/arm/samv7/same70-qmtech/configs/mcuboot-confirm/defconfig b/boards/arm/samv7/same70-qmtech/configs/mcuboot-confirm/defconfig
index 1f8d9f4..bf2d8a7 100644
--- a/boards/arm/samv7/same70-qmtech/configs/mcuboot-confirm/defconfig
+++ b/boards/arm/samv7/same70-qmtech/configs/mcuboot-confirm/defconfig
@@ -10,6 +10,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="same70-qmtech"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAME70_QMTECH=y
 CONFIG_ARCH_CHIP="samv7"
 CONFIG_ARCH_CHIP_SAME70=y
@@ -25,7 +26,6 @@ CONFIG_ARMV7M_ICACHE=y
 CONFIG_ARMV7M_LAZYFPU=y
 CONFIG_BOARD_LATE_INITIALIZE=y
 CONFIG_BOARD_LOOPSPERMSEC=51262
-CONFIG_BOARD_SAMV7_COMMON=y
 CONFIG_BOOT_MCUBOOT=y
 CONFIG_BUILTIN=y
 CONFIG_FAT_LCNAMES=y
diff --git a/boards/arm/samv7/same70-qmtech/configs/mcuboot-loader/defconfig b/boards/arm/samv7/same70-qmtech/configs/mcuboot-loader/defconfig
index 56dc319..81b43d2 100644
--- a/boards/arm/samv7/same70-qmtech/configs/mcuboot-loader/defconfig
+++ b/boards/arm/samv7/same70-qmtech/configs/mcuboot-loader/defconfig
@@ -10,6 +10,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="same70-qmtech"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAME70_QMTECH=y
 CONFIG_ARCH_CHIP="samv7"
 CONFIG_ARCH_CHIP_SAME70=y
@@ -25,7 +26,6 @@ CONFIG_ARMV7M_ICACHE=y
 CONFIG_ARMV7M_LAZYFPU=y
 CONFIG_BOARD_LATE_INITIALIZE=y
 CONFIG_BOARD_LOOPSPERMSEC=51262
-CONFIG_BOARD_SAMV7_COMMON=y
 CONFIG_BOOT_MCUBOOT=y
 CONFIG_BUILTIN=y
 CONFIG_FAT_LCNAMES=y
diff --git a/boards/arm/samv7/same70-qmtech/configs/nsh/defconfig b/boards/arm/samv7/same70-qmtech/configs/nsh/defconfig
index 871c2e6..8b4dc91 100644
--- a/boards/arm/samv7/same70-qmtech/configs/nsh/defconfig
+++ b/boards/arm/samv7/same70-qmtech/configs/nsh/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="same70-qmtech"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAME70_QMTECH=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
diff --git a/boards/arm/samv7/same70-xplained/configs/adc/defconfig b/boards/arm/samv7/same70-xplained/configs/adc/defconfig
index 740c160..43c0112 100644
--- a/boards/arm/samv7/same70-xplained/configs/adc/defconfig
+++ b/boards/arm/samv7/same70-xplained/configs/adc/defconfig
@@ -16,6 +16,7 @@ CONFIG_ADC=y
 CONFIG_ANALOG=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="same70-xplained"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAME70_XPLAINED=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
diff --git a/boards/arm/samv7/same70-xplained/configs/mcuboot-confirm/defconfig b/boards/arm/samv7/same70-xplained/configs/mcuboot-confirm/defconfig
index 3d8edfc..f84923a 100644
--- a/boards/arm/samv7/same70-xplained/configs/mcuboot-confirm/defconfig
+++ b/boards/arm/samv7/same70-xplained/configs/mcuboot-confirm/defconfig
@@ -13,6 +13,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="same70-xplained"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAME70_XPLAINED=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
@@ -34,7 +35,6 @@ CONFIG_AT24XX_EXTSIZE=160
 CONFIG_AT24XX_SIZE=2
 CONFIG_BOARD_LATE_INITIALIZE=y
 CONFIG_BOARD_LOOPSPERMSEC=51262
-CONFIG_BOARD_SAMV7_COMMON=y
 CONFIG_BOOT_MCUBOOT=y
 CONFIG_BUILTIN=y
 CONFIG_FAT_LCNAMES=y
diff --git a/boards/arm/samv7/same70-xplained/configs/mcuboot-loader/defconfig b/boards/arm/samv7/same70-xplained/configs/mcuboot-loader/defconfig
index eedc79c..1c5570a 100644
--- a/boards/arm/samv7/same70-xplained/configs/mcuboot-loader/defconfig
+++ b/boards/arm/samv7/same70-xplained/configs/mcuboot-loader/defconfig
@@ -13,6 +13,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="same70-xplained"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAME70_XPLAINED=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
@@ -34,7 +35,6 @@ CONFIG_AT24XX_EXTSIZE=160
 CONFIG_AT24XX_SIZE=2
 CONFIG_BOARD_LATE_INITIALIZE=y
 CONFIG_BOARD_LOOPSPERMSEC=51262
-CONFIG_BOARD_SAMV7_COMMON=y
 CONFIG_BOOT_MCUBOOT=y
 CONFIG_BUILTIN=y
 CONFIG_FAT_LCNAMES=y
diff --git a/boards/arm/samv7/same70-xplained/configs/netnsh/defconfig b/boards/arm/samv7/same70-xplained/configs/netnsh/defconfig
index 048dfdb..0f89b0a 100644
--- a/boards/arm/samv7/same70-xplained/configs/netnsh/defconfig
+++ b/boards/arm/samv7/same70-xplained/configs/netnsh/defconfig
@@ -13,6 +13,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="same70-xplained"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAME70_XPLAINED=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
diff --git a/boards/arm/samv7/same70-xplained/configs/nsh/defconfig b/boards/arm/samv7/same70-xplained/configs/nsh/defconfig
index c0e98c5..9a51409 100644
--- a/boards/arm/samv7/same70-xplained/configs/nsh/defconfig
+++ b/boards/arm/samv7/same70-xplained/configs/nsh/defconfig
@@ -14,6 +14,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="same70-xplained"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAME70_XPLAINED=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
diff --git a/boards/arm/samv7/same70-xplained/configs/pwm/defconfig b/boards/arm/samv7/same70-xplained/configs/pwm/defconfig
index 7db8c81..f2cc60b 100644
--- a/boards/arm/samv7/same70-xplained/configs/pwm/defconfig
+++ b/boards/arm/samv7/same70-xplained/configs/pwm/defconfig
@@ -14,6 +14,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="same70-xplained"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAME70_XPLAINED=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
diff --git a/boards/arm/samv7/same70-xplained/configs/pysim/defconfig b/boards/arm/samv7/same70-xplained/configs/pysim/defconfig
index 367dbaa..5fcceda 100644
--- a/boards/arm/samv7/same70-xplained/configs/pysim/defconfig
+++ b/boards/arm/samv7/same70-xplained/configs/pysim/defconfig
@@ -15,6 +15,7 @@ CONFIG_ADC=y
 CONFIG_ANALOG=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="same70-xplained"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAME70_XPLAINED=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
diff --git a/boards/arm/samv7/same70-xplained/configs/twm4nx/defconfig b/boards/arm/samv7/same70-xplained/configs/twm4nx/defconfig
index a605ef7..af4e782 100644
--- a/boards/arm/samv7/same70-xplained/configs/twm4nx/defconfig
+++ b/boards/arm/samv7/same70-xplained/configs/twm4nx/defconfig
@@ -14,6 +14,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="same70-xplained"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAME70_XPLAINED=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
diff --git a/boards/arm/samv7/samv71-xult/configs/knsh/defconfig b/boards/arm/samv7/samv71-xult/configs/knsh/defconfig
index 27f36c2..87a699b 100644
--- a/boards/arm/samv7/samv71-xult/configs/knsh/defconfig
+++ b/boards/arm/samv7/samv71-xult/configs/knsh/defconfig
@@ -14,6 +14,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="samv71-xult"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAMV71_XULT=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
diff --git a/boards/arm/samv7/samv71-xult/configs/mcuboot-loader/defconfig b/boards/arm/samv7/samv71-xult/configs/mcuboot-loader/defconfig
index 2d361eb..0f7a9af 100644
--- a/boards/arm/samv7/samv71-xult/configs/mcuboot-loader/defconfig
+++ b/boards/arm/samv7/samv71-xult/configs/mcuboot-loader/defconfig
@@ -10,6 +10,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="samv71-xult"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAMV71_XULT=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
@@ -28,7 +29,6 @@ CONFIG_ARMV7M_LAZYFPU=y
 CONFIG_BOARDCTL_RESET=y
 CONFIG_BOARD_LATE_INITIALIZE=y
 CONFIG_BOARD_LOOPSPERMSEC=51262
-CONFIG_BOARD_SAMV7_COMMON=y
 CONFIG_BOOT_MCUBOOT=y
 CONFIG_BUILTIN=y
 CONFIG_FS_PROCFS=y
diff --git a/boards/arm/samv7/samv71-xult/configs/mcuboot-nsh/defconfig b/boards/arm/samv7/samv71-xult/configs/mcuboot-nsh/defconfig
index de76151..9371e40 100644
--- a/boards/arm/samv7/samv71-xult/configs/mcuboot-nsh/defconfig
+++ b/boards/arm/samv7/samv71-xult/configs/mcuboot-nsh/defconfig
@@ -10,6 +10,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="samv71-xult"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAMV71_XULT=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
@@ -28,7 +29,6 @@ CONFIG_ARMV7M_LAZYFPU=y
 CONFIG_BOARDCTL_RESET=y
 CONFIG_BOARD_LATE_INITIALIZE=y
 CONFIG_BOARD_LOOPSPERMSEC=51262
-CONFIG_BOARD_SAMV7_COMMON=y
 CONFIG_BOOT_MCUBOOT=y
 CONFIG_BUILTIN=y
 CONFIG_FS_PROCFS=y
diff --git a/boards/arm/samv7/samv71-xult/configs/mrf24j40-starhub/defconfig b/boards/arm/samv7/samv71-xult/configs/mrf24j40-starhub/defconfig
index e798252..52a906f 100644
--- a/boards/arm/samv7/samv71-xult/configs/mrf24j40-starhub/defconfig
+++ b/boards/arm/samv7/samv71-xult/configs/mrf24j40-starhub/defconfig
@@ -12,6 +12,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="samv71-xult"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAMV71_XULT=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
diff --git a/boards/arm/samv7/samv71-xult/configs/mxtxplnd/defconfig b/boards/arm/samv7/samv71-xult/configs/mxtxplnd/defconfig
index a1b06bac..65d0fb8 100644
--- a/boards/arm/samv7/samv71-xult/configs/mxtxplnd/defconfig
+++ b/boards/arm/samv7/samv71-xult/configs/mxtxplnd/defconfig
@@ -15,6 +15,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="samv71-xult"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAMV71_XULT=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
diff --git a/boards/arm/samv7/samv71-xult/configs/netnsh/defconfig b/boards/arm/samv7/samv71-xult/configs/netnsh/defconfig
index 13ef1a0..0999055 100644
--- a/boards/arm/samv7/samv71-xult/configs/netnsh/defconfig
+++ b/boards/arm/samv7/samv71-xult/configs/netnsh/defconfig
@@ -13,6 +13,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="samv71-xult"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAMV71_XULT=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
diff --git a/boards/arm/samv7/samv71-xult/configs/nsh/defconfig b/boards/arm/samv7/samv71-xult/configs/nsh/defconfig
index 5c48929..81d946a 100644
--- a/boards/arm/samv7/samv71-xult/configs/nsh/defconfig
+++ b/boards/arm/samv7/samv71-xult/configs/nsh/defconfig
@@ -14,6 +14,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="samv71-xult"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAMV71_XULT=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
diff --git a/boards/arm/samv7/samv71-xult/configs/nxwm/defconfig b/boards/arm/samv7/samv71-xult/configs/nxwm/defconfig
index 28df580..ba00d20 100644
--- a/boards/arm/samv7/samv71-xult/configs/nxwm/defconfig
+++ b/boards/arm/samv7/samv71-xult/configs/nxwm/defconfig
@@ -17,6 +17,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="samv71-xult"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAMV71_XULT=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
diff --git a/boards/arm/samv7/samv71-xult/configs/vnc/defconfig b/boards/arm/samv7/samv71-xult/configs/vnc/defconfig
index 932194d..46f1328 100644
--- a/boards/arm/samv7/samv71-xult/configs/vnc/defconfig
+++ b/boards/arm/samv7/samv71-xult/configs/vnc/defconfig
@@ -14,6 +14,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="samv71-xult"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAMV71_XULT=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
diff --git a/boards/arm/samv7/samv71-xult/configs/vnxwm/defconfig b/boards/arm/samv7/samv71-xult/configs/vnxwm/defconfig
index c376406..6337925 100644
--- a/boards/arm/samv7/samv71-xult/configs/vnxwm/defconfig
+++ b/boards/arm/samv7/samv71-xult/configs/vnxwm/defconfig
@@ -14,6 +14,7 @@
 # CONFIG_SAMV7_UART4 is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="samv71-xult"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_SAMV71_XULT=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="samv7"
diff --git a/boards/arm/stm32/common/Kconfig b/boards/arm/stm32/common/Kconfig
index 40ec72b..3e61172 100644
--- a/boards/arm/stm32/common/Kconfig
+++ b/boards/arm/stm32/common/Kconfig
@@ -3,14 +3,6 @@
 # see the file kconfig-language.txt in the NuttX tools repository.
 #
 
-config BOARD_STM32_COMMON
-	bool "Board common logic"
-	default n
-	---help---
-		Board common logic located in each board/common folder.
-
-if BOARD_STM32_COMMON
-
 if STM32_FOC
 
 menuconfig BOARD_STM32_IHM07M1
@@ -77,5 +69,3 @@ config BOARD_STM32_HALL3PHASE_SAMPLES
 	default 10
 
 endif # SENSORS_HALL3PHASE
-
-endif # BOARD_STM32_COMMON
diff --git a/boards/arm/stm32/common/Makefile b/boards/arm/stm32/common/Makefile
index 18f3dad..ad361f5 100644
--- a/boards/arm/stm32/common/Makefile
+++ b/boards/arm/stm32/common/Makefile
@@ -31,4 +31,3 @@ include $(TOPDIR)/boards/Board.mk
 ARCHSRCDIR = $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src
 BOARDDIR = $(ARCHSRCDIR)$(DELIM)board
 CFLAGS += $(shell $(INCDIR) "$(CC)" $(BOARDDIR)$(DELIM)include)
-
diff --git a/boards/arm/stm32/common/src/Make.defs b/boards/arm/stm32/common/src/Make.defs
index 7120c81..cb5737f 100644
--- a/boards/arm/stm32/common/src/Make.defs
+++ b/boards/arm/stm32/common/src/Make.defs
@@ -18,6 +18,8 @@
 #
 #############################################################################
 
+ifeq ($(CONFIG_ARCH_BOARD_COMMON),y)
+
 ifeq ($(CONFIG_SENSORS_BMP180),y)
   CSRCS += stm32_bmp180.c
 endif
@@ -137,3 +139,5 @@ endif
 DEPPATH += --dep-path src
 VPATH += :src
 CFLAGS += $(shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)src)
+
+endif
diff --git a/boards/arm/stm32/nucleo-f103rb/configs/ihm07m1_b16/defconfig b/boards/arm/stm32/nucleo-f103rb/configs/ihm07m1_b16/defconfig
index 1f435df9..80fdccd 100644
--- a/boards/arm/stm32/nucleo-f103rb/configs/ihm07m1_b16/defconfig
+++ b/boards/arm/stm32/nucleo-f103rb/configs/ihm07m1_b16/defconfig
@@ -12,6 +12,7 @@ CONFIG_ADC_FIFOSIZE=3
 CONFIG_ANALOG=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f103rb"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_NUCLEO_F103RB=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="stm32"
@@ -20,7 +21,6 @@ CONFIG_ARCH_CHIP_STM32F103RB=y
 CONFIG_ARCH_INTERRUPTSTACK=1024
 CONFIG_ARCH_IRQBUTTONS=y
 CONFIG_BOARD_LOOPSPERMSEC=8499
-CONFIG_BOARD_STM32_COMMON=y
 CONFIG_BOARD_STM32_IHM07M1=y
 CONFIG_BOARD_STM32_IHM07M1_POT=y
 CONFIG_BOARD_STM32_IHM07M1_VBUS=y
diff --git a/boards/arm/stm32/nucleo-f103rb/configs/qenco/defconfig b/boards/arm/stm32/nucleo-f103rb/configs/qenco/defconfig
index 9747cf1..ebfac05 100644
--- a/boards/arm/stm32/nucleo-f103rb/configs/qenco/defconfig
+++ b/boards/arm/stm32/nucleo-f103rb/configs/qenco/defconfig
@@ -7,6 +7,7 @@
 #
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f103rb"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_NUCLEO_F103RB=y
 CONFIG_ARCH_CHIP="stm32"
 CONFIG_ARCH_CHIP_STM32=y
diff --git a/boards/arm/stm32/nucleo-f302r8/configs/ihm07m1_b16/defconfig b/boards/arm/stm32/nucleo-f302r8/configs/ihm07m1_b16/defconfig
index 1bcb3ba..8bf343c 100644
--- a/boards/arm/stm32/nucleo-f302r8/configs/ihm07m1_b16/defconfig
+++ b/boards/arm/stm32/nucleo-f302r8/configs/ihm07m1_b16/defconfig
@@ -12,6 +12,7 @@ CONFIG_ADC_FIFOSIZE=3
 CONFIG_ANALOG=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f302r8"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_NUCLEO_F302R8=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="stm32"
@@ -21,7 +22,6 @@ CONFIG_ARCH_INTERRUPTSTACK=1024
 CONFIG_ARCH_IRQBUTTONS=y
 CONFIG_ARMV7M_LIBM=y
 CONFIG_BOARD_LOOPSPERMSEC=8499
-CONFIG_BOARD_STM32_COMMON=y
 CONFIG_BOARD_STM32_IHM07M1=y
 CONFIG_BOARD_STM32_IHM07M1_POT=y
 CONFIG_BOARD_STM32_IHM07M1_VBUS=y
diff --git a/boards/arm/stm32/nucleo-f302r8/configs/ihm07m1_f32/defconfig b/boards/arm/stm32/nucleo-f302r8/configs/ihm07m1_f32/defconfig
index 1209343..d074200 100644
--- a/boards/arm/stm32/nucleo-f302r8/configs/ihm07m1_f32/defconfig
+++ b/boards/arm/stm32/nucleo-f302r8/configs/ihm07m1_f32/defconfig
@@ -12,6 +12,7 @@ CONFIG_ADC_FIFOSIZE=3
 CONFIG_ANALOG=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f302r8"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_NUCLEO_F302R8=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="stm32"
@@ -21,7 +22,6 @@ CONFIG_ARCH_INTERRUPTSTACK=1024
 CONFIG_ARCH_IRQBUTTONS=y
 CONFIG_ARMV7M_LIBM=y
 CONFIG_BOARD_LOOPSPERMSEC=8499
-CONFIG_BOARD_STM32_COMMON=y
 CONFIG_BOARD_STM32_IHM07M1=y
 CONFIG_BOARD_STM32_IHM07M1_POT=y
 CONFIG_BOARD_STM32_IHM07M1_VBUS=y
diff --git a/boards/arm/stm32/nucleo-f302r8/configs/qenco/defconfig b/boards/arm/stm32/nucleo-f302r8/configs/qenco/defconfig
index d4d9b53..9346cac 100644
--- a/boards/arm/stm32/nucleo-f302r8/configs/qenco/defconfig
+++ b/boards/arm/stm32/nucleo-f302r8/configs/qenco/defconfig
@@ -7,6 +7,7 @@
 #
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f302r8"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_NUCLEO_F302R8=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="stm32"
@@ -15,7 +16,6 @@ CONFIG_ARCH_CHIP_STM32F302R8=y
 CONFIG_ARCH_INTERRUPTSTACK=1024
 CONFIG_ARCH_IRQPRIO=y
 CONFIG_BOARD_LOOPSPERMSEC=8499
-CONFIG_BOARD_STM32_COMMON=y
 CONFIG_BUILTIN=y
 CONFIG_DEBUG_FULLOPT=y
 CONFIG_DEBUG_SYMBOLS=y
diff --git a/boards/arm/stm32/nucleo-f303ze/configs/nxlines_oled/defconfig b/boards/arm/stm32/nucleo-f303ze/configs/nxlines_oled/defconfig
index 69ecd6e..3c09c2d 100644
--- a/boards/arm/stm32/nucleo-f303ze/configs/nxlines_oled/defconfig
+++ b/boards/arm/stm32/nucleo-f303ze/configs/nxlines_oled/defconfig
@@ -10,6 +10,7 @@
 # CONFIG_NX_DISABLE_1BPP is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f303ze"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_NUCLEO_F303ZE=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="stm32"
diff --git a/boards/arm/stm32/nucleo-f446re/configs/ihm08m1_b16/defconfig b/boards/arm/stm32/nucleo-f446re/configs/ihm08m1_b16/defconfig
index 94a2545..248f932 100644
--- a/boards/arm/stm32/nucleo-f446re/configs/ihm08m1_b16/defconfig
+++ b/boards/arm/stm32/nucleo-f446re/configs/ihm08m1_b16/defconfig
@@ -12,6 +12,7 @@ CONFIG_ADC_FIFOSIZE=3
 CONFIG_ANALOG=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f446re"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_NUCLEO_F446RE=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="stm32"
@@ -21,7 +22,6 @@ CONFIG_ARCH_INTERRUPTSTACK=1024
 CONFIG_ARCH_IRQBUTTONS=y
 CONFIG_ARMV7M_LIBM=y
 CONFIG_BOARD_LOOPSPERMSEC=8499
-CONFIG_BOARD_STM32_COMMON=y
 CONFIG_BOARD_STM32_IHM08M1=y
 CONFIG_BOARD_STM32_IHM08M1_POT=y
 CONFIG_BOARD_STM32_IHM08M1_VBUS=y
diff --git a/boards/arm/stm32/nucleo-f446re/configs/ihm08m1_f32/defconfig b/boards/arm/stm32/nucleo-f446re/configs/ihm08m1_f32/defconfig
index 96b37ae..60726db 100644
--- a/boards/arm/stm32/nucleo-f446re/configs/ihm08m1_f32/defconfig
+++ b/boards/arm/stm32/nucleo-f446re/configs/ihm08m1_f32/defconfig
@@ -12,6 +12,7 @@ CONFIG_ADC_FIFOSIZE=3
 CONFIG_ANALOG=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f446re"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_NUCLEO_F446RE=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="stm32"
@@ -21,7 +22,6 @@ CONFIG_ARCH_INTERRUPTSTACK=1024
 CONFIG_ARCH_IRQBUTTONS=y
 CONFIG_ARMV7M_LIBM=y
 CONFIG_BOARD_LOOPSPERMSEC=8499
-CONFIG_BOARD_STM32_COMMON=y
 CONFIG_BOARD_STM32_IHM08M1=y
 CONFIG_BOARD_STM32_IHM08M1_POT=y
 CONFIG_BOARD_STM32_IHM08M1_VBUS=y
diff --git a/boards/arm/stm32/nucleo-f446re/configs/qenco/defconfig b/boards/arm/stm32/nucleo-f446re/configs/qenco/defconfig
index ea1d158..fdf0171 100644
--- a/boards/arm/stm32/nucleo-f446re/configs/qenco/defconfig
+++ b/boards/arm/stm32/nucleo-f446re/configs/qenco/defconfig
@@ -7,6 +7,7 @@
 #
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-f446re"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_NUCLEO_F446RE=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="stm32"
@@ -15,7 +16,6 @@ CONFIG_ARCH_CHIP_STM32F446R=y
 CONFIG_ARCH_INTERRUPTSTACK=1024
 CONFIG_ARCH_IRQPRIO=y
 CONFIG_BOARD_LOOPSPERMSEC=8499
-CONFIG_BOARD_STM32_COMMON=y
 CONFIG_BUILTIN=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_EXAMPLES_QENCODER=y
diff --git a/boards/arm/stm32/nucleo-g431rb/configs/ihm16m1_b16/defconfig b/boards/arm/stm32/nucleo-g431rb/configs/ihm16m1_b16/defconfig
index 5ea806d..a02caa3 100644
--- a/boards/arm/stm32/nucleo-g431rb/configs/ihm16m1_b16/defconfig
+++ b/boards/arm/stm32/nucleo-g431rb/configs/ihm16m1_b16/defconfig
@@ -12,6 +12,7 @@ CONFIG_ADC_FIFOSIZE=3
 CONFIG_ANALOG=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-g431rb"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_NUCLEO_G431RB=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="stm32"
@@ -21,7 +22,6 @@ CONFIG_ARCH_INTERRUPTSTACK=1024
 CONFIG_ARCH_IRQBUTTONS=y
 CONFIG_ARMV7M_LIBM=y
 CONFIG_BOARD_LOOPSPERMSEC=8499
-CONFIG_BOARD_STM32_COMMON=y
 CONFIG_BOARD_STM32_IHM16M1=y
 CONFIG_BOARD_STM32_IHM16M1_POT=y
 CONFIG_BOARD_STM32_IHM16M1_VBUS=y
diff --git a/boards/arm/stm32/nucleo-g431rb/configs/ihm16m1_f32/defconfig b/boards/arm/stm32/nucleo-g431rb/configs/ihm16m1_f32/defconfig
index e533e82..ea95c56 100644
--- a/boards/arm/stm32/nucleo-g431rb/configs/ihm16m1_f32/defconfig
+++ b/boards/arm/stm32/nucleo-g431rb/configs/ihm16m1_f32/defconfig
@@ -12,6 +12,7 @@ CONFIG_ADC_FIFOSIZE=3
 CONFIG_ANALOG=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-g431rb"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_NUCLEO_G431RB=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="stm32"
@@ -21,7 +22,6 @@ CONFIG_ARCH_INTERRUPTSTACK=1024
 CONFIG_ARCH_IRQBUTTONS=y
 CONFIG_ARMV7M_LIBM=y
 CONFIG_BOARD_LOOPSPERMSEC=8499
-CONFIG_BOARD_STM32_COMMON=y
 CONFIG_BOARD_STM32_IHM16M1=y
 CONFIG_BOARD_STM32_IHM16M1_POT=y
 CONFIG_BOARD_STM32_IHM16M1_VBUS=y
diff --git a/boards/arm/stm32/nucleo-g431rb/configs/qenco/defconfig b/boards/arm/stm32/nucleo-g431rb/configs/qenco/defconfig
index d169999..3b62c97 100644
--- a/boards/arm/stm32/nucleo-g431rb/configs/qenco/defconfig
+++ b/boards/arm/stm32/nucleo-g431rb/configs/qenco/defconfig
@@ -13,6 +13,7 @@
 # CONFIG_NSH_DISABLE_PS is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="nucleo-g431rb"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_NUCLEO_G431RB=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="stm32"
diff --git a/boards/arm/stm32/olimex-stm32-e407/configs/bmp180/defconfig b/boards/arm/stm32/olimex-stm32-e407/configs/bmp180/defconfig
index 5f0e7b0..92e8234 100644
--- a/boards/arm/stm32/olimex-stm32-e407/configs/bmp180/defconfig
+++ b/boards/arm/stm32/olimex-stm32-e407/configs/bmp180/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="olimex-stm32-e407"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_OLIMEX_STM32E407=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="stm32"
diff --git a/boards/arm/stm32/olimex-stm32-e407/configs/ina219/defconfig b/boards/arm/stm32/olimex-stm32-e407/configs/ina219/defconfig
index 48cf7c7..1500f52 100644
--- a/boards/arm/stm32/olimex-stm32-e407/configs/ina219/defconfig
+++ b/boards/arm/stm32/olimex-stm32-e407/configs/ina219/defconfig
@@ -9,6 +9,7 @@
 # CONFIG_DEV_CONSOLE is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="olimex-stm32-e407"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_OLIMEX_STM32E407=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="stm32"
diff --git a/boards/arm/stm32/olimex-stm32-p407/configs/dhtxx/defconfig b/boards/arm/stm32/olimex-stm32-p407/configs/dhtxx/defconfig
index 2dea33f..127f02e 100644
--- a/boards/arm/stm32/olimex-stm32-p407/configs/dhtxx/defconfig
+++ b/boards/arm/stm32/olimex-stm32-p407/configs/dhtxx/defconfig
@@ -7,6 +7,7 @@
 #
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="olimex-stm32-p407"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_OLIMEX_STM32P407=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="stm32"
diff --git a/boards/arm/stm32/stm32_tiny/configs/nsh/defconfig b/boards/arm/stm32/stm32_tiny/configs/nsh/defconfig
index a66a218..a13384f 100644
--- a/boards/arm/stm32/stm32_tiny/configs/nsh/defconfig
+++ b/boards/arm/stm32/stm32_tiny/configs/nsh/defconfig
@@ -19,6 +19,7 @@
 # CONFIG_NSH_DISABLE_XD is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="stm32_tiny"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_STM32_TINY=y
 CONFIG_ARCH_CHIP="stm32"
 CONFIG_ARCH_CHIP_STM32=y
diff --git a/boards/arm/stm32/stm32f103-minimum/configs/apds9960/defconfig b/boards/arm/stm32/stm32f103-minimum/configs/apds9960/defconfig
index 158da8e..a213d10 100644
--- a/boards/arm/stm32/stm32f103-minimum/configs/apds9960/defconfig
+++ b/boards/arm/stm32/stm32f103-minimum/configs/apds9960/defconfig
@@ -19,6 +19,7 @@
 # CONFIG_NSH_DISABLE_XD is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="stm32f103-minimum"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_STM32F103_MINIMUM=y
 CONFIG_ARCH_CHIP="stm32"
 CONFIG_ARCH_CHIP_STM32=y
diff --git a/boards/arm/stm32/stm32f103-minimum/configs/audio_tone/defconfig b/boards/arm/stm32/stm32f103-minimum/configs/audio_tone/defconfig
index 9258133..cf526d4 100644
--- a/boards/arm/stm32/stm32f103-minimum/configs/audio_tone/defconfig
+++ b/boards/arm/stm32/stm32f103-minimum/configs/audio_tone/defconfig
@@ -19,6 +19,7 @@
 # CONFIG_NSH_DISABLE_XD is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="stm32f103-minimum"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_STM32F103_MINIMUM=y
 CONFIG_ARCH_CHIP="stm32"
 CONFIG_ARCH_CHIP_STM32=y
diff --git a/boards/arm/stm32/stm32f103-minimum/configs/lcd1602/defconfig b/boards/arm/stm32/stm32f103-minimum/configs/lcd1602/defconfig
index d9b56ef..aa72ac8 100644
--- a/boards/arm/stm32/stm32f103-minimum/configs/lcd1602/defconfig
+++ b/boards/arm/stm32/stm32f103-minimum/configs/lcd1602/defconfig
@@ -19,6 +19,7 @@
 # CONFIG_NSH_DISABLE_XD is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="stm32f103-minimum"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_STM32F103_MINIMUM=y
 CONFIG_ARCH_CHIP="stm32"
 CONFIG_ARCH_CHIP_STM32=y
diff --git a/boards/arm/stm32/stm32f103-minimum/configs/nrf24/defconfig b/boards/arm/stm32/stm32f103-minimum/configs/nrf24/defconfig
index ad54ae6..68b956e 100644
--- a/boards/arm/stm32/stm32f103-minimum/configs/nrf24/defconfig
+++ b/boards/arm/stm32/stm32f103-minimum/configs/nrf24/defconfig
@@ -19,6 +19,7 @@
 # CONFIG_NSH_DISABLE_XD is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="stm32f103-minimum"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_STM32F103_MINIMUM=y
 CONFIG_ARCH_CHIP="stm32"
 CONFIG_ARCH_CHIP_STM32=y
diff --git a/boards/arm/stm32/stm32f103-minimum/configs/veml6070/defconfig b/boards/arm/stm32/stm32f103-minimum/configs/veml6070/defconfig
index 394e5a2..493d865 100644
--- a/boards/arm/stm32/stm32f103-minimum/configs/veml6070/defconfig
+++ b/boards/arm/stm32/stm32f103-minimum/configs/veml6070/defconfig
@@ -19,6 +19,7 @@
 # CONFIG_NSH_DISABLE_XD is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="stm32f103-minimum"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_STM32F103_MINIMUM=y
 CONFIG_ARCH_CHIP="stm32"
 CONFIG_ARCH_CHIP_STM32=y
diff --git a/boards/arm/stm32/stm32f4discovery/configs/lcd1602/defconfig b/boards/arm/stm32/stm32f4discovery/configs/lcd1602/defconfig
index 1b7addf..4ef089c 100644
--- a/boards/arm/stm32/stm32f4discovery/configs/lcd1602/defconfig
+++ b/boards/arm/stm32/stm32f4discovery/configs/lcd1602/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="stm32f4discovery"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_STM32F4_DISCOVERY=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="stm32"
diff --git a/boards/arm/stm32/stm32f4discovery/configs/max31855/defconfig b/boards/arm/stm32/stm32f4discovery/configs/max31855/defconfig
index 41bd3e6..01f9501 100644
--- a/boards/arm/stm32/stm32f4discovery/configs/max31855/defconfig
+++ b/boards/arm/stm32/stm32f4discovery/configs/max31855/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="stm32f4discovery"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_STM32F4_DISCOVERY=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="stm32"
diff --git a/boards/arm/stm32/stm32f4discovery/configs/xen1210/defconfig b/boards/arm/stm32/stm32f4discovery/configs/xen1210/defconfig
index f1380b3..29309da 100644
--- a/boards/arm/stm32/stm32f4discovery/configs/xen1210/defconfig
+++ b/boards/arm/stm32/stm32f4discovery/configs/xen1210/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="stm32f4discovery"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_STM32F4_DISCOVERY=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="stm32"
diff --git a/boards/arm/stm32f7/stm32f746g-disco/src/Makefile b/boards/arm/stm32f7/stm32f746g-disco/src/Makefile
index cf5120f..7ce6fed 100644
--- a/boards/arm/stm32f7/stm32f746g-disco/src/Makefile
+++ b/boards/arm/stm32f7/stm32f746g-disco/src/Makefile
@@ -64,11 +64,11 @@ ifeq ($(CONFIG_MTD_N25QXXX),y)
 CSRCS += stm32_n25q.c
 endif
 
-ifeq ($(CONFIG_STM32F7_SDMMC), y)
+ifeq ($(CONFIG_STM32F7_SDMMC),y)
 CSRCS += stm32_sdmmc.c
 endif
 
-ifeq ($(CONFIG_AUDIO_WM8994), y)
+ifeq ($(CONFIG_AUDIO_WM8994),y)
 CSRCS += stm32_wm8994.c
 endif
 
diff --git a/boards/arm/stm32h7/nucleo-h743zi/src/Makefile b/boards/arm/stm32h7/nucleo-h743zi/src/Makefile
index 616789e..b07d4c5 100644
--- a/boards/arm/stm32h7/nucleo-h743zi/src/Makefile
+++ b/boards/arm/stm32h7/nucleo-h743zi/src/Makefile
@@ -88,7 +88,7 @@ ifeq ($(CONFIG_PWM),y)
 CSRCS += stm32_pwm.c
 endif
 
-ifeq ($(CONFIG_BOARDCTL_RESET), y)
+ifeq ($(CONFIG_BOARDCTL_RESET),y)
 CSRCS += stm32_reset.c
 endif
 
diff --git a/boards/arm/stm32h7/stm32h747i-disco/src/Makefile b/boards/arm/stm32h7/stm32h747i-disco/src/Makefile
index 76ad132..626e11f 100644
--- a/boards/arm/stm32h7/stm32h747i-disco/src/Makefile
+++ b/boards/arm/stm32h7/stm32h747i-disco/src/Makefile
@@ -52,11 +52,11 @@ ifeq ($(CONFIG_BOARDCTL),y)
 CSRCS += stm32_appinitialize.c
 endif
 
-ifeq ($(CONFIG_STM32H7_SDMMC), y)
+ifeq ($(CONFIG_STM32H7_SDMMC),y)
 CSRCS += stm32_sdmmc.c
 endif
 
-ifeq ($(CONFIG_FAT_DMAMEMORY), y)
+ifeq ($(CONFIG_FAT_DMAMEMORY),y)
 CSRCS += stm32_dma_alloc.c
 endif
 
diff --git a/boards/risc-v/mpfs/common/Makefile b/boards/risc-v/mpfs/common/Makefile
index 113f4a1..dd13c8f 100644
--- a/boards/risc-v/mpfs/common/Makefile
+++ b/boards/risc-v/mpfs/common/Makefile
@@ -31,4 +31,3 @@ include $(TOPDIR)/boards/Board.mk
 ARCHSRCDIR = $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src
 BOARDDIR = $(ARCHSRCDIR)$(DELIM)board
 CFLAGS += $(shell $(INCDIR) "$(CC)" $(BOARDDIR)$(DELIM)include)
-
diff --git a/boards/risc-v/mpfs/common/src/Make.defs b/boards/risc-v/mpfs/common/src/Make.defs
index 9ed96cf..2d9465b 100755
--- a/boards/risc-v/mpfs/common/src/Make.defs
+++ b/boards/risc-v/mpfs/common/src/Make.defs
@@ -18,6 +18,8 @@
 #
 ############################################################################
 
+ifeq ($(CONFIG_ARCH_BOARD_COMMON),y)
+
 CSRCS += mpfs_boot.c
 
 ifeq ($(CONFIG_I2C),y)
@@ -47,3 +49,5 @@ endif
 DEPPATH += --dep-path src
 VPATH += :src
 CFLAGS += $(shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)src)
+
+endif
diff --git a/boards/risc-v/mpfs/icicle/configs/hwtest/defconfig b/boards/risc-v/mpfs/icicle/configs/hwtest/defconfig
index fb1b7e8..4f6dc13 100644
--- a/boards/risc-v/mpfs/icicle/configs/hwtest/defconfig
+++ b/boards/risc-v/mpfs/icicle/configs/hwtest/defconfig
@@ -12,6 +12,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="risc-v"
 CONFIG_ARCH_BOARD="icicle"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ICICLE_MPFS=y
 CONFIG_ARCH_CHIP="mpfs"
 CONFIG_ARCH_CHIP_MPFS250T_FCVG484=y
diff --git a/boards/risc-v/mpfs/icicle/configs/knsh/defconfig b/boards/risc-v/mpfs/icicle/configs/knsh/defconfig
index 66f90ab..e53d563 100644
--- a/boards/risc-v/mpfs/icicle/configs/knsh/defconfig
+++ b/boards/risc-v/mpfs/icicle/configs/knsh/defconfig
@@ -9,6 +9,7 @@
 # CONFIG_NSH_DISABLE_LOSMART is not set
 CONFIG_ARCH="risc-v"
 CONFIG_ARCH_BOARD="icicle"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ICICLE_MPFS=y
 CONFIG_ARCH_CHIP="mpfs"
 CONFIG_ARCH_CHIP_MPFS250T_FCVG484=y
diff --git a/boards/risc-v/mpfs/icicle/configs/nsh/defconfig b/boards/risc-v/mpfs/icicle/configs/nsh/defconfig
index 8ee7466..0940f45 100644
--- a/boards/risc-v/mpfs/icicle/configs/nsh/defconfig
+++ b/boards/risc-v/mpfs/icicle/configs/nsh/defconfig
@@ -10,6 +10,7 @@
 # CONFIG_NSH_DISABLE_LOSMART is not set
 CONFIG_ARCH="risc-v"
 CONFIG_ARCH_BOARD="icicle"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ICICLE_MPFS=y
 CONFIG_ARCH_CHIP="mpfs"
 CONFIG_ARCH_CHIP_MPFS250T_FCVG484=y
diff --git a/boards/risc-v/mpfs/icicle/configs/opensbi/defconfig b/boards/risc-v/mpfs/icicle/configs/opensbi/defconfig
index 3a2e4d7..5699b65 100644
--- a/boards/risc-v/mpfs/icicle/configs/opensbi/defconfig
+++ b/boards/risc-v/mpfs/icicle/configs/opensbi/defconfig
@@ -9,6 +9,7 @@
 # CONFIG_DISABLE_OS_API is not set
 CONFIG_ARCH="risc-v"
 CONFIG_ARCH_BOARD="icicle"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ICICLE_MPFS=y
 CONFIG_ARCH_CHIP="mpfs"
 CONFIG_ARCH_CHIP_MPFS250T_FCVG484=y
diff --git a/boards/risc-v/mpfs/m100pfsevp/configs/nsh/defconfig b/boards/risc-v/mpfs/m100pfsevp/configs/nsh/defconfig
index 8ee7466..0940f45 100644
--- a/boards/risc-v/mpfs/m100pfsevp/configs/nsh/defconfig
+++ b/boards/risc-v/mpfs/m100pfsevp/configs/nsh/defconfig
@@ -10,6 +10,7 @@
 # CONFIG_NSH_DISABLE_LOSMART is not set
 CONFIG_ARCH="risc-v"
 CONFIG_ARCH_BOARD="icicle"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ICICLE_MPFS=y
 CONFIG_ARCH_CHIP="mpfs"
 CONFIG_ARCH_CHIP_MPFS250T_FCVG484=y
diff --git a/boards/xtensa/esp32/common/Kconfig b/boards/xtensa/esp32/common/Kconfig
index 7448a6d..afc26b7 100644
--- a/boards/xtensa/esp32/common/Kconfig
+++ b/boards/xtensa/esp32/common/Kconfig
@@ -2,6 +2,7 @@
 # For a description of the syntax of this configuration file,
 # see the file kconfig-language.txt in the NuttX tools repository.
 #
+
 config ESP32_MERGE_BINS
 	bool "Merge raw binary files into a single file"
 	default n
diff --git a/boards/xtensa/esp32/common/src/Make.defs b/boards/xtensa/esp32/common/src/Make.defs
index 5de0538..e027873 100644
--- a/boards/xtensa/esp32/common/src/Make.defs
+++ b/boards/xtensa/esp32/common/src/Make.defs
@@ -18,6 +18,8 @@
 #
 #############################################################################
 
+ifeq ($(CONFIG_ARCH_BOARD_COMMON),y)
+
 ifeq ($(CONFIG_WATCHDOG),y)
   CSRCS += esp32_board_wdt.c
 endif
@@ -85,3 +87,5 @@ endif
 DEPPATH += --dep-path src
 VPATH += :src
 CFLAGS += $(shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)src)
+
+endif
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/autopm/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/autopm/defconfig
index 26c2266..7c5449c 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/autopm/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/autopm/defconfig
@@ -12,6 +12,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/ble/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/ble/defconfig
index c25583f..851fd3a 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/ble/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/ble/defconfig
@@ -12,6 +12,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/blewifi/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/blewifi/defconfig
index 25a05cf..f11654b 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/blewifi/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/blewifi/defconfig
@@ -12,6 +12,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/buttons/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/buttons/defconfig
index 72b510a..8fe5710 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/buttons/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/buttons/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="esp32"
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/coex/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/coex/defconfig
index fa980a7..75b4de6 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/coex/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/coex/defconfig
@@ -36,6 +36,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/elf/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/elf/defconfig
index 358b595..114b07c 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/elf/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/elf/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/leds/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/leds/defconfig
index d26d664..beb69be 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/leds/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/leds/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/mcp2515/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/mcp2515/defconfig
index c07fdc4..c3b581a 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/mcp2515/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/mcp2515/defconfig
@@ -12,6 +12,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/mcuboot_agent/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/mcuboot_agent/defconfig
index 09ce2d3..44a2650 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/mcuboot_agent/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/mcuboot_agent/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/mcuboot_confirm/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/mcuboot_confirm/defconfig
index 54e5b0b..6ce4311 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/mcuboot_confirm/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/mcuboot_confirm/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/mmcsdspi/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/mmcsdspi/defconfig
index 9d3bd01..c2319f8 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/mmcsdspi/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/mmcsdspi/defconfig
@@ -16,6 +16,7 @@
 # CONFIG_SPI_EXCHANGE is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/modbus/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/modbus/defconfig
index ad5d714..d0b0d1a 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/modbus/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/modbus/defconfig
@@ -12,6 +12,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/module/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/module/defconfig
index 70f75a6..d571918 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/module/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/module/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/mqttc/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/mqttc/defconfig
index 67de0b3..984282a 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/mqttc/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/mqttc/defconfig
@@ -12,6 +12,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/ms5611/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/ms5611/defconfig
index 2c9b66c..aac2805 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/ms5611/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/ms5611/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/netnsh/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/netnsh/defconfig
index f62029b..45f7514 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/netnsh/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/netnsh/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/nsh/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/nsh/defconfig
index f8ae759..3f8aea5 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/nsh/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/nsh/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/oneshot/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/oneshot/defconfig
index 1710762..83dcfb1 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/oneshot/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/oneshot/defconfig
@@ -12,6 +12,7 @@
 CONFIG_ALARM_ARCH=y
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/ostest/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/ostest/defconfig
index 62bc9b6..643ed46 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/ostest/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/ostest/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/pm/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/pm/defconfig
index 7fa292f..8244d7f 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/pm/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/pm/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/psram/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/psram/defconfig
index b013287..d6771fa 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/psram/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/psram/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/pwm/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/pwm/defconfig
index 6cc748d..67ca30b 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/pwm/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/pwm/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/random/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/random/defconfig
index 18c480b..f811422 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/random/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/random/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/rtc/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/rtc/defconfig
index a509aa9..8a20ad8 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/rtc/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/rtc/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/smp/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/smp/defconfig
index c6478f1..7f148e0 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/smp/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/smp/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/sotest/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/sotest/defconfig
index a8563e0..766fd33 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/sotest/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/sotest/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/spiflash/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/spiflash/defconfig
index 1ba0f0b..a62d9ed 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/spiflash/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/spiflash/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/sta_softap/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/sta_softap/defconfig
index b14830e..6134e49 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/sta_softap/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/sta_softap/defconfig
@@ -13,6 +13,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/tickless/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/tickless/defconfig
index 879b568..c479657 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/tickless/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/tickless/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/timer/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/timer/defconfig
index a534341..91c8cb8 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/timer/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/timer/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/wapi/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/wapi/defconfig
index e4b30fc..e1a37be 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/wapi/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/wapi/defconfig
@@ -12,6 +12,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/wapi_smp/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/wapi_smp/defconfig
index 2016fe3..d97162c 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/wapi_smp/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/wapi_smp/defconfig
@@ -12,6 +12,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/watchdog/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/watchdog/defconfig
index 99a707c..456839d 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/watchdog/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/watchdog/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/watcher/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/watcher/defconfig
index d428eea..627345a 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/watcher/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/watcher/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/wifinsh/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/wifinsh/defconfig
index 57cc13d..6edf072 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/wifinsh/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/wifinsh/defconfig
@@ -12,6 +12,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-devkitc"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-ethernet-kit/configs/autopm/defconfig b/boards/xtensa/esp32/esp32-ethernet-kit/configs/autopm/defconfig
index b8fa78c..8384a35 100644
--- a/boards/xtensa/esp32/esp32-ethernet-kit/configs/autopm/defconfig
+++ b/boards/xtensa/esp32/esp32-ethernet-kit/configs/autopm/defconfig
@@ -11,6 +11,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-ethernet-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_ETHERNETKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-ethernet-kit/configs/buttons/defconfig b/boards/xtensa/esp32/esp32-ethernet-kit/configs/buttons/defconfig
index c9ec8c7..d4dec0a 100644
--- a/boards/xtensa/esp32/esp32-ethernet-kit/configs/buttons/defconfig
+++ b/boards/xtensa/esp32/esp32-ethernet-kit/configs/buttons/defconfig
@@ -10,6 +10,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-ethernet-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_ETHERNETKIT=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="esp32"
diff --git a/boards/xtensa/esp32/esp32-ethernet-kit/configs/ethernet/defconfig b/boards/xtensa/esp32/esp32-ethernet-kit/configs/ethernet/defconfig
index c759a20..284064e 100644
--- a/boards/xtensa/esp32/esp32-ethernet-kit/configs/ethernet/defconfig
+++ b/boards/xtensa/esp32/esp32-ethernet-kit/configs/ethernet/defconfig
@@ -10,6 +10,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-ethernet-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_ETHERNETKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-ethernet-kit/configs/mcuboot_agent/defconfig b/boards/xtensa/esp32/esp32-ethernet-kit/configs/mcuboot_agent/defconfig
index 02f0c50..6aa6989 100644
--- a/boards/xtensa/esp32/esp32-ethernet-kit/configs/mcuboot_agent/defconfig
+++ b/boards/xtensa/esp32/esp32-ethernet-kit/configs/mcuboot_agent/defconfig
@@ -10,6 +10,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-ethernet-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_ETHERNETKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-ethernet-kit/configs/mcuboot_confirm/defconfig b/boards/xtensa/esp32/esp32-ethernet-kit/configs/mcuboot_confirm/defconfig
index fcbbe27..4e41506 100644
--- a/boards/xtensa/esp32/esp32-ethernet-kit/configs/mcuboot_confirm/defconfig
+++ b/boards/xtensa/esp32/esp32-ethernet-kit/configs/mcuboot_confirm/defconfig
@@ -10,6 +10,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-ethernet-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_ETHERNETKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-ethernet-kit/configs/nsh/defconfig b/boards/xtensa/esp32/esp32-ethernet-kit/configs/nsh/defconfig
index ded0920..70e6635 100644
--- a/boards/xtensa/esp32/esp32-ethernet-kit/configs/nsh/defconfig
+++ b/boards/xtensa/esp32/esp32-ethernet-kit/configs/nsh/defconfig
@@ -10,6 +10,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-ethernet-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_ETHERNETKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-ethernet-kit/configs/oneshot/defconfig b/boards/xtensa/esp32/esp32-ethernet-kit/configs/oneshot/defconfig
index 8a5f6df..812aa89 100644
--- a/boards/xtensa/esp32/esp32-ethernet-kit/configs/oneshot/defconfig
+++ b/boards/xtensa/esp32/esp32-ethernet-kit/configs/oneshot/defconfig
@@ -11,6 +11,7 @@
 CONFIG_ALARM_ARCH=y
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-ethernet-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_ETHERNETKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-ethernet-kit/configs/rtc/defconfig b/boards/xtensa/esp32/esp32-ethernet-kit/configs/rtc/defconfig
index bbf67d8..509b04b 100644
--- a/boards/xtensa/esp32/esp32-ethernet-kit/configs/rtc/defconfig
+++ b/boards/xtensa/esp32/esp32-ethernet-kit/configs/rtc/defconfig
@@ -10,6 +10,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-ethernet-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_ETHERNETKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-ethernet-kit/configs/tickless/defconfig b/boards/xtensa/esp32/esp32-ethernet-kit/configs/tickless/defconfig
index afc0b8d..b834cbf 100644
--- a/boards/xtensa/esp32/esp32-ethernet-kit/configs/tickless/defconfig
+++ b/boards/xtensa/esp32/esp32-ethernet-kit/configs/tickless/defconfig
@@ -10,6 +10,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-ethernet-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_ETHERNETKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-ethernet-kit/configs/wapi/defconfig b/boards/xtensa/esp32/esp32-ethernet-kit/configs/wapi/defconfig
index dbb50e9..bbc40ea 100644
--- a/boards/xtensa/esp32/esp32-ethernet-kit/configs/wapi/defconfig
+++ b/boards/xtensa/esp32/esp32-ethernet-kit/configs/wapi/defconfig
@@ -11,6 +11,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-ethernet-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_ETHERNETKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-wrover-kit/configs/autopm/defconfig b/boards/xtensa/esp32/esp32-wrover-kit/configs/autopm/defconfig
index eae6347..caf877d 100644
--- a/boards/xtensa/esp32/esp32-wrover-kit/configs/autopm/defconfig
+++ b/boards/xtensa/esp32/esp32-wrover-kit/configs/autopm/defconfig
@@ -12,6 +12,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-wrover-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_WROVERKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-wrover-kit/configs/bmp180/defconfig b/boards/xtensa/esp32/esp32-wrover-kit/configs/bmp180/defconfig
index db94c66..2f484c0 100644
--- a/boards/xtensa/esp32/esp32-wrover-kit/configs/bmp180/defconfig
+++ b/boards/xtensa/esp32/esp32-wrover-kit/configs/bmp180/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-wrover-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_WROVERKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-wrover-kit/configs/buttons/defconfig b/boards/xtensa/esp32/esp32-wrover-kit/configs/buttons/defconfig
index 3aade11..417ec12 100644
--- a/boards/xtensa/esp32/esp32-wrover-kit/configs/buttons/defconfig
+++ b/boards/xtensa/esp32/esp32-wrover-kit/configs/buttons/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-wrover-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_WROVERKIT=y
 CONFIG_ARCH_BUTTONS=y
 CONFIG_ARCH_CHIP="esp32"
diff --git a/boards/xtensa/esp32/esp32-wrover-kit/configs/gpio/defconfig b/boards/xtensa/esp32/esp32-wrover-kit/configs/gpio/defconfig
index 2285875..440eeae 100644
--- a/boards/xtensa/esp32/esp32-wrover-kit/configs/gpio/defconfig
+++ b/boards/xtensa/esp32/esp32-wrover-kit/configs/gpio/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-wrover-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_WROVERKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-wrover-kit/configs/lcd1602/defconfig b/boards/xtensa/esp32/esp32-wrover-kit/configs/lcd1602/defconfig
index e146b48..364c23e 100644
--- a/boards/xtensa/esp32/esp32-wrover-kit/configs/lcd1602/defconfig
+++ b/boards/xtensa/esp32/esp32-wrover-kit/configs/lcd1602/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-wrover-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_WROVERKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-wrover-kit/configs/leds/defconfig b/boards/xtensa/esp32/esp32-wrover-kit/configs/leds/defconfig
index 3b314af..86f2f58 100644
--- a/boards/xtensa/esp32/esp32-wrover-kit/configs/leds/defconfig
+++ b/boards/xtensa/esp32/esp32-wrover-kit/configs/leds/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-wrover-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_WROVERKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-wrover-kit/configs/lvgl/defconfig b/boards/xtensa/esp32/esp32-wrover-kit/configs/lvgl/defconfig
index 1d62214..a04535c 100644
--- a/boards/xtensa/esp32/esp32-wrover-kit/configs/lvgl/defconfig
+++ b/boards/xtensa/esp32/esp32-wrover-kit/configs/lvgl/defconfig
@@ -13,6 +13,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-wrover-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_WROVERKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-wrover-kit/configs/mcuboot_agent/defconfig b/boards/xtensa/esp32/esp32-wrover-kit/configs/mcuboot_agent/defconfig
index a065381..4cd880b 100644
--- a/boards/xtensa/esp32/esp32-wrover-kit/configs/mcuboot_agent/defconfig
+++ b/boards/xtensa/esp32/esp32-wrover-kit/configs/mcuboot_agent/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-wrover-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_WROVERKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-wrover-kit/configs/mcuboot_confirm/defconfig b/boards/xtensa/esp32/esp32-wrover-kit/configs/mcuboot_confirm/defconfig
index 3454be2..23b0a36 100644
--- a/boards/xtensa/esp32/esp32-wrover-kit/configs/mcuboot_confirm/defconfig
+++ b/boards/xtensa/esp32/esp32-wrover-kit/configs/mcuboot_confirm/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-wrover-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_WROVERKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-wrover-kit/configs/nsh/defconfig b/boards/xtensa/esp32/esp32-wrover-kit/configs/nsh/defconfig
index 842407b..dbf3258 100644
--- a/boards/xtensa/esp32/esp32-wrover-kit/configs/nsh/defconfig
+++ b/boards/xtensa/esp32/esp32-wrover-kit/configs/nsh/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-wrover-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_WROVERKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-wrover-kit/configs/nx/defconfig b/boards/xtensa/esp32/esp32-wrover-kit/configs/nx/defconfig
index 43c02e1..680e1d1 100644
--- a/boards/xtensa/esp32/esp32-wrover-kit/configs/nx/defconfig
+++ b/boards/xtensa/esp32/esp32-wrover-kit/configs/nx/defconfig
@@ -15,6 +15,7 @@
 # CONFIG_NX_DISABLE_16BPP is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-wrover-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_WROVERKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-wrover-kit/configs/oneshot/defconfig b/boards/xtensa/esp32/esp32-wrover-kit/configs/oneshot/defconfig
index cbd1ef0..21b0540 100644
--- a/boards/xtensa/esp32/esp32-wrover-kit/configs/oneshot/defconfig
+++ b/boards/xtensa/esp32/esp32-wrover-kit/configs/oneshot/defconfig
@@ -11,6 +11,7 @@
 CONFIG_ALARM_ARCH=y
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-wrover-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_WROVERKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-wrover-kit/configs/rtc/defconfig b/boards/xtensa/esp32/esp32-wrover-kit/configs/rtc/defconfig
index bfe58fe..f8099ed 100644
--- a/boards/xtensa/esp32/esp32-wrover-kit/configs/rtc/defconfig
+++ b/boards/xtensa/esp32/esp32-wrover-kit/configs/rtc/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-wrover-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_WROVERKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-wrover-kit/configs/tickless/defconfig b/boards/xtensa/esp32/esp32-wrover-kit/configs/tickless/defconfig
index c99c08a..9e36dfa 100644
--- a/boards/xtensa/esp32/esp32-wrover-kit/configs/tickless/defconfig
+++ b/boards/xtensa/esp32/esp32-wrover-kit/configs/tickless/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-wrover-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_WROVERKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/esp32-wrover-kit/configs/wapi/defconfig b/boards/xtensa/esp32/esp32-wrover-kit/configs/wapi/defconfig
index d4d651b..355d50c 100644
--- a/boards/xtensa/esp32/esp32-wrover-kit/configs/wapi/defconfig
+++ b/boards/xtensa/esp32/esp32-wrover-kit/configs/wapi/defconfig
@@ -12,6 +12,7 @@
 CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32-wrover-kit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32_WROVERKIT=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32/ttgo_lora_esp32/configs/nsh/defconfig b/boards/xtensa/esp32/ttgo_lora_esp32/configs/nsh/defconfig
index 0758e79..a10d689 100644
--- a/boards/xtensa/esp32/ttgo_lora_esp32/configs/nsh/defconfig
+++ b/boards/xtensa/esp32/ttgo_lora_esp32/configs/nsh/defconfig
@@ -12,6 +12,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="ttgo_lora_esp32"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_TTGO_LORA_ESP32=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
diff --git a/boards/xtensa/esp32s2/common/src/Make.defs b/boards/xtensa/esp32s2/common/src/Make.defs
index 6fc1ebe..9be45d4 100644
--- a/boards/xtensa/esp32s2/common/src/Make.defs
+++ b/boards/xtensa/esp32s2/common/src/Make.defs
@@ -18,6 +18,8 @@
 #
 #############################################################################
 
+ifeq ($(CONFIG_ARCH_BOARD_COMMON),y)
+
 ifeq ($(CONFIG_WATCHDOG),y)
   CSRCS += esp32s2_board_wdt.c
 endif
@@ -25,3 +27,5 @@ endif
 DEPPATH += --dep-path src
 VPATH += :src
 CFLAGS += $(shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)src)
+
+endif
diff --git a/boards/xtensa/esp32s2/esp32s2-saola-1/configs/gpio/defconfig b/boards/xtensa/esp32s2/esp32s2-saola-1/configs/gpio/defconfig
index 4bd6175..d6c4dbc 100644
--- a/boards/xtensa/esp32s2/esp32s2-saola-1/configs/gpio/defconfig
+++ b/boards/xtensa/esp32s2/esp32s2-saola-1/configs/gpio/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32s2-saola-1"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32S2_SAOLA_1=y
 CONFIG_ARCH_CHIP="esp32s2"
 CONFIG_ARCH_CHIP_ESP32S2=y
diff --git a/boards/xtensa/esp32s2/esp32s2-saola-1/configs/mcuboot_nsh/defconfig b/boards/xtensa/esp32s2/esp32s2-saola-1/configs/mcuboot_nsh/defconfig
index 83d8f7b..8873d2a 100644
--- a/boards/xtensa/esp32s2/esp32s2-saola-1/configs/mcuboot_nsh/defconfig
+++ b/boards/xtensa/esp32s2/esp32s2-saola-1/configs/mcuboot_nsh/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32s2-saola-1"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32S2_SAOLA_1=y
 CONFIG_ARCH_CHIP="esp32s2"
 CONFIG_ARCH_CHIP_ESP32S2=y
diff --git a/boards/xtensa/esp32s2/esp32s2-saola-1/configs/nsh/defconfig b/boards/xtensa/esp32s2/esp32s2-saola-1/configs/nsh/defconfig
index f26ed87..2b5e207 100644
--- a/boards/xtensa/esp32s2/esp32s2-saola-1/configs/nsh/defconfig
+++ b/boards/xtensa/esp32s2/esp32s2-saola-1/configs/nsh/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32s2-saola-1"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32S2_SAOLA_1=y
 CONFIG_ARCH_CHIP="esp32s2"
 CONFIG_ARCH_CHIP_ESP32S2=y
diff --git a/boards/xtensa/esp32s2/esp32s2-saola-1/configs/oneshot/defconfig b/boards/xtensa/esp32s2/esp32s2-saola-1/configs/oneshot/defconfig
index bf168c3..c48e561 100644
--- a/boards/xtensa/esp32s2/esp32s2-saola-1/configs/oneshot/defconfig
+++ b/boards/xtensa/esp32s2/esp32s2-saola-1/configs/oneshot/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32s2-saola-1"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32S2_SAOLA_1=y
 CONFIG_ARCH_CHIP="esp32s2"
 CONFIG_ARCH_CHIP_ESP32S2=y
diff --git a/boards/xtensa/esp32s2/esp32s2-saola-1/configs/random/defconfig b/boards/xtensa/esp32s2/esp32s2-saola-1/configs/random/defconfig
index d17d670..6b5ba4b 100644
--- a/boards/xtensa/esp32s2/esp32s2-saola-1/configs/random/defconfig
+++ b/boards/xtensa/esp32s2/esp32s2-saola-1/configs/random/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32s2-saola-1"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32S2_SAOLA_1=y
 CONFIG_ARCH_CHIP="esp32s2"
 CONFIG_ARCH_CHIP_ESP32S2=y
diff --git a/boards/xtensa/esp32s2/esp32s2-saola-1/configs/timer/defconfig b/boards/xtensa/esp32s2/esp32s2-saola-1/configs/timer/defconfig
index 5a8b472..16fac0d 100644
--- a/boards/xtensa/esp32s2/esp32s2-saola-1/configs/timer/defconfig
+++ b/boards/xtensa/esp32s2/esp32s2-saola-1/configs/timer/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32s2-saola-1"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32S2_SAOLA_1=y
 CONFIG_ARCH_CHIP="esp32s2"
 CONFIG_ARCH_CHIP_ESP32S2=y
diff --git a/boards/xtensa/esp32s2/esp32s2-saola-1/configs/watchdog/defconfig b/boards/xtensa/esp32s2/esp32s2-saola-1/configs/watchdog/defconfig
index 7ec1279..7089f73 100644
--- a/boards/xtensa/esp32s2/esp32s2-saola-1/configs/watchdog/defconfig
+++ b/boards/xtensa/esp32s2/esp32s2-saola-1/configs/watchdog/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32s2-saola-1"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32S2_SAOLA_1=y
 CONFIG_ARCH_CHIP="esp32s2"
 CONFIG_ARCH_CHIP_ESP32S2=y
diff --git a/boards/xtensa/esp32s3/common/src/Make.defs b/boards/xtensa/esp32s3/common/src/Make.defs
index da97e34..26685e6 100644
--- a/boards/xtensa/esp32s3/common/src/Make.defs
+++ b/boards/xtensa/esp32s3/common/src/Make.defs
@@ -18,6 +18,8 @@
 #
 #############################################################################
 
+ifeq ($(CONFIG_ARCH_BOARD_COMMON),y)
+
 ifeq ($(CONFIG_ESP32S3_TIMER),y)
   CSRCS += esp32s3_board_tim.c
 endif
@@ -33,3 +35,5 @@ endif
 DEPPATH += --dep-path src
 VPATH += :src
 CFLAGS += $(shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)src)
+
+endif
diff --git a/boards/xtensa/esp32s3/esp32s3-devkit/configs/nsh/defconfig b/boards/xtensa/esp32s3/esp32s3-devkit/configs/nsh/defconfig
index 0426fc7..81a8fb7 100644
--- a/boards/xtensa/esp32s3/esp32s3-devkit/configs/nsh/defconfig
+++ b/boards/xtensa/esp32s3/esp32s3-devkit/configs/nsh/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32s3-devkit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32S3_DEVKIT=y
 CONFIG_ARCH_CHIP="esp32s3"
 CONFIG_ARCH_CHIP_ESP32S3=y
diff --git a/boards/xtensa/esp32s3/esp32s3-devkit/configs/oneshot/defconfig b/boards/xtensa/esp32s3/esp32s3-devkit/configs/oneshot/defconfig
index 4b40d85..e35347e 100644
--- a/boards/xtensa/esp32s3/esp32s3-devkit/configs/oneshot/defconfig
+++ b/boards/xtensa/esp32s3/esp32s3-devkit/configs/oneshot/defconfig
@@ -12,6 +12,7 @@
 CONFIG_ALARM_ARCH=y
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32s3-devkit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32S3_DEVKIT=y
 CONFIG_ARCH_CHIP="esp32s3"
 CONFIG_ARCH_CHIP_ESP32S3=y
diff --git a/boards/xtensa/esp32s3/esp32s3-devkit/configs/smp/defconfig b/boards/xtensa/esp32s3/esp32s3-devkit/configs/smp/defconfig
index e2c9d54..a411037 100644
--- a/boards/xtensa/esp32s3/esp32s3-devkit/configs/smp/defconfig
+++ b/boards/xtensa/esp32s3/esp32s3-devkit/configs/smp/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32s3-devkit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32S3_DEVKIT=y
 CONFIG_ARCH_CHIP="esp32s3"
 CONFIG_ARCH_CHIP_ESP32S3=y
diff --git a/boards/xtensa/esp32s3/esp32s3-devkit/configs/spiflash/defconfig b/boards/xtensa/esp32s3/esp32s3-devkit/configs/spiflash/defconfig
index 1dcc6a8..c874e95 100644
--- a/boards/xtensa/esp32s3/esp32s3-devkit/configs/spiflash/defconfig
+++ b/boards/xtensa/esp32s3/esp32s3-devkit/configs/spiflash/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32s3-devkit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32S3_DEVKIT=y
 CONFIG_ARCH_CHIP="esp32s3"
 CONFIG_ARCH_CHIP_ESP32S3=y
diff --git a/boards/xtensa/esp32s3/esp32s3-devkit/configs/tickless/defconfig b/boards/xtensa/esp32s3/esp32s3-devkit/configs/tickless/defconfig
index 5c6d5af..f458cbe 100644
--- a/boards/xtensa/esp32s3/esp32s3-devkit/configs/tickless/defconfig
+++ b/boards/xtensa/esp32s3/esp32s3-devkit/configs/tickless/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32s3-devkit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32S3_DEVKIT=y
 CONFIG_ARCH_CHIP="esp32s3"
 CONFIG_ARCH_CHIP_ESP32S3=y
diff --git a/boards/xtensa/esp32s3/esp32s3-devkit/configs/timer/defconfig b/boards/xtensa/esp32s3/esp32s3-devkit/configs/timer/defconfig
index a86e6e9..019aa24 100644
--- a/boards/xtensa/esp32s3/esp32s3-devkit/configs/timer/defconfig
+++ b/boards/xtensa/esp32s3/esp32s3-devkit/configs/timer/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32s3-devkit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32S3_DEVKIT=y
 CONFIG_ARCH_CHIP="esp32s3"
 CONFIG_ARCH_CHIP_ESP32S3=y
diff --git a/boards/xtensa/esp32s3/esp32s3-devkit/configs/watchdog/defconfig b/boards/xtensa/esp32s3/esp32s3-devkit/configs/watchdog/defconfig
index 19d61e1..ff0d724 100644
--- a/boards/xtensa/esp32s3/esp32s3-devkit/configs/watchdog/defconfig
+++ b/boards/xtensa/esp32s3/esp32s3-devkit/configs/watchdog/defconfig
@@ -11,6 +11,7 @@
 # CONFIG_NSH_CMDPARMS is not set
 CONFIG_ARCH="xtensa"
 CONFIG_ARCH_BOARD="esp32s3-devkit"
+CONFIG_ARCH_BOARD_COMMON=y
 CONFIG_ARCH_BOARD_ESP32S3_DEVKIT=y
 CONFIG_ARCH_CHIP="esp32s3"
 CONFIG_ARCH_CHIP_ESP32S3=y