Skip to content

Commit

Permalink
arch: sam3x: update Kconfig options after move to SAM SoC family tree
Browse files Browse the repository at this point in the history
The files for the Arduino Due needed to be updated to use the new
configuration when the SoC moved from the atmel_sam3 directory to
the atmel_sam/sam3x directory.

Jira: ZEP-2067

Signed-off-by: Justin Watson <jwatson5@gmail.com>
  • Loading branch information
fallrisk authored and galak committed May 2, 2017
1 parent 93ae0b5 commit 0a8e406
Show file tree
Hide file tree
Showing 18 changed files with 81 additions and 91 deletions.
5 changes: 0 additions & 5 deletions arch/arm/soc/atmel_sam/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,5 @@
# 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"
2 changes: 1 addition & 1 deletion arch/arm/soc/atmel_sam/Kconfig.defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ config SOC_FAMILY
default atmel_sam

config WATCHDOG
def_bool y if !SOC_ATMEL_SAM3X8E
def_bool y

endif #SOC_FAMILY_SAM

Expand Down
59 changes: 6 additions & 53 deletions arch/arm/soc/atmel_sam/sam3x/Kconfig.defconfig.series
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
# SPDX-License-Identifier: Apache-2.0
#

if SOC_SERIES_SAM3X || SOC_ATMEL_SAM3X8E
if SOC_SERIES_SAM3X

config SOC_SERIES
string
default sam3x

config SOC_PART_NUMBER
string
default sam3x8e if SOC_PART_NUMBER_SAM3X8E || SOC_ATMEL_SAM3X8E
default sam3x8e if SOC_PART_NUMBER_SAM3X8E

config NUM_IRQ_PRIO_BITS
int
Expand Down Expand Up @@ -42,66 +42,19 @@ config SYS_CLOCK_HW_CYCLES_PER_SEC
# to provide one continuous 96K block.
#
config SRAM_SIZE
default 96 if SOC_PART_NUMBER_SAM3X8E || SOC_ATMEL_SAM3X8E
default 96 if SOC_PART_NUMBER_SAM3X8E

config SRAM_BASE_ADDRESS
default 0x20000000 if !SOC_PART_NUMBER_SAM3X8E && !SOC_ATMEL_SAM3X8E
default 0x20070000 if SOC_PART_NUMBER_SAM3X8E || SOC_ATMEL_SAM3X8E
default 0x20000000 if !SOC_PART_NUMBER_SAM3X8E
default 0x20070000 if SOC_PART_NUMBER_SAM3X8E

#
# Atmel SAM3X family has flash starting @ 0x00080000.
#
config FLASH_SIZE
default 512 if SOC_PART_NUMBER_SAM3X8E || SOC_ATMEL_SAM3X8E
default 512 if SOC_PART_NUMBER_SAM3X8E

config FLASH_BASE_ADDRESS
default 0x00080000

if UART_ATMEL_SAM3

config UART_ATMEL_SAM3_BAUD_RATE
default 115200

config UART_ATMEL_SAM3_CLK_FREQ
default 84000000

endif # UART_ATMEL_SAM3

if GPIO

config GPIO_ATMEL_SAM3
def_bool y

config GPIO_ATMEL_SAM3_PORTA
default y

config GPIO_ATMEL_SAM3_PORTB
default y

config GPIO_ATMEL_SAM3_PORTC
default y

config GPIO_ATMEL_SAM3_PORTD
default y

endif # GPIO

if I2C

config I2C_ATMEL_SAM3
def_bool y

config I2C_0
default y
config I2C_0_IRQ_PRI
default 0

config I2C_1
default y

config I2C_1_IRQ_PRI
default 0

endif # I2C

endif # SOC_SERIES_SAM3X
10 changes: 0 additions & 10 deletions arch/arm/soc/atmel_sam/sam3x/Kconfig.series
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,3 @@ config SOC_SERIES_SAM3X
help
Enable support for Atmel SAM3X 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
4 changes: 2 additions & 2 deletions arch/arm/soc/atmel_sam/sam3x/Kconfig.soc
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ choice
bool "SAM3X8E"
endchoice

if SOC_SERIES_SAM3X || SOC_ATMEL_SAM3X8E
if SOC_SERIES_SAM3X

config SOC_ATMEL_SAM3X_EXT_SLCK
bool "Atmel SAM3 to use external crystal oscillator for slow clock"
Expand Down Expand Up @@ -75,7 +75,7 @@ config SOC_ATMEL_SAM3X_PLLA_DIVA

config SOC_ATMEL_SAM3X_WAIT_MODE
bool "Atmel SAM3 goes to Wait mode instead of Sleep mode"
depends on SOC_ATMEL_SAM3_EXT_MAINCK
depends on SOC_ATMEL_SAM3X_EXT_MAINCK
default y if DEBUG
help
For JTAG debugging CPU clock (HCLK) should not stop. In order
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/soc/atmel_sam/sam3x/soc.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ static ALWAYS_INLINE void clock_init(void)
/* Wait for oscillator to be stablized */
while (!(__SUPC->sr & SUPC_SR_OSCSEL))
;
#endif /* CONFIG_SOC_ATMEL_SAM3_EXT_SLCK */
#endif /* CONFIG_SOC_ATMEL_SAM3X_EXT_SLCK */

#ifdef CONFIG_SOC_ATMEL_SAM3X_EXT_MAINCK
/* Start the external main oscillator */
Expand Down Expand Up @@ -88,7 +88,7 @@ static ALWAYS_INLINE void clock_init(void)
/* Wait for main fast RC oscillator to be stablized */
while (!(__PMC->sr & PMC_INT_MOSCRCS))
;
#endif /* CONFIG_SOC_ATMEL_SAM3_EXT_MAINCK */
#endif /* CONFIG_SOC_ATMEL_SAM3X_EXT_MAINCK */

/* Use PLLA as master clock.
* According to datasheet, PMC_MCKR must not be programmed in
Expand Down
7 changes: 6 additions & 1 deletion boards/arm/arduino_due/Kconfig.board
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# Kconfig - Arduino Due Board configuration
#
# Copyright (c) 2017 Justin Watson
# SPDX-License-Identifier: Apache-2.0
#

config BOARD_ARDUINO_DUE
bool "Arduino Due Board"
depends on SOC_ATMEL_SAM3X8E
depends on SOC_PART_NUMBER_SAM3X8E
45 changes: 45 additions & 0 deletions boards/arm/arduino_due/Kconfig.defconfig
Original file line number Diff line number Diff line change
@@ -1,14 +1,59 @@
# Kconfig - Arduino Due Board configuration
#
# Copyright (c) 2017 Justin Watson
# SPDX-License-Identifier: Apache-2.0
#

if BOARD_ARDUINO_DUE

config BOARD
default arduino_due

if UART_ATMEL_SAM3

config UART_ATMEL_SAM3_BAUD_RATE
default 115200

config UART_ATMEL_SAM3_CLK_FREQ
default 84000000

endif # UART_ATMEL_SAM3

if GPIO

config GPIO_ATMEL_SAM3
def_bool y

config GPIO_ATMEL_SAM3_PORTA
default y

config GPIO_ATMEL_SAM3_PORTB
default y

config GPIO_ATMEL_SAM3_PORTC
default y

config GPIO_ATMEL_SAM3_PORTD
default y

endif # GPIO

if I2C

config I2C_ATMEL_SAM3
def_bool y

config I2C_0
default y
config I2C_0_IRQ_PRI
default 0

config I2C_1
default y

config I2C_1_IRQ_PRI
default 0

endif # I2C

endif # BOARD_ARDUINO_DUE
7 changes: 5 additions & 2 deletions boards/arm/arduino_due/arduino_due_defconfig
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
CONFIG_ARM=y
CONFIG_SOC_ATMEL_SAM3X8E=y
CONFIG_SOC_FAMILY_SAM=y
CONFIG_SOC_SERIES_SAM3X=y
CONFIG_SOC_PART_NUMBER_SAM3X8E=y
CONFIG_BOARD_ARDUINO_DUE=y
CONFIG_CORTEX_M_SYSTICK=y
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_UART_ATMEL_SAM3=y
CONFIG_SOC_ATMEL_SAM3_EXT_MAINCK=y
CONFIG_SOC_ATMEL_SAM3X_EXT_MAINCK=y
CONFIG_PINMUX=y
CONFIG_WATCHDOG=n
2 changes: 1 addition & 1 deletion drivers/gpio/Kconfig.atmel_sam3
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

menuconfig GPIO_ATMEL_SAM3
bool "Atmel SAM3 PIO Controllers"
depends on GPIO && SOC_ATMEL_SAM3
depends on GPIO && SOC_SERIES_SAM3X
default n
help
Enable config options to support the PIO controllers
Expand Down
11 changes: 5 additions & 6 deletions drivers/i2c/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,13 @@ config I2C_QMSI
provided by the QMSI BSP.

config I2C_ATMEL_SAM3
bool "Atmel SAM3 I2C Driver"
depends on I2C && SOC_ATMEL_SAM3
bool "Atmel SAM3X I2C Driver"
depends on I2C && SOC_SERIES_SAM3X
default n
help
Enable I2C support on the Atmel SAM3 family processor.

Says y to enable additional options to enable support
for individual controllers.
Enable I2C support on the Atmel SAM3 family processor.
Says y to enable additional options to enable support
for individual controllers.

config TWIHS_SAM
bool "Atmel SAM I2C driver"
Expand Down
2 changes: 1 addition & 1 deletion drivers/pinmux/dev/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ config PINMUX_DEV_NAME

config PINMUX_DEV_ATMEL_SAM3X
bool "Enable pinmux dev driver for Atmel SAM3X boards"
depends on PINMUX_DEV && SOC_ATMEL_SAM3X8E
depends on PINMUX_DEV && SOC_SERIES_SAM3X
help
Enables the pinmux dev driver for boards based on the
Atmel SAM3X family of microcontrollers.
Expand Down
2 changes: 1 addition & 1 deletion drivers/serial/Kconfig.atmel_sam3
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ menuconfig UART_ATMEL_SAM3
bool "Atmel SAM3 family processor UART driver"
default n
select SERIAL_HAS_DRIVER
depends on SOC_ATMEL_SAM3
depends on SOC_SERIES_SAM3X
help
This option enables the UART driver for Atmel SAM3
family processors. Note that there is only one
Expand Down
2 changes: 1 addition & 1 deletion samples/drivers/gpio/src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@
#define GPIO_OUT_PIN 16
#define GPIO_INT_PIN 19
#define GPIO_NAME "GPIO_"
#elif defined(CONFIG_SOC_ATMEL_SAM3)
#elif defined(CONFIG_SOC_PART_NUMBER_SAM3X8E)
#define GPIO_OUT_PIN 25
#define GPIO_INT_PIN 27
#define GPIO_NAME "GPIO_"
Expand Down
4 changes: 2 additions & 2 deletions samples/drivers/lcd_hd44780/src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,13 +71,13 @@
#include <string.h>


#if defined(CONFIG_GPIO_ATMEL_SAM3)
#if defined(CONFIG_SOC_PART_NUMBER_SAM3X8E)
#define GPIO_DRV_NAME CONFIG_GPIO_ATMEL_SAM3_PORTC_DEV_NAME
#else
#error "Unsupported GPIO driver"
#endif

#if defined(CONFIG_SOC_ATMEL_SAM3)
#if defined(CONFIG_SOC_PART_NUMBER_SAM3X8E)
/* Define GPIO OUT to LCD */
#define GPIO_PIN_PC12_D0 12 /* PC12 - pin 51 */
#define GPIO_PIN_PC13_D1 13 /* PC13 - pin 50 */
Expand Down
2 changes: 1 addition & 1 deletion samples/drivers/lcd_hd44780/testcase.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[test]
tags = samples
build_only = true
filter = CONFIG_SOC_ATMEL_SAM3
filter = CONFIG_SOC_SERIES_SAM3X

2 changes: 1 addition & 1 deletion tests/kernel/test_tickless/src/timestamps.c
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ void _TimestampClose(void)
_TIMESTAMP_CTRL = 0x0; /* disable oscillator */
}

#elif defined(CONFIG_SOC_ATMEL_SAM3)
#elif defined(CONFIG_SOC_SERIES_SAM3X)
/* Atmel SAM3 family processor - use RTT (Real-time Timer) */

#include <soc.h>
Expand Down
2 changes: 1 addition & 1 deletion tests/kernel/test_tickless/testcase.ini
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
tags = core
arch_exclude = nios2
filter = CONFIG_X86 or (CONFIG_ARM and
(CONFIG_SOC_MK64F12 or CONFIG_SOC_ATMEL_SAM3)) or
(CONFIG_SOC_MK64F12 or CONFIG_SOC_SERIES_SAM3X)) or
(CONFIG_ARC and CONFIG_SOC_QUARK_SE_C1000_SS)

0 comments on commit 0a8e406

Please sign in to comment.