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
#
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"

View file

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

View file

@ -5,4 +5,4 @@
#
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) 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

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

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