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 <jwatson5@gmail.com>
This commit is contained in:
fallrisk 2017-04-25 09:06:07 -07:00 committed by Kumar Gala
commit 94b44f03e1
13 changed files with 71 additions and 33 deletions

View file

@ -4,5 +4,10 @@
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
config SOC_ATMEL_SAM3
bool
depends on ARM
default n
# Select SoC Part No. and configuration options # Select SoC Part No. and configuration options
source "arch/arm/soc/atmel_sam/*/Kconfig.soc" source "arch/arm/soc/atmel_sam/*/Kconfig.soc"

View file

@ -16,7 +16,7 @@ config SOC_FAMILY
default atmel_sam default atmel_sam
config WATCHDOG config WATCHDOG
def_bool y def_bool y if !SOC_ATMEL_SAM3X8E
endif #SOC_FAMILY_SAM endif #SOC_FAMILY_SAM

View file

@ -5,4 +5,4 @@
# #
obj-y += $(SOC_SERIES)/ obj-y += $(SOC_SERIES)/
obj-y += common/ obj-$(CONFIG_ASF) += common/

View file

@ -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) 2016 Intel Corporation.
# Copyright (c) 2014-2015 Wind River Systems, Inc. # Copyright (c) 2014-2015 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
if SOC_ATMEL_SAM3 if SOC_SERIES_SAM3 || SOC_ATMEL_SAM3X8E
config SOC config SOC_SERIES
default atmel_sam3 string
default sam3
config SOC_PART_NUMBER
string
default sam3x8e if SOC_PART_NUMBER_SAM3X8E || SOC_ATMEL_SAM3X8E
config NUM_IRQ_PRIO_BITS config NUM_IRQ_PRIO_BITS
int int
default 3 default 3
# #
# SAM3X8E has total 45 peripherals capable of # SAM3 family has total 45 peripherals capable of
# generating interrupts. # generating interrupts.
# #
config NUM_IRQS config NUM_IRQS
@ -38,19 +42,17 @@ config SYS_CLOCK_HW_CYCLES_PER_SEC
# to provide one continuous 96K block. # to provide one continuous 96K block.
# #
config SRAM_SIZE config SRAM_SIZE
default 96 if SOC_ATMEL_SAM3X8E default 96 if SOC_PART_NUMBER_SAM3X8E || SOC_ATMEL_SAM3X8E
config SRAM_BASE_ADDRESS config SRAM_BASE_ADDRESS
default 0x20000000 if !SOC_ATMEL_SAM3X8E default 0x20000000 if !SOC_PART_NUMBER_SAM3X8E && !SOC_ATMEL_SAM3X8E
default 0x20070000 if SOC_ATMEL_SAM3X8E default 0x20070000 if SOC_PART_NUMBER_SAM3X8E || SOC_ATMEL_SAM3X8E
# #
# Atmel SAM3 family has flash starting @ 0x00080000. # Atmel SAM3 family has flash starting @ 0x00080000.
# #
# SAM3X8E has 512K of flash.
#
config FLASH_SIZE config FLASH_SIZE
default 512 if SOC_ATMEL_SAM3X8E default 512 if SOC_PART_NUMBER_SAM3X8E || SOC_ATMEL_SAM3X8E
config FLASH_BASE_ADDRESS config FLASH_BASE_ADDRESS
default 0x00080000 default 0x00080000
@ -102,4 +104,4 @@ config I2C_1_IRQ_PRI
endif # I2C endif # I2C
endif # SOC_ATMEL_SAM3 endif # SOC_SERIES_SAM3

View file

@ -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

View file

@ -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) 2016 Intel Corporation.
# Copyright (c) 2014-2015 Wind River Systems, Inc. # Copyright (c) 2014-2015 Wind River Systems, Inc.
# #
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
config SOC_ATMEL_SAM3 choice
bool prompt "Atmel SAM3 MCU Selection"
depends on ARM depends on SOC_SERIES_SAM3
default n
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 config SOC_ATMEL_SAM3_EXT_SLCK
bool "Atmel SAM3 to use external crystal oscillator for slow clock" 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 to achieve this, make CPU go to Wait mode instead of Sleep
mode while using external crystal oscillator for main clock. mode while using external crystal oscillator for main clock.
endif # SOC_ATMEL_SAM3 endif # SOC_SERIES_SAM3

View file

@ -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

View file

@ -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

View file

@ -1 +0,0 @@
obj-y += soc.o