Boot Linux faster!

Check our new training course

Boot Linux faster!

Check our new training course
and Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# Atmel SAM4S MCU series

# Copyright (c) 2017 Justin Watson
# Copyright (c) 2018 Vincent van der Locht
# SPDX-License-Identifier: Apache-2.0

choice
	prompt "Atmel SAM4S MCU Selection"
	depends on SOC_SERIES_SAM4S

	config SOC_PART_NUMBER_SAM4S16C
		bool "SAM4S16C"

	config SOC_PART_NUMBER_SAM4S16C
		bool "SAM4S16C"

	config SOC_PART_NUMBER_SAM4S16B
		bool "SAM4S16B"

	config SOC_PART_NUMBER_SAM4S8C
		bool "SAM4S8C"

	config SOC_PART_NUMBER_SAM4S8B
		bool "SAM4S8B"

	config SOC_PART_NUMBER_SAM4S4C
		bool "SAM4S4C"

	config SOC_PART_NUMBER_SAM4S4B
		bool "SAM4S4B"

	config SOC_PART_NUMBER_SAM4S4A
		bool "SAM4S4A"

	config SOC_PART_NUMBER_SAM4S2C
		bool "SAM4S2C"

	config SOC_PART_NUMBER_SAM4S2B
		bool "SAM4S2B"

	config SOC_PART_NUMBER_SAM4S2A
		bool "SAM4S2A"

endchoice

if SOC_SERIES_SAM4S

config SOC_ATMEL_SAM4S_EXT_SLCK
	bool "Atmel SAM4S to use external crystal oscillator for slow clock"
	help
	  Says y if you want to use external 32 kHz crystal
	  oscillator to drive the slow clock. Note that this
	  adds a few seconds to boot time, as the crystal
	  needs to stabilize after power-up.

	  Says n if you do not need accurate and precise timers.
	  The slow clock will be driven by the internal fast
	  RC oscillator running at 32 kHz.

config SOC_ATMEL_SAM4S_EXT_MAINCK
	bool "Atmel SAM4S to use external crystal oscillator for main clock"
	help
	  The main clock is being used to drive the PLL, and
	  thus driving the processor clock.

	  Says y if you want to use external crystal oscillator
	  to drive the main clock. Note that this adds about
	  a second to boot time, as the crystal needs to
	  stabilize after power-up.

	  The crystal used here can be from 3 to 20 MHz.

	  Says n here will use the internal fast RC oscillator
	  running at 12 MHz.

config SOC_ATMEL_SAM4S_PLLA_MULA
	hex "PLL MULA"
	default 0x09
	help
	  This is the multiplier (MULA) used by the PLL.
	  The processor clock is (MAINCK * (MULA + 1) / DIVA).

	  Board config file can override this settings
	  for a particular board.

	  With default of MULA == 9, and DIVA == 1,
	  PLL is running at 10 times of main clock.

config SOC_ATMEL_SAM4S_PLLA_DIVA
	hex "PLL DIVA"
	default 0x01
	help
	  This is the divider (DIVA) used by the PLL.
	  The processor clock is (MAINCK * (MULA + 1) / DIVA).

	  Board config file can override this settings
	  for a particular board.

	  With default of MULA == 9, and DIVA == 1,
	  PLL is running at 10 times of main clock.

config SOC_ATMEL_SAM4S_WAIT_MODE
	bool "Atmel SAM4S goes to Wait mode instead of Sleep mode"
	depends on SOC_ATMEL_SAM4S_EXT_MAINCK
	default y if DEBUG
	help
	  For JTAG debugging CPU clock (HCLK) should not stop. In order
	  to achieve this, make CPU go to Wait mode instead of Sleep
	  mode while using external crystal oscillator for main clock.

endif # SOC_SERIES_SAM4S