# Atmel SAM MCU series general configuration options # Copyright (c) 2024 Gerson Fernando Budke # SPDX-License-Identifier: Apache-2.0 if SOC_FAMILY_ATMEL_SAM && !SOC_SERIES_SAM4L menu "Clocks" config SOC_ATMEL_SAM_EXT_SLCK bool "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_SAM_EXT_MAINCK bool "Use external crystal oscillator for main clock" default y 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. menu "PLL A" config SOC_ATMEL_SAM_PLLA_MULA int "PLL MULA" default 6 if SOC_SERIES_SAM3X default 9 if SOC_SERIES_SAM4S || SOC_SERIES_SAM4E default 24 if SOC_SERIES_SAME70 || SOC_SERIES_SAMV71 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. With default of MULA == N, and DIVA == 1 the PLL will run at N+1 times the main clock frequency. config SOC_ATMEL_SAM_PLLA_DIVA int "PLL DIVA" default 1 range 1 $(UINT8_MAX) 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 == N, and DIVA == 1 the PLL will run at N+1 times the main clock frequency. config SOC_ATMEL_SAM_MDIV int "MDIV" depends on SOC_SERIES_SAME70 || SOC_SERIES_SAMV71 default 2 range 1 4 help This divisor defines a ratio between processor clock (HCLK) and master clock (MCK) where the maximum value is 150MHz: MCK = HCLK / MDIV endmenu # PLL A endmenu # clocks config SOC_ATMEL_SAM_WAIT_MODE bool "CPU goes to Wait mode instead of Sleep mode" depends on SOC_ATMEL_SAM_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_SAM_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_FAMILY_ATMEL_SAM && !SOC_SERIES_SAM4L