board: organize boards based on architecture

Introduce an architecture sorting of boards.  This is to allow for
easier maintenance going forward as the number of boards grows.  It
will be easier for any scripts to know the board/arch mapping without
having to maintain an explicit list of what boards are associated with
which arch.  We can also do things like have architecture maintainers
cover reviews and branches for arch/${ARCH} and boards/${ARCH} going
forward.

Change-Id: I02e0a30292b31fad58fb5dfab2682ad1c5a7d5a7
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
diff --git a/Kconfig.zephyr b/Kconfig.zephyr
index f4e64eb..6d513a6 100644
--- a/Kconfig.zephyr
+++ b/Kconfig.zephyr
@@ -48,4 +48,4 @@
 # because board usually overrides SoC values.
 #
 source "arch/*/soc/*/Kconfig.defconfig"
-source "boards/*/Kconfig.defconfig"
+source "boards/*/*/Kconfig.defconfig"
diff --git a/MAINTAINERS b/MAINTAINERS
index f59801f..3338329 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -80,57 +80,65 @@
 S:	Supported
 F:	ext/hal/cmsis/
 
-BOARDS - ALTERA MAX10
-M:	Andrew Boie <andrew.p.boie@intel.com>
-S:	Supported
-F:	boards/altera_max10/
-
-BOARDS - ARDUINO 101
+BOARDS/ARC - ARDUINO 101 SSS
 M:      Anas Nashif <anas.nashif@intel.com>
 S:	Supported
-F:	boards/arduino_101/
-F:	boards/arduino_101_sss/
+F:	boards/arc/arduino_101_sss/
 
-BOARDS - EM Starterkit
+BOARDS/ARC - EM Starterkit
 M:	Chuck Jordan <Chuck.Jordan@synopsys.com>
 S:	Supported
-F:	boards/em_starterkit/
+F:	boards/arc/em_starterkit/
 
-BOARDS - NXP FRDM-K64F
-M:	Maureen Helm <maureen.helm@nxp.com>
-S:	Supported
-F:	boards/frdm_k64f/
-
-BOARDS - Galileo
+BOARDS/ARC - QUARK SE C1000 SS Devboard
 M:      Anas Nashif <anas.nashif@intel.com>
 S:	Supported
-F:	boards/galileo/
+F:	boards/arc/quark_se_c1000_ss_devboard/
 
-BOARDS - NXP Hexiwear
-M:	Maureen Helm <maureen.helm@nxp.com>
-S:	Supported
-F:	boards/hexiwear_k64/
-
-BOARDS - NORDIC NRF52 PCA10040
-M:	Carles Cufi <carles.cufi@nordicsemi.no>
-S:	Supported
-F:	boards/nrf52_pca10040/
-
-BOARDS - 96Boards NITROGEN
+BOARDS/ARM - 96Boards NITROGEN
 M:	Amit Kucheria <amit.kucheria@linaro.org>
 S:	Supported
-F:	boards/96b_nitrogen/
+F:	boards/arm/96b_nitrogen/
 
-BOARDS - QUARK SE C1000 Devboard
+BOARDS/ARM - NXP FRDM-K64F
+M:	Maureen Helm <maureen.helm@nxp.com>
+S:	Supported
+F:	boards/arm/frdm_k64f/
+
+BOARDS/ARM - NXP Hexiwear
+M:	Maureen Helm <maureen.helm@nxp.com>
+S:	Supported
+F:	boards/arm/hexiwear_k64/
+
+BOARDS/ARM - NORDIC NRF52 PCA10040
+M:	Carles Cufi <carles.cufi@nordicsemi.no>
+S:	Supported
+F:	boards/arm/nrf52_pca10040/
+
+BOARDS/NIOS2 - ALTERA MAX10
+M:	Andrew Boie <andrew.p.boie@intel.com>
+S:	Supported
+F:	boards/nios2/altera_max10/
+
+BOARDS/X86 - ARDUINO 101
 M:      Anas Nashif <anas.nashif@intel.com>
 S:	Supported
-F:	boards/quark_se_c1000/
-F:	boards/quark_se_c1000_ss/
+F:	boards/x86/arduino_101/
 
-BOARDS - QUARK D2000 Devboard
+BOARDS/X86 - Galileo
 M:      Anas Nashif <anas.nashif@intel.com>
 S:	Supported
-F:	boards/quark_d2000/
+F:	boards/x86/galileo/
+
+BOARDS/X86 - QUARK D2000 Devboard
+M:      Anas Nashif <anas.nashif@intel.com>
+S:	Supported
+F:	boards/x86/quark_d2000/
+
+BOARDS/X86 - QUARK SE C1000 Devboard
+M:      Anas Nashif <anas.nashif@intel.com>
+S:	Supported
+F:	boards/x86/quark_se_c1000/
 
 BLUETOOTH
 M:	Johan Hedberg <johan.hedberg@intel.com>
diff --git a/Makefile b/Makefile
index 62240e4..d3f8881 100644
--- a/Makefile
+++ b/Makefile
@@ -361,7 +361,7 @@
 ZEPHYRINCLUDE    = \
 		-I$(srctree)/arch/$(ARCH)/include \
 		-I$(srctree)/arch/$(ARCH)/soc/$(SOC_PATH) \
-		-I$(srctree)/boards/$(BOARD_NAME) \
+		-I$(srctree)/boards/$(ARCH)/$(BOARD_NAME) \
 		$(if $(KBUILD_SRC), -I$(srctree)/include) \
 		-I$(srctree)/include \
 		-I$(CURDIR)/include/generated \
@@ -732,7 +732,7 @@
 endif
 else
 # Try a board specific linker file
-KBUILD_LDS := $(srctree)/boards/$(BOARD_NAME)/linker.ld
+KBUILD_LDS := $(srctree)/boards/$(ARCH)/$(BOARD_NAME)/linker.ld
 
 # If not available, try an SoC specific linker file
 ifeq ($(wildcard $(KBUILD_LDS)),)
@@ -1089,7 +1089,7 @@
 # Brief documentation of the typical targets used
 # ---------------------------------------------------------------------------
 
-boards := $(wildcard $(srctree)/boards/*/*_defconfig)
+boards := $(wildcard $(srctree)/boards/*/*/*_defconfig)
 boards := $(sort $(notdir $(boards)))
 
 kconfig-help:
@@ -1157,7 +1157,7 @@
 
 help-boards: $(help-board-dirs)
 
-boards-per-dir = $(sort $(notdir $(wildcard $(srctree)/boards/$*/*_defconfig)))
+boards-per-dir = $(sort $(notdir $(wildcard $(srctree)/boards/*/$*/*_defconfig)))
 
 $(help-board-dirs): help-%:
 	@echo  'Architecture specific targets ($(ARCH) $*):'
@@ -1237,7 +1237,7 @@
 qemugdb: QEMU_EXTRA_FLAGS += -s -S
 qemugdb: qemu
 
--include $(srctree)/boards/$(BOARD_NAME)/Makefile.board
+-include $(srctree)/boards/$(ARCH)/$(BOARD_NAME)/Makefile.board
 ifneq ($(FLASH_SCRIPT),)
 flash: zephyr
 	@echo "Flashing $(BOARD_NAME)"
diff --git a/Makefile.inc b/Makefile.inc
index e7de4e4..988089f 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -13,7 +13,7 @@
 endif
 
 ifdef BOARD
-KBUILD_DEFCONFIG_PATH=$(wildcard $(ZEPHYR_BASE)/boards/*/$(BOARD)_defconfig)
+KBUILD_DEFCONFIG_PATH=$(wildcard $(ZEPHYR_BASE)/boards/*/*/$(BOARD)_defconfig)
 ifeq ($(KBUILD_DEFCONFIG_PATH),)
 $(error Board $(BOARD) not found!)
 endif
@@ -100,7 +100,7 @@
 	$(Q)$(call zephyrmake,$(O),$@)
 
 ifeq ($(MAKECMDGOALS),debugserver)
--include $(ZEPHYR_BASE)/boards/$(BOARD)/Makefile.board
+-include $(ZEPHYR_BASE)/boards/$(ARCH)/$(BOARD)/Makefile.board
 -include $(ZEPHYR_BASE)/scripts/Makefile.toolchain.$(ZEPHYR_GCC_VARIANT)
 BOARD_NAME = $(BOARD)
 export BOARD_NAME
diff --git a/boards/Kconfig b/boards/Kconfig
index 39c4923..cff9627 100644
--- a/boards/Kconfig
+++ b/boards/Kconfig
@@ -1,10 +1,10 @@
 
 choice
 prompt "Board Selection"
-source "boards/*/Kconfig.board"
+source "boards/*/*/Kconfig.board"
 endchoice
 
 
 menu "Board Options"
-source "boards/*/Kconfig"
+source "boards/*/*/Kconfig"
 endmenu
diff --git a/boards/Makefile b/boards/Makefile
index ff6f14a..a541ba7 100644
--- a/boards/Makefile
+++ b/boards/Makefile
@@ -1 +1 @@
-obj-y += $(BOARD_NAME)/
+obj-y += $(ARCH)/$(BOARD_NAME)/
diff --git a/boards/arduino_101_sss/Kconfig.board b/boards/arc/arduino_101_sss/Kconfig.board
similarity index 100%
rename from boards/arduino_101_sss/Kconfig.board
rename to boards/arc/arduino_101_sss/Kconfig.board
diff --git a/boards/arduino_101_sss/Kconfig.defconfig b/boards/arc/arduino_101_sss/Kconfig.defconfig
similarity index 100%
rename from boards/arduino_101_sss/Kconfig.defconfig
rename to boards/arc/arduino_101_sss/Kconfig.defconfig
diff --git a/boards/arduino_101_sss/Makefile b/boards/arc/arduino_101_sss/Makefile
similarity index 100%
rename from boards/arduino_101_sss/Makefile
rename to boards/arc/arduino_101_sss/Makefile
diff --git a/boards/arduino_101_sss/Makefile.board b/boards/arc/arduino_101_sss/Makefile.board
similarity index 100%
rename from boards/arduino_101_sss/Makefile.board
rename to boards/arc/arduino_101_sss/Makefile.board
diff --git a/boards/arduino_101_sss/arduino_101_sss_defconfig b/boards/arc/arduino_101_sss/arduino_101_sss_defconfig
similarity index 100%
rename from boards/arduino_101_sss/arduino_101_sss_defconfig
rename to boards/arc/arduino_101_sss/arduino_101_sss_defconfig
diff --git a/boards/arduino_101_sss/board.h b/boards/arc/arduino_101_sss/board.h
similarity index 100%
rename from boards/arduino_101_sss/board.h
rename to boards/arc/arduino_101_sss/board.h
diff --git a/boards/arduino_101_sss/support/openocd.cfg b/boards/arc/arduino_101_sss/support/openocd.cfg
similarity index 100%
rename from boards/arduino_101_sss/support/openocd.cfg
rename to boards/arc/arduino_101_sss/support/openocd.cfg
diff --git a/boards/em_starterkit/Kconfig.board b/boards/arc/em_starterkit/Kconfig.board
similarity index 100%
rename from boards/em_starterkit/Kconfig.board
rename to boards/arc/em_starterkit/Kconfig.board
diff --git a/boards/em_starterkit/Kconfig.defconfig b/boards/arc/em_starterkit/Kconfig.defconfig
similarity index 100%
rename from boards/em_starterkit/Kconfig.defconfig
rename to boards/arc/em_starterkit/Kconfig.defconfig
diff --git a/boards/em_starterkit/Makefile b/boards/arc/em_starterkit/Makefile
similarity index 100%
rename from boards/em_starterkit/Makefile
rename to boards/arc/em_starterkit/Makefile
diff --git a/boards/em_starterkit/Makefile.board b/boards/arc/em_starterkit/Makefile.board
similarity index 100%
rename from boards/em_starterkit/Makefile.board
rename to boards/arc/em_starterkit/Makefile.board
diff --git a/boards/em_starterkit/board.h b/boards/arc/em_starterkit/board.h
similarity index 100%
rename from boards/em_starterkit/board.h
rename to boards/arc/em_starterkit/board.h
diff --git a/boards/em_starterkit/em_starterkit_defconfig b/boards/arc/em_starterkit/em_starterkit_defconfig
similarity index 100%
rename from boards/em_starterkit/em_starterkit_defconfig
rename to boards/arc/em_starterkit/em_starterkit_defconfig
diff --git a/boards/em_starterkit/support/openocd.cfg b/boards/arc/em_starterkit/support/openocd.cfg
similarity index 100%
rename from boards/em_starterkit/support/openocd.cfg
rename to boards/arc/em_starterkit/support/openocd.cfg
diff --git a/boards/quark_se_c1000_ss_devboard/Kconfig.board b/boards/arc/quark_se_c1000_ss_devboard/Kconfig.board
similarity index 100%
rename from boards/quark_se_c1000_ss_devboard/Kconfig.board
rename to boards/arc/quark_se_c1000_ss_devboard/Kconfig.board
diff --git a/boards/quark_se_c1000_ss_devboard/Kconfig.defconfig b/boards/arc/quark_se_c1000_ss_devboard/Kconfig.defconfig
similarity index 100%
rename from boards/quark_se_c1000_ss_devboard/Kconfig.defconfig
rename to boards/arc/quark_se_c1000_ss_devboard/Kconfig.defconfig
diff --git a/boards/quark_se_c1000_ss_devboard/Makefile b/boards/arc/quark_se_c1000_ss_devboard/Makefile
similarity index 100%
rename from boards/quark_se_c1000_ss_devboard/Makefile
rename to boards/arc/quark_se_c1000_ss_devboard/Makefile
diff --git a/boards/quark_se_c1000_ss_devboard/Makefile.board b/boards/arc/quark_se_c1000_ss_devboard/Makefile.board
similarity index 100%
rename from boards/quark_se_c1000_ss_devboard/Makefile.board
rename to boards/arc/quark_se_c1000_ss_devboard/Makefile.board
diff --git a/boards/quark_se_c1000_ss_devboard/board.h b/boards/arc/quark_se_c1000_ss_devboard/board.h
similarity index 100%
rename from boards/quark_se_c1000_ss_devboard/board.h
rename to boards/arc/quark_se_c1000_ss_devboard/board.h
diff --git a/boards/quark_se_c1000_ss_devboard/quark_se_c1000_ss_devboard_defconfig b/boards/arc/quark_se_c1000_ss_devboard/quark_se_c1000_ss_devboard_defconfig
similarity index 100%
rename from boards/quark_se_c1000_ss_devboard/quark_se_c1000_ss_devboard_defconfig
rename to boards/arc/quark_se_c1000_ss_devboard/quark_se_c1000_ss_devboard_defconfig
diff --git a/boards/quark_se_c1000_ss_devboard/support/openocd.cfg b/boards/arc/quark_se_c1000_ss_devboard/support/openocd.cfg
similarity index 100%
rename from boards/quark_se_c1000_ss_devboard/support/openocd.cfg
rename to boards/arc/quark_se_c1000_ss_devboard/support/openocd.cfg
diff --git a/boards/96b_nitrogen/96b_nitrogen_defconfig b/boards/arm/96b_nitrogen/96b_nitrogen_defconfig
similarity index 100%
rename from boards/96b_nitrogen/96b_nitrogen_defconfig
rename to boards/arm/96b_nitrogen/96b_nitrogen_defconfig
diff --git a/boards/96b_nitrogen/Kconfig b/boards/arm/96b_nitrogen/Kconfig
similarity index 100%
rename from boards/96b_nitrogen/Kconfig
rename to boards/arm/96b_nitrogen/Kconfig
diff --git a/boards/96b_nitrogen/Kconfig.board b/boards/arm/96b_nitrogen/Kconfig.board
similarity index 100%
rename from boards/96b_nitrogen/Kconfig.board
rename to boards/arm/96b_nitrogen/Kconfig.board
diff --git a/boards/96b_nitrogen/Kconfig.defconfig b/boards/arm/96b_nitrogen/Kconfig.defconfig
similarity index 100%
rename from boards/96b_nitrogen/Kconfig.defconfig
rename to boards/arm/96b_nitrogen/Kconfig.defconfig
diff --git a/boards/96b_nitrogen/Makefile b/boards/arm/96b_nitrogen/Makefile
similarity index 100%
rename from boards/96b_nitrogen/Makefile
rename to boards/arm/96b_nitrogen/Makefile
diff --git a/boards/96b_nitrogen/board.h b/boards/arm/96b_nitrogen/board.h
similarity index 100%
rename from boards/96b_nitrogen/board.h
rename to boards/arm/96b_nitrogen/board.h
diff --git a/boards/arduino_due/Kconfig.board b/boards/arm/arduino_due/Kconfig.board
similarity index 100%
rename from boards/arduino_due/Kconfig.board
rename to boards/arm/arduino_due/Kconfig.board
diff --git a/boards/arduino_due/Kconfig.defconfig b/boards/arm/arduino_due/Kconfig.defconfig
similarity index 100%
rename from boards/arduino_due/Kconfig.defconfig
rename to boards/arm/arduino_due/Kconfig.defconfig
diff --git a/boards/arduino_due/Makefile b/boards/arm/arduino_due/Makefile
similarity index 100%
rename from boards/arduino_due/Makefile
rename to boards/arm/arduino_due/Makefile
diff --git a/boards/arduino_due/arduino_due_defconfig b/boards/arm/arduino_due/arduino_due_defconfig
similarity index 100%
rename from boards/arduino_due/arduino_due_defconfig
rename to boards/arm/arduino_due/arduino_due_defconfig
diff --git a/boards/arduino_due/board.h b/boards/arm/arduino_due/board.h
similarity index 100%
rename from boards/arduino_due/board.h
rename to boards/arm/arduino_due/board.h
diff --git a/boards/arduino_due/pinmux.c b/boards/arm/arduino_due/pinmux.c
similarity index 100%
rename from boards/arduino_due/pinmux.c
rename to boards/arm/arduino_due/pinmux.c
diff --git a/boards/frdm_k64f/Kconfig.board b/boards/arm/frdm_k64f/Kconfig.board
similarity index 100%
rename from boards/frdm_k64f/Kconfig.board
rename to boards/arm/frdm_k64f/Kconfig.board
diff --git a/boards/frdm_k64f/Kconfig.defconfig b/boards/arm/frdm_k64f/Kconfig.defconfig
similarity index 100%
rename from boards/frdm_k64f/Kconfig.defconfig
rename to boards/arm/frdm_k64f/Kconfig.defconfig
diff --git a/boards/frdm_k64f/Makefile b/boards/arm/frdm_k64f/Makefile
similarity index 100%
rename from boards/frdm_k64f/Makefile
rename to boards/arm/frdm_k64f/Makefile
diff --git a/boards/frdm_k64f/Makefile.board b/boards/arm/frdm_k64f/Makefile.board
similarity index 100%
rename from boards/frdm_k64f/Makefile.board
rename to boards/arm/frdm_k64f/Makefile.board
diff --git a/boards/frdm_k64f/board.h b/boards/arm/frdm_k64f/board.h
similarity index 100%
rename from boards/frdm_k64f/board.h
rename to boards/arm/frdm_k64f/board.h
diff --git a/boards/frdm_k64f/frdm_k64f_defconfig b/boards/arm/frdm_k64f/frdm_k64f_defconfig
similarity index 100%
rename from boards/frdm_k64f/frdm_k64f_defconfig
rename to boards/arm/frdm_k64f/frdm_k64f_defconfig
diff --git a/boards/frdm_k64f/support/openocd.cfg b/boards/arm/frdm_k64f/support/openocd.cfg
similarity index 100%
rename from boards/frdm_k64f/support/openocd.cfg
rename to boards/arm/frdm_k64f/support/openocd.cfg
diff --git a/boards/hexiwear_k64/Kconfig.board b/boards/arm/hexiwear_k64/Kconfig.board
similarity index 100%
rename from boards/hexiwear_k64/Kconfig.board
rename to boards/arm/hexiwear_k64/Kconfig.board
diff --git a/boards/hexiwear_k64/Kconfig.defconfig b/boards/arm/hexiwear_k64/Kconfig.defconfig
similarity index 100%
rename from boards/hexiwear_k64/Kconfig.defconfig
rename to boards/arm/hexiwear_k64/Kconfig.defconfig
diff --git a/boards/hexiwear_k64/Makefile b/boards/arm/hexiwear_k64/Makefile
similarity index 100%
rename from boards/hexiwear_k64/Makefile
rename to boards/arm/hexiwear_k64/Makefile
diff --git a/boards/hexiwear_k64/board.h b/boards/arm/hexiwear_k64/board.h
similarity index 100%
rename from boards/hexiwear_k64/board.h
rename to boards/arm/hexiwear_k64/board.h
diff --git a/boards/hexiwear_k64/hexiwear_k64_defconfig b/boards/arm/hexiwear_k64/hexiwear_k64_defconfig
similarity index 100%
rename from boards/hexiwear_k64/hexiwear_k64_defconfig
rename to boards/arm/hexiwear_k64/hexiwear_k64_defconfig
diff --git a/boards/nrf51_pca10028/Kconfig.board b/boards/arm/nrf51_pca10028/Kconfig.board
similarity index 100%
rename from boards/nrf51_pca10028/Kconfig.board
rename to boards/arm/nrf51_pca10028/Kconfig.board
diff --git a/boards/nrf51_pca10028/Kconfig.defconfig b/boards/arm/nrf51_pca10028/Kconfig.defconfig
similarity index 100%
rename from boards/nrf51_pca10028/Kconfig.defconfig
rename to boards/arm/nrf51_pca10028/Kconfig.defconfig
diff --git a/boards/nrf51_pca10028/Makefile b/boards/arm/nrf51_pca10028/Makefile
similarity index 100%
rename from boards/nrf51_pca10028/Makefile
rename to boards/arm/nrf51_pca10028/Makefile
diff --git a/boards/nrf51_pca10028/board.h b/boards/arm/nrf51_pca10028/board.h
similarity index 100%
rename from boards/nrf51_pca10028/board.h
rename to boards/arm/nrf51_pca10028/board.h
diff --git a/boards/nrf51_pca10028/nrf51_pca10028_defconfig b/boards/arm/nrf51_pca10028/nrf51_pca10028_defconfig
similarity index 100%
rename from boards/nrf51_pca10028/nrf51_pca10028_defconfig
rename to boards/arm/nrf51_pca10028/nrf51_pca10028_defconfig
diff --git a/boards/nrf52_pca10040/Kconfig b/boards/arm/nrf52_pca10040/Kconfig
similarity index 100%
rename from boards/nrf52_pca10040/Kconfig
rename to boards/arm/nrf52_pca10040/Kconfig
diff --git a/boards/nrf52_pca10040/Kconfig.board b/boards/arm/nrf52_pca10040/Kconfig.board
similarity index 100%
rename from boards/nrf52_pca10040/Kconfig.board
rename to boards/arm/nrf52_pca10040/Kconfig.board
diff --git a/boards/nrf52_pca10040/Kconfig.defconfig b/boards/arm/nrf52_pca10040/Kconfig.defconfig
similarity index 100%
rename from boards/nrf52_pca10040/Kconfig.defconfig
rename to boards/arm/nrf52_pca10040/Kconfig.defconfig
diff --git a/boards/nrf52_pca10040/Makefile b/boards/arm/nrf52_pca10040/Makefile
similarity index 100%
rename from boards/nrf52_pca10040/Makefile
rename to boards/arm/nrf52_pca10040/Makefile
diff --git a/boards/nrf52_pca10040/board.h b/boards/arm/nrf52_pca10040/board.h
similarity index 100%
rename from boards/nrf52_pca10040/board.h
rename to boards/arm/nrf52_pca10040/board.h
diff --git a/boards/nrf52_pca10040/nrf52_pca10040_defconfig b/boards/arm/nrf52_pca10040/nrf52_pca10040_defconfig
similarity index 100%
rename from boards/nrf52_pca10040/nrf52_pca10040_defconfig
rename to boards/arm/nrf52_pca10040/nrf52_pca10040_defconfig
diff --git a/boards/nucleo_f103rb/Kconfig.board b/boards/arm/nucleo_f103rb/Kconfig.board
similarity index 100%
rename from boards/nucleo_f103rb/Kconfig.board
rename to boards/arm/nucleo_f103rb/Kconfig.board
diff --git a/boards/nucleo_f103rb/Kconfig.defconfig b/boards/arm/nucleo_f103rb/Kconfig.defconfig
similarity index 100%
rename from boards/nucleo_f103rb/Kconfig.defconfig
rename to boards/arm/nucleo_f103rb/Kconfig.defconfig
diff --git a/boards/nucleo_f103rb/Makefile b/boards/arm/nucleo_f103rb/Makefile
similarity index 100%
rename from boards/nucleo_f103rb/Makefile
rename to boards/arm/nucleo_f103rb/Makefile
diff --git a/boards/nucleo_f103rb/Makefile.board b/boards/arm/nucleo_f103rb/Makefile.board
similarity index 100%
rename from boards/nucleo_f103rb/Makefile.board
rename to boards/arm/nucleo_f103rb/Makefile.board
diff --git a/boards/nucleo_f103rb/board.h b/boards/arm/nucleo_f103rb/board.h
similarity index 100%
rename from boards/nucleo_f103rb/board.h
rename to boards/arm/nucleo_f103rb/board.h
diff --git a/boards/nucleo_f103rb/nucleo_f103rb_defconfig b/boards/arm/nucleo_f103rb/nucleo_f103rb_defconfig
similarity index 100%
rename from boards/nucleo_f103rb/nucleo_f103rb_defconfig
rename to boards/arm/nucleo_f103rb/nucleo_f103rb_defconfig
diff --git a/boards/nucleo_f103rb/support/openocd.cfg b/boards/arm/nucleo_f103rb/support/openocd.cfg
similarity index 100%
rename from boards/nucleo_f103rb/support/openocd.cfg
rename to boards/arm/nucleo_f103rb/support/openocd.cfg
diff --git a/boards/olimexino_stm32/Kconfig.board b/boards/arm/olimexino_stm32/Kconfig.board
similarity index 100%
rename from boards/olimexino_stm32/Kconfig.board
rename to boards/arm/olimexino_stm32/Kconfig.board
diff --git a/boards/olimexino_stm32/Kconfig.defconfig b/boards/arm/olimexino_stm32/Kconfig.defconfig
similarity index 100%
rename from boards/olimexino_stm32/Kconfig.defconfig
rename to boards/arm/olimexino_stm32/Kconfig.defconfig
diff --git a/boards/olimexino_stm32/Makefile b/boards/arm/olimexino_stm32/Makefile
similarity index 100%
rename from boards/olimexino_stm32/Makefile
rename to boards/arm/olimexino_stm32/Makefile
diff --git a/boards/olimexino_stm32/board.h b/boards/arm/olimexino_stm32/board.h
similarity index 100%
rename from boards/olimexino_stm32/board.h
rename to boards/arm/olimexino_stm32/board.h
diff --git a/boards/olimexino_stm32/olimexino_stm32_defconfig b/boards/arm/olimexino_stm32/olimexino_stm32_defconfig
similarity index 100%
rename from boards/olimexino_stm32/olimexino_stm32_defconfig
rename to boards/arm/olimexino_stm32/olimexino_stm32_defconfig
diff --git a/boards/qemu_cortex_m3/Kconfig.board b/boards/arm/qemu_cortex_m3/Kconfig.board
similarity index 100%
rename from boards/qemu_cortex_m3/Kconfig.board
rename to boards/arm/qemu_cortex_m3/Kconfig.board
diff --git a/boards/qemu_cortex_m3/Kconfig.defconfig b/boards/arm/qemu_cortex_m3/Kconfig.defconfig
similarity index 100%
rename from boards/qemu_cortex_m3/Kconfig.defconfig
rename to boards/arm/qemu_cortex_m3/Kconfig.defconfig
diff --git a/boards/qemu_cortex_m3/Makefile b/boards/arm/qemu_cortex_m3/Makefile
similarity index 100%
rename from boards/qemu_cortex_m3/Makefile
rename to boards/arm/qemu_cortex_m3/Makefile
diff --git a/boards/qemu_cortex_m3/board.h b/boards/arm/qemu_cortex_m3/board.h
similarity index 100%
rename from boards/qemu_cortex_m3/board.h
rename to boards/arm/qemu_cortex_m3/board.h
diff --git a/boards/qemu_cortex_m3/qemu_cortex_m3_defconfig b/boards/arm/qemu_cortex_m3/qemu_cortex_m3_defconfig
similarity index 100%
rename from boards/qemu_cortex_m3/qemu_cortex_m3_defconfig
rename to boards/arm/qemu_cortex_m3/qemu_cortex_m3_defconfig
diff --git a/boards/stm32_mini_a15/Kconfig.board b/boards/arm/stm32_mini_a15/Kconfig.board
similarity index 100%
rename from boards/stm32_mini_a15/Kconfig.board
rename to boards/arm/stm32_mini_a15/Kconfig.board
diff --git a/boards/stm32_mini_a15/Kconfig.defconfig b/boards/arm/stm32_mini_a15/Kconfig.defconfig
similarity index 100%
rename from boards/stm32_mini_a15/Kconfig.defconfig
rename to boards/arm/stm32_mini_a15/Kconfig.defconfig
diff --git a/boards/stm32_mini_a15/Makefile b/boards/arm/stm32_mini_a15/Makefile
similarity index 100%
rename from boards/stm32_mini_a15/Makefile
rename to boards/arm/stm32_mini_a15/Makefile
diff --git a/boards/stm32_mini_a15/board.h b/boards/arm/stm32_mini_a15/board.h
similarity index 100%
rename from boards/stm32_mini_a15/board.h
rename to boards/arm/stm32_mini_a15/board.h
diff --git a/boards/stm32_mini_a15/stm32_mini_a15_defconfig b/boards/arm/stm32_mini_a15/stm32_mini_a15_defconfig
similarity index 100%
rename from boards/stm32_mini_a15/stm32_mini_a15_defconfig
rename to boards/arm/stm32_mini_a15/stm32_mini_a15_defconfig
diff --git a/boards/altera_max10/Kconfig.board b/boards/nios2/altera_max10/Kconfig.board
similarity index 100%
rename from boards/altera_max10/Kconfig.board
rename to boards/nios2/altera_max10/Kconfig.board
diff --git a/boards/altera_max10/Kconfig.defconfig b/boards/nios2/altera_max10/Kconfig.defconfig
similarity index 100%
rename from boards/altera_max10/Kconfig.defconfig
rename to boards/nios2/altera_max10/Kconfig.defconfig
diff --git a/boards/altera_max10/Makefile b/boards/nios2/altera_max10/Makefile
similarity index 100%
rename from boards/altera_max10/Makefile
rename to boards/nios2/altera_max10/Makefile
diff --git a/boards/altera_max10/Makefile.board b/boards/nios2/altera_max10/Makefile.board
similarity index 100%
rename from boards/altera_max10/Makefile.board
rename to boards/nios2/altera_max10/Makefile.board
diff --git a/boards/altera_max10/altera_max10_defconfig b/boards/nios2/altera_max10/altera_max10_defconfig
similarity index 100%
rename from boards/altera_max10/altera_max10_defconfig
rename to boards/nios2/altera_max10/altera_max10_defconfig
diff --git a/boards/altera_max10/board.h b/boards/nios2/altera_max10/board.h
similarity index 100%
rename from boards/altera_max10/board.h
rename to boards/nios2/altera_max10/board.h
diff --git a/boards/qemu_nios2/Kconfig.board b/boards/nios2/qemu_nios2/Kconfig.board
similarity index 100%
rename from boards/qemu_nios2/Kconfig.board
rename to boards/nios2/qemu_nios2/Kconfig.board
diff --git a/boards/qemu_nios2/Kconfig.defconfig b/boards/nios2/qemu_nios2/Kconfig.defconfig
similarity index 100%
rename from boards/qemu_nios2/Kconfig.defconfig
rename to boards/nios2/qemu_nios2/Kconfig.defconfig
diff --git a/boards/qemu_nios2/Makefile b/boards/nios2/qemu_nios2/Makefile
similarity index 100%
rename from boards/qemu_nios2/Makefile
rename to boards/nios2/qemu_nios2/Makefile
diff --git a/boards/qemu_nios2/Makefile.board b/boards/nios2/qemu_nios2/Makefile.board
similarity index 100%
rename from boards/qemu_nios2/Makefile.board
rename to boards/nios2/qemu_nios2/Makefile.board
diff --git a/boards/qemu_nios2/board.h b/boards/nios2/qemu_nios2/board.h
similarity index 100%
rename from boards/qemu_nios2/board.h
rename to boards/nios2/qemu_nios2/board.h
diff --git a/boards/qemu_nios2/qemu_nios2_defconfig b/boards/nios2/qemu_nios2/qemu_nios2_defconfig
similarity index 100%
rename from boards/qemu_nios2/qemu_nios2_defconfig
rename to boards/nios2/qemu_nios2/qemu_nios2_defconfig
diff --git a/boards/arduino_101/Kconfig.board b/boards/x86/arduino_101/Kconfig.board
similarity index 100%
rename from boards/arduino_101/Kconfig.board
rename to boards/x86/arduino_101/Kconfig.board
diff --git a/boards/arduino_101/Kconfig.defconfig b/boards/x86/arduino_101/Kconfig.defconfig
similarity index 100%
rename from boards/arduino_101/Kconfig.defconfig
rename to boards/x86/arduino_101/Kconfig.defconfig
diff --git a/boards/arduino_101/Makefile b/boards/x86/arduino_101/Makefile
similarity index 100%
rename from boards/arduino_101/Makefile
rename to boards/x86/arduino_101/Makefile
diff --git a/boards/arduino_101/Makefile.board b/boards/x86/arduino_101/Makefile.board
similarity index 100%
rename from boards/arduino_101/Makefile.board
rename to boards/x86/arduino_101/Makefile.board
diff --git a/boards/arduino_101/arduino_101_defconfig b/boards/x86/arduino_101/arduino_101_defconfig
similarity index 100%
rename from boards/arduino_101/arduino_101_defconfig
rename to boards/x86/arduino_101/arduino_101_defconfig
diff --git a/boards/arduino_101/board.h b/boards/x86/arduino_101/board.h
similarity index 100%
rename from boards/arduino_101/board.h
rename to boards/x86/arduino_101/board.h
diff --git a/boards/arduino_101/pinmux.c b/boards/x86/arduino_101/pinmux.c
similarity index 100%
rename from boards/arduino_101/pinmux.c
rename to boards/x86/arduino_101/pinmux.c
diff --git a/boards/arduino_101/support/README.txt b/boards/x86/arduino_101/support/README.txt
similarity index 100%
rename from boards/arduino_101/support/README.txt
rename to boards/x86/arduino_101/support/README.txt
diff --git a/boards/arduino_101/support/openocd.cfg b/boards/x86/arduino_101/support/openocd.cfg
similarity index 100%
rename from boards/arduino_101/support/openocd.cfg
rename to boards/x86/arduino_101/support/openocd.cfg
diff --git a/boards/galileo/Kconfig b/boards/x86/galileo/Kconfig
similarity index 100%
rename from boards/galileo/Kconfig
rename to boards/x86/galileo/Kconfig
diff --git a/boards/galileo/Kconfig.board b/boards/x86/galileo/Kconfig.board
similarity index 100%
rename from boards/galileo/Kconfig.board
rename to boards/x86/galileo/Kconfig.board
diff --git a/boards/galileo/Kconfig.defconfig b/boards/x86/galileo/Kconfig.defconfig
similarity index 100%
rename from boards/galileo/Kconfig.defconfig
rename to boards/x86/galileo/Kconfig.defconfig
diff --git a/boards/galileo/Makefile b/boards/x86/galileo/Makefile
similarity index 100%
rename from boards/galileo/Makefile
rename to boards/x86/galileo/Makefile
diff --git a/boards/galileo/board.h b/boards/x86/galileo/board.h
similarity index 100%
rename from boards/galileo/board.h
rename to boards/x86/galileo/board.h
diff --git a/boards/galileo/galileo_defconfig b/boards/x86/galileo/galileo_defconfig
similarity index 100%
rename from boards/galileo/galileo_defconfig
rename to boards/x86/galileo/galileo_defconfig
diff --git a/boards/galileo/pinmux.c b/boards/x86/galileo/pinmux.c
similarity index 100%
rename from boards/galileo/pinmux.c
rename to boards/x86/galileo/pinmux.c
diff --git a/boards/galileo/pinmux_dev.c b/boards/x86/galileo/pinmux_dev.c
similarity index 100%
rename from boards/galileo/pinmux_dev.c
rename to boards/x86/galileo/pinmux_dev.c
diff --git a/boards/galileo/pinmux_galileo.h b/boards/x86/galileo/pinmux_galileo.h
similarity index 100%
rename from boards/galileo/pinmux_galileo.h
rename to boards/x86/galileo/pinmux_galileo.h
diff --git a/boards/minnowboard/Kconfig.board b/boards/x86/minnowboard/Kconfig.board
similarity index 100%
rename from boards/minnowboard/Kconfig.board
rename to boards/x86/minnowboard/Kconfig.board
diff --git a/boards/minnowboard/Kconfig.defconfig b/boards/x86/minnowboard/Kconfig.defconfig
similarity index 100%
rename from boards/minnowboard/Kconfig.defconfig
rename to boards/x86/minnowboard/Kconfig.defconfig
diff --git a/boards/minnowboard/Makefile b/boards/x86/minnowboard/Makefile
similarity index 100%
rename from boards/minnowboard/Makefile
rename to boards/x86/minnowboard/Makefile
diff --git a/boards/minnowboard/board.h b/boards/x86/minnowboard/board.h
similarity index 100%
rename from boards/minnowboard/board.h
rename to boards/x86/minnowboard/board.h
diff --git a/boards/minnowboard/minnowboard_defconfig b/boards/x86/minnowboard/minnowboard_defconfig
similarity index 100%
rename from boards/minnowboard/minnowboard_defconfig
rename to boards/x86/minnowboard/minnowboard_defconfig
diff --git a/boards/qemu_x86/Kconfig.board b/boards/x86/qemu_x86/Kconfig.board
similarity index 100%
rename from boards/qemu_x86/Kconfig.board
rename to boards/x86/qemu_x86/Kconfig.board
diff --git a/boards/qemu_x86/Kconfig.defconfig b/boards/x86/qemu_x86/Kconfig.defconfig
similarity index 100%
rename from boards/qemu_x86/Kconfig.defconfig
rename to boards/x86/qemu_x86/Kconfig.defconfig
diff --git a/boards/qemu_x86/Makefile b/boards/x86/qemu_x86/Makefile
similarity index 100%
rename from boards/qemu_x86/Makefile
rename to boards/x86/qemu_x86/Makefile
diff --git a/boards/qemu_x86/board.h b/boards/x86/qemu_x86/board.h
similarity index 100%
rename from boards/qemu_x86/board.h
rename to boards/x86/qemu_x86/board.h
diff --git a/boards/qemu_x86/qemu_x86_defconfig b/boards/x86/qemu_x86/qemu_x86_defconfig
similarity index 100%
rename from boards/qemu_x86/qemu_x86_defconfig
rename to boards/x86/qemu_x86/qemu_x86_defconfig
diff --git a/boards/qemu_x86/qemu_x86_iamcu_defconfig b/boards/x86/qemu_x86/qemu_x86_iamcu_defconfig
similarity index 100%
rename from boards/qemu_x86/qemu_x86_iamcu_defconfig
rename to boards/x86/qemu_x86/qemu_x86_iamcu_defconfig
diff --git a/boards/quark_d2000_crb/Kconfig.board b/boards/x86/quark_d2000_crb/Kconfig.board
similarity index 100%
rename from boards/quark_d2000_crb/Kconfig.board
rename to boards/x86/quark_d2000_crb/Kconfig.board
diff --git a/boards/quark_d2000_crb/Kconfig.defconfig b/boards/x86/quark_d2000_crb/Kconfig.defconfig
similarity index 100%
rename from boards/quark_d2000_crb/Kconfig.defconfig
rename to boards/x86/quark_d2000_crb/Kconfig.defconfig
diff --git a/boards/quark_d2000_crb/Makefile b/boards/x86/quark_d2000_crb/Makefile
similarity index 100%
rename from boards/quark_d2000_crb/Makefile
rename to boards/x86/quark_d2000_crb/Makefile
diff --git a/boards/quark_d2000_crb/Makefile.board b/boards/x86/quark_d2000_crb/Makefile.board
similarity index 100%
rename from boards/quark_d2000_crb/Makefile.board
rename to boards/x86/quark_d2000_crb/Makefile.board
diff --git a/boards/quark_d2000_crb/board.h b/boards/x86/quark_d2000_crb/board.h
similarity index 100%
rename from boards/quark_d2000_crb/board.h
rename to boards/x86/quark_d2000_crb/board.h
diff --git a/boards/quark_d2000_crb/pinmux.c b/boards/x86/quark_d2000_crb/pinmux.c
similarity index 100%
rename from boards/quark_d2000_crb/pinmux.c
rename to boards/x86/quark_d2000_crb/pinmux.c
diff --git a/boards/quark_d2000_crb/quark_d2000_crb_defconfig b/boards/x86/quark_d2000_crb/quark_d2000_crb_defconfig
similarity index 100%
rename from boards/quark_d2000_crb/quark_d2000_crb_defconfig
rename to boards/x86/quark_d2000_crb/quark_d2000_crb_defconfig
diff --git a/boards/quark_d2000_crb/support/openocd.cfg b/boards/x86/quark_d2000_crb/support/openocd.cfg
similarity index 100%
rename from boards/quark_d2000_crb/support/openocd.cfg
rename to boards/x86/quark_d2000_crb/support/openocd.cfg
diff --git a/boards/quark_se_c1000_devboard/Kconfig.board b/boards/x86/quark_se_c1000_devboard/Kconfig.board
similarity index 100%
rename from boards/quark_se_c1000_devboard/Kconfig.board
rename to boards/x86/quark_se_c1000_devboard/Kconfig.board
diff --git a/boards/quark_se_c1000_devboard/Kconfig.defconfig b/boards/x86/quark_se_c1000_devboard/Kconfig.defconfig
similarity index 100%
rename from boards/quark_se_c1000_devboard/Kconfig.defconfig
rename to boards/x86/quark_se_c1000_devboard/Kconfig.defconfig
diff --git a/boards/quark_se_c1000_devboard/Makefile b/boards/x86/quark_se_c1000_devboard/Makefile
similarity index 100%
rename from boards/quark_se_c1000_devboard/Makefile
rename to boards/x86/quark_se_c1000_devboard/Makefile
diff --git a/boards/quark_se_c1000_devboard/Makefile.board b/boards/x86/quark_se_c1000_devboard/Makefile.board
similarity index 100%
rename from boards/quark_se_c1000_devboard/Makefile.board
rename to boards/x86/quark_se_c1000_devboard/Makefile.board
diff --git a/boards/quark_se_c1000_devboard/board.c b/boards/x86/quark_se_c1000_devboard/board.c
similarity index 100%
rename from boards/quark_se_c1000_devboard/board.c
rename to boards/x86/quark_se_c1000_devboard/board.c
diff --git a/boards/quark_se_c1000_devboard/board.h b/boards/x86/quark_se_c1000_devboard/board.h
similarity index 100%
rename from boards/quark_se_c1000_devboard/board.h
rename to boards/x86/quark_se_c1000_devboard/board.h
diff --git a/boards/quark_se_c1000_devboard/pinmux.c b/boards/x86/quark_se_c1000_devboard/pinmux.c
similarity index 100%
rename from boards/quark_se_c1000_devboard/pinmux.c
rename to boards/x86/quark_se_c1000_devboard/pinmux.c
diff --git a/boards/quark_se_c1000_devboard/quark_se_c1000_devboard_defconfig b/boards/x86/quark_se_c1000_devboard/quark_se_c1000_devboard_defconfig
similarity index 100%
rename from boards/quark_se_c1000_devboard/quark_se_c1000_devboard_defconfig
rename to boards/x86/quark_se_c1000_devboard/quark_se_c1000_devboard_defconfig
diff --git a/boards/quark_se_c1000_devboard/support/openocd.cfg b/boards/x86/quark_se_c1000_devboard/support/openocd.cfg
similarity index 100%
rename from boards/quark_se_c1000_devboard/support/openocd.cfg
rename to boards/x86/quark_se_c1000_devboard/support/openocd.cfg
diff --git a/scripts/support/openocd.sh b/scripts/support/openocd.sh
index f7acbea..87534d8 100755
--- a/scripts/support/openocd.sh
+++ b/scripts/support/openocd.sh
@@ -4,7 +4,7 @@
 # by RIOT-OS (https://github.com/RIOT-OS/RIOT)
 
 OPENOCD_CMD="${OPENOCD:-openocd} -s ${OPENOCD_DEFAULT_PATH}"
-OPENOCD_CONFIG=${ZEPHYR_BASE}/boards/${BOARD_NAME}/support/openocd.cfg
+OPENOCD_CONFIG=${ZEPHYR_BASE}/boards/${ARCH}/${BOARD_NAME}/support/openocd.cfg
 BIN_NAME=${O}/${KERNEL_BIN_NAME}
 ELF_NAME=${O}/${KERNEL_ELF_NAME}