From 94b44f03e1edadda6af6d504fe78d22be6f801ec Mon Sep 17 00:00:00 2001 From: fallrisk Date: Tue, 25 Apr 2017 09:06:07 -0700 Subject: [PATCH] arch: Moved Atmel SAM3 into the SAM SoC family tree. Moved the Atmel SAM 3 from its own directory into the directory tree laid out in arch/arm/soc/atmel_sam. Origin: Original Jira: ZEP-2067 Change-Id: I26a1a521dd7caa607c3e95a06cd574ee68ca59b8 Signed-off-by: Justin Watson --- arch/arm/soc/atmel_sam/Kconfig | 5 ++++ arch/arm/soc/atmel_sam/Kconfig.defconfig | 2 +- arch/arm/soc/atmel_sam/Makefile | 2 +- .../sam3/Kconfig.defconfig.series} | 30 ++++++++++--------- arch/arm/soc/atmel_sam/sam3/Kconfig.series | 28 +++++++++++++++++ .../Kconfig => atmel_sam/sam3/Kconfig.soc} | 19 +++++++----- arch/arm/soc/atmel_sam/sam3/Makefile | 9 ++++++ .../{atmel_sam3 => atmel_sam/sam3}/linker.ld | 0 .../soc/{atmel_sam3 => atmel_sam/sam3}/soc.c | 0 .../soc/{atmel_sam3 => atmel_sam/sam3}/soc.h | 0 .../sam3}/soc_registers.h | 0 arch/arm/soc/atmel_sam3/Kconfig.soc | 8 ----- arch/arm/soc/atmel_sam3/Makefile | 1 - 13 files changed, 71 insertions(+), 33 deletions(-) rename arch/arm/soc/{atmel_sam3/Kconfig.defconfig => atmel_sam/sam3/Kconfig.defconfig.series} (66%) create mode 100644 arch/arm/soc/atmel_sam/sam3/Kconfig.series rename arch/arm/soc/{atmel_sam3/Kconfig => atmel_sam/sam3/Kconfig.soc} (88%) create mode 100644 arch/arm/soc/atmel_sam/sam3/Makefile rename arch/arm/soc/{atmel_sam3 => atmel_sam/sam3}/linker.ld (100%) rename arch/arm/soc/{atmel_sam3 => atmel_sam/sam3}/soc.c (100%) rename arch/arm/soc/{atmel_sam3 => atmel_sam/sam3}/soc.h (100%) rename arch/arm/soc/{atmel_sam3 => atmel_sam/sam3}/soc_registers.h (100%) delete mode 100644 arch/arm/soc/atmel_sam3/Kconfig.soc delete mode 100644 arch/arm/soc/atmel_sam3/Makefile diff --git a/arch/arm/soc/atmel_sam/Kconfig b/arch/arm/soc/atmel_sam/Kconfig index 1988dd2005a..759f70525c7 100644 --- a/arch/arm/soc/atmel_sam/Kconfig +++ b/arch/arm/soc/atmel_sam/Kconfig @@ -4,5 +4,10 @@ # SPDX-License-Identifier: Apache-2.0 # +config SOC_ATMEL_SAM3 + bool + depends on ARM + default n + # Select SoC Part No. and configuration options source "arch/arm/soc/atmel_sam/*/Kconfig.soc" diff --git a/arch/arm/soc/atmel_sam/Kconfig.defconfig b/arch/arm/soc/atmel_sam/Kconfig.defconfig index bdddffc4387..1f5550b230c 100644 --- a/arch/arm/soc/atmel_sam/Kconfig.defconfig +++ b/arch/arm/soc/atmel_sam/Kconfig.defconfig @@ -16,7 +16,7 @@ config SOC_FAMILY default atmel_sam config WATCHDOG - def_bool y + def_bool y if !SOC_ATMEL_SAM3X8E endif #SOC_FAMILY_SAM diff --git a/arch/arm/soc/atmel_sam/Makefile b/arch/arm/soc/atmel_sam/Makefile index 59a5a84b953..2e6d4489a57 100644 --- a/arch/arm/soc/atmel_sam/Makefile +++ b/arch/arm/soc/atmel_sam/Makefile @@ -5,4 +5,4 @@ # obj-y += $(SOC_SERIES)/ -obj-y += common/ +obj-$(CONFIG_ASF) += common/ diff --git a/arch/arm/soc/atmel_sam3/Kconfig.defconfig b/arch/arm/soc/atmel_sam/sam3/Kconfig.defconfig.series similarity index 66% rename from arch/arm/soc/atmel_sam3/Kconfig.defconfig rename to arch/arm/soc/atmel_sam/sam3/Kconfig.defconfig.series index 3ba839cb24c..39f1b7a7b55 100644 --- a/arch/arm/soc/atmel_sam3/Kconfig.defconfig +++ b/arch/arm/soc/atmel_sam/sam3/Kconfig.defconfig.series @@ -1,23 +1,27 @@ -# Kconfig - Atmel SAM3 family processor configuration options - +# Kconfig - Atmel SAM3 MCU series configuration options # +# Copyright (c) 2017 Justin Watson # Copyright (c) 2016 Intel Corporation. # Copyright (c) 2014-2015 Wind River Systems, Inc. -# # SPDX-License-Identifier: Apache-2.0 # -if SOC_ATMEL_SAM3 +if SOC_SERIES_SAM3 || SOC_ATMEL_SAM3X8E -config SOC - default atmel_sam3 +config SOC_SERIES + string + default sam3 + +config SOC_PART_NUMBER + string + default sam3x8e if SOC_PART_NUMBER_SAM3X8E || SOC_ATMEL_SAM3X8E config NUM_IRQ_PRIO_BITS int default 3 # -# SAM3X8E has total 45 peripherals capable of +# SAM3 family has total 45 peripherals capable of # generating interrupts. # config NUM_IRQS @@ -38,19 +42,17 @@ config SYS_CLOCK_HW_CYCLES_PER_SEC # to provide one continuous 96K block. # config SRAM_SIZE - default 96 if SOC_ATMEL_SAM3X8E + default 96 if SOC_PART_NUMBER_SAM3X8E || SOC_ATMEL_SAM3X8E config SRAM_BASE_ADDRESS - default 0x20000000 if !SOC_ATMEL_SAM3X8E - default 0x20070000 if SOC_ATMEL_SAM3X8E + default 0x20000000 if !SOC_PART_NUMBER_SAM3X8E && !SOC_ATMEL_SAM3X8E + default 0x20070000 if SOC_PART_NUMBER_SAM3X8E || SOC_ATMEL_SAM3X8E # # Atmel SAM3 family has flash starting @ 0x00080000. # -# SAM3X8E has 512K of flash. -# config FLASH_SIZE - default 512 if SOC_ATMEL_SAM3X8E + default 512 if SOC_PART_NUMBER_SAM3X8E || SOC_ATMEL_SAM3X8E config FLASH_BASE_ADDRESS default 0x00080000 @@ -102,4 +104,4 @@ config I2C_1_IRQ_PRI endif # I2C -endif # SOC_ATMEL_SAM3 +endif # SOC_SERIES_SAM3 diff --git a/arch/arm/soc/atmel_sam/sam3/Kconfig.series b/arch/arm/soc/atmel_sam/sam3/Kconfig.series new file mode 100644 index 00000000000..c403bd1b89e --- /dev/null +++ b/arch/arm/soc/atmel_sam/sam3/Kconfig.series @@ -0,0 +1,28 @@ +# Kconfig - Atmel SAM3 MCU series +# +# Copyright (c) 2017 Justin Watson +# Copyright (c) 2016 Intel Corporation. +# Copyright (c) 2014-2015 Wind River Systems, Inc. +# SPDX-License-Identifier: Apache-2.0 +# + +config SOC_SERIES_SAM3 + bool "Atmel SAM3 MCU" + select CPU_CORTEX_M + select CPU_CORTEX_M3 + select SOC_FAMILY_SAM + select SYS_POWER_LOW_POWER_STATE_SUPPORTED + select CPU_HAS_SYSTICK + help + Enable support for Atmel SAM3 Cortex-M3 microcontrollers. + Part No.: SAM3X8E + +config SOC_ATMEL_SAM3X8E + bool "Atmel SAM3X8E Processor" + select SOC_PART_NUMBER_SAM3X8E + select CPU_CORTEX_M + select CPU_CORTEX_M3 + select SOC_FAMILY_SAM + select SYS_POWER_LOW_POWER_STATE_SUPPORTED + select CPU_HAS_SYSTICK + select SOC_ATMEL_SAM3 diff --git a/arch/arm/soc/atmel_sam3/Kconfig b/arch/arm/soc/atmel_sam/sam3/Kconfig.soc similarity index 88% rename from arch/arm/soc/atmel_sam3/Kconfig rename to arch/arm/soc/atmel_sam/sam3/Kconfig.soc index 1b8abd35f48..8af9aa16867 100644 --- a/arch/arm/soc/atmel_sam3/Kconfig +++ b/arch/arm/soc/atmel_sam/sam3/Kconfig.soc @@ -1,18 +1,21 @@ -# Kconfig - Atmel SAM3 family processor configuration options - +# Kconfig - Atmel SAM3 MCU series # +# Copyright (c) 2017 Justin Watson # Copyright (c) 2016 Intel Corporation. # Copyright (c) 2014-2015 Wind River Systems, Inc. # # SPDX-License-Identifier: Apache-2.0 # -config SOC_ATMEL_SAM3 - bool - depends on ARM - default n +choice + prompt "Atmel SAM3 MCU Selection" + depends on SOC_SERIES_SAM3 -if ARM && SOC_ATMEL_SAM3 + config SOC_PART_NUMBER_SAM3X8E + bool "SAM3X8E" +endchoice + +if SOC_SERIES_SAM3 || SOC_ATMEL_SAM3X8E config SOC_ATMEL_SAM3_EXT_SLCK bool "Atmel SAM3 to use external crystal oscillator for slow clock" @@ -79,4 +82,4 @@ config SOC_ATMEL_SAM3_WAIT_MODE to achieve this, make CPU go to Wait mode instead of Sleep mode while using external crystal oscillator for main clock. -endif # SOC_ATMEL_SAM3 +endif # SOC_SERIES_SAM3 diff --git a/arch/arm/soc/atmel_sam/sam3/Makefile b/arch/arm/soc/atmel_sam/sam3/Makefile new file mode 100644 index 00000000000..c5859e1cbe5 --- /dev/null +++ b/arch/arm/soc/atmel_sam/sam3/Makefile @@ -0,0 +1,9 @@ +# Makefile - Atmel SAM3 MCU series +# +# Copyright (c) 2017 Justin Watson +# SPDX-License-Identifier: Apache-2.0 +# + +ZEPHYRINCLUDE += -I$(srctree)/arch/arm/soc/atmel_sam/common + +obj-y += soc.o diff --git a/arch/arm/soc/atmel_sam3/linker.ld b/arch/arm/soc/atmel_sam/sam3/linker.ld similarity index 100% rename from arch/arm/soc/atmel_sam3/linker.ld rename to arch/arm/soc/atmel_sam/sam3/linker.ld diff --git a/arch/arm/soc/atmel_sam3/soc.c b/arch/arm/soc/atmel_sam/sam3/soc.c similarity index 100% rename from arch/arm/soc/atmel_sam3/soc.c rename to arch/arm/soc/atmel_sam/sam3/soc.c diff --git a/arch/arm/soc/atmel_sam3/soc.h b/arch/arm/soc/atmel_sam/sam3/soc.h similarity index 100% rename from arch/arm/soc/atmel_sam3/soc.h rename to arch/arm/soc/atmel_sam/sam3/soc.h diff --git a/arch/arm/soc/atmel_sam3/soc_registers.h b/arch/arm/soc/atmel_sam/sam3/soc_registers.h similarity index 100% rename from arch/arm/soc/atmel_sam3/soc_registers.h rename to arch/arm/soc/atmel_sam/sam3/soc_registers.h diff --git a/arch/arm/soc/atmel_sam3/Kconfig.soc b/arch/arm/soc/atmel_sam3/Kconfig.soc deleted file mode 100644 index 69a6f1b0bd9..00000000000 --- a/arch/arm/soc/atmel_sam3/Kconfig.soc +++ /dev/null @@ -1,8 +0,0 @@ - -config SOC_ATMEL_SAM3X8E - bool "Atmel SAM3X8E Processor" - select CPU_CORTEX_M - select CPU_CORTEX_M3 - select SOC_ATMEL_SAM3 - select SYS_POWER_LOW_POWER_STATE_SUPPORTED - select CPU_HAS_SYSTICK diff --git a/arch/arm/soc/atmel_sam3/Makefile b/arch/arm/soc/atmel_sam3/Makefile deleted file mode 100644 index 52341f86c0b..00000000000 --- a/arch/arm/soc/atmel_sam3/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-y += soc.o