# Kconfig - Atmel SAM3 family processor configuration options

#
# Copyright (c) 2016 Intel Corporation.
# Copyright (c) 2014-2015 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#

if SOC_ATMEL_SAM3

config SOC
	default atmel_sam3

config NUM_IRQ_PRIO_BITS
	int
	default 3

#
# SAM3X8E has total 45 peripherals capable of
# generating interrupts.
#
config NUM_IRQS
	int
	default 45

config SYS_CLOCK_HW_CYCLES_PER_SEC
	int
	default 84000000

#
# SRAM address depends on the processor.
#
# SAM3X8E has two SRAM banks:
#   64K @ 0x20000000
#   32K @ 0x20080000
# The first 64K is mirrored at 0x20070000
# to provide one continuous 96K block.
#
config SRAM_SIZE
	default 96 if SOC_ATMEL_SAM3X8E

config SRAM_BASE_ADDRESS
	default 0x20000000 if !SOC_ATMEL_SAM3X8E
	default 0x20070000 if SOC_ATMEL_SAM3X8E

#
# Atmel SAM3 family has flash starting @ 0x00080000.
#
# SAM3X8E has 512K of flash.
#
config FLASH_SIZE
	default 512 if SOC_ATMEL_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_ATMEL_SAM3
