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 SAM V71 MCU series

# Copyright (c) 2019 Gerson Fernando Budke
# Copyright (c) 2016 Piotr Mienkowski
# SPDX-License-Identifier: Apache-2.0

choice
	prompt "Atmel SAMV71 MCU Selection"
	depends on SOC_SERIES_SAMV71

	config SOC_PART_NUMBER_SAMV71Q21
		bool "SAMV71Q21"

	config SOC_PART_NUMBER_SAMV71Q20
		bool "SAMV71Q20"

	config SOC_PART_NUMBER_SAMV71Q19
		bool "SAMV71Q19"

	config SOC_PART_NUMBER_SAMV71N21
		bool "SAMV71N21"

	config SOC_PART_NUMBER_SAMV71N20
		bool "SAMV71N20"

	config SOC_PART_NUMBER_SAMV71N19
		bool "SAMV71N19"

	config SOC_PART_NUMBER_SAMV71J21
		bool "SAMV71J21"

	config SOC_PART_NUMBER_SAMV71J20
		bool "SAMV71J20"

	config SOC_PART_NUMBER_SAMV71J19
		bool "SAMV71J19"

	config SOC_PART_NUMBER_SAMV71Q21B
		bool "SAMV71Q21B"
		select SOC_ATMEL_SAMV71_REVB

	config SOC_PART_NUMBER_SAMV71Q20B
		bool "SAMV71Q20B"
		select SOC_ATMEL_SAMV71_REVB

	config SOC_PART_NUMBER_SAMV71Q19B
		bool "SAMV71Q19B"
		select SOC_ATMEL_SAMV71_REVB

	config SOC_PART_NUMBER_SAMV71N21B
		bool "SAMV71N21B"
		select SOC_ATMEL_SAMV71_REVB

	config SOC_PART_NUMBER_SAMV71N20B
		bool "SAMV71N20B"
		select SOC_ATMEL_SAMV71_REVB

	config SOC_PART_NUMBER_SAMV71N19B
		bool "SAMV71N19B"
		select SOC_ATMEL_SAMV71_REVB

	config SOC_PART_NUMBER_SAMV71J21B
		bool "SAMV71J21B"
		select SOC_ATMEL_SAMV71_REVB

	config SOC_PART_NUMBER_SAMV71J20B
		bool "SAMV71J20B"
		select SOC_ATMEL_SAMV71_REVB

	config SOC_PART_NUMBER_SAMV71J19B
		bool "SAMV71J19B"
		select SOC_ATMEL_SAMV71_REVB
endchoice

if SOC_SERIES_SAMV71

config SOC_ATMEL_SAMV71_REVB
	bool

config SOC_ATMEL_SAMV71_EXT_SLCK
	bool "Use external crystal oscillator for slow clock"
	help
	  Say 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_SAMV71_EXT_MAINCK
	bool "Use external crystal oscillator for main clock"
	help
	  The main clock is being used to drive the PLL, and
	  thus driving the processor clock.

	  Say 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_SAMV71_MDIV
	int "MDIV"
	default 2
	range 1 4
	help
	  This divisor defines a ratio between processor clock (HCLK)
	  and master clock (MCK):
	  MCK = HCLK / MDIV

config SOC_ATMEL_SAMV71_PLLA_MULA
	int "PLL MULA"
	default 24
	range 1 62
	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.

	  Setting MULA=0 would disable PLL at boot, this is currently
	  not supported.

	  With default of MULA == 24, and DIVA == 1,
	  PLL is running at 25 times the main clock frequency.

config SOC_ATMEL_SAMV71_PLLA_DIVA
	int "PLL DIVA"
	default 1
	range 1 255
	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.

	  Setting DIVA=0 would disable PLL at boot, this is currently
	  not supported.

	  With default of MULA == 24, and DIVA == 1,
	  PLL is running at 25 times the main clock frequency.

config SOC_ATMEL_SAMV71_WAIT_MODE
	bool "Go to Wait mode instead of Sleep mode"
	depends on SOC_ATMEL_SAMV71_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.

config SOC_ATMEL_SAMV71_DISABLE_ERASE_PIN
	bool "Disable ERASE pin"
	help
	  At reset ERASE pin is configured in System IO mode. Asserting the ERASE
	  pin at '1' will completely erase Flash memory. Setting this option will
	  switch the pin to general IO mode giving control of the pin to the GPIO
	  module.

endif # SOC_SERIES_SAMV71