mirror of
https://github.com/andreili/klipper.git
synced 2025-08-24 03:44:06 +02:00
210 lines
5.4 KiB
Plaintext
210 lines
5.4 KiB
Plaintext
# Kconfig settings for Atmel SAMD processors
|
|
|
|
if MACH_ATSAMD
|
|
|
|
config ATSAMD_SELECT
|
|
bool
|
|
default y
|
|
select HAVE_GPIO
|
|
select HAVE_GPIO_ADC
|
|
select HAVE_GPIO_I2C
|
|
select HAVE_GPIO_SPI
|
|
select HAVE_GPIO_HARD_PWM if MACH_SAMD21
|
|
select HAVE_GPIO_BITBANGING
|
|
select HAVE_STRICT_TIMING
|
|
select HAVE_CHIPID
|
|
select HAVE_STEPPER_BOTH_EDGE
|
|
|
|
config HAVE_SERCOM
|
|
depends on HAVE_GPIO_I2C || HAVE_GPIO_SPI
|
|
bool
|
|
default y
|
|
|
|
config BOARD_DIRECTORY
|
|
string
|
|
default "atsamd"
|
|
|
|
choice
|
|
prompt "Processor model"
|
|
config MACH_SAMD21G18
|
|
bool "SAMD21G18 (Arduino Zero)"
|
|
select MACH_SAMD21
|
|
config MACH_SAMD21E18
|
|
bool "SAMD21E18 (Adafruit Trinket M0)"
|
|
select MACH_SAMD21
|
|
config MACH_SAMD21E15
|
|
bool "SAMD21E15"
|
|
select MACH_SAMD21
|
|
config MACH_SAMD51G19
|
|
bool "SAMD51G19 (Adafruit ItsyBitsy M4)"
|
|
select MACH_SAMD51
|
|
config MACH_SAMD51J19
|
|
bool "SAMD51J19 (Adafruit Metro M4)"
|
|
select MACH_SAMD51
|
|
config MACH_SAMD51N19
|
|
bool "SAMD51N19"
|
|
select MACH_SAMD51
|
|
config MACH_SAMD51P20
|
|
bool "SAMD51P20 (Adafruit Grand Central)"
|
|
select MACH_SAMD51
|
|
config MACH_SAME51J19
|
|
bool "SAME51J19"
|
|
select MACH_SAME51
|
|
config MACH_SAME54P20
|
|
bool "SAME54P20"
|
|
select MACH_SAME54
|
|
endchoice
|
|
|
|
config MACH_SAMD21
|
|
bool
|
|
config MACH_SAMX5
|
|
bool
|
|
config MACH_SAMD51
|
|
bool
|
|
select MACH_SAMX5
|
|
config MACH_SAME51
|
|
bool
|
|
select MACH_SAMX5
|
|
config MACH_SAME54
|
|
bool
|
|
select MACH_SAMX5
|
|
config HAVE_SAMD_CANBUS
|
|
bool
|
|
default y if MACH_SAME51 || MACH_SAME54
|
|
|
|
config MCU
|
|
string
|
|
default "samd21g18a" if MACH_SAMD21G18
|
|
default "samd21e18a" if MACH_SAMD21E18
|
|
default "samd21e15a" if MACH_SAMD21E15
|
|
default "samd51g19a" if MACH_SAMD51G19
|
|
default "samd51j19a" if MACH_SAMD51J19
|
|
default "samd51n19a" if MACH_SAMD51N19
|
|
default "samd51p20a" if MACH_SAMD51P20
|
|
default "same51j19a" if MACH_SAME51J19
|
|
default "same54p20a" if MACH_SAME54P20
|
|
|
|
config FLASH_SIZE
|
|
hex
|
|
default 0x8000 if MACH_SAMD21E15
|
|
default 0x40000 if MACH_SAMD21G18 || MACH_SAMD21E18
|
|
default 0x80000 if MACH_SAMD51G19 || MACH_SAMD51J19 || MACH_SAMD51N19 || MACH_SAME51J19
|
|
default 0x100000 if MACH_SAMD51P20 || MACH_SAME54P20
|
|
|
|
config RAM_START
|
|
hex
|
|
default 0x20000000
|
|
|
|
config RAM_SIZE
|
|
hex
|
|
default 0x1000 if MACH_SAMD21E15
|
|
default 0x8000 if MACH_SAMD21G18 || MACH_SAMD21E18
|
|
default 0x30000 if MACH_SAMD51G19 || MACH_SAMD51J19 || MACH_SAMD51N19 || MACH_SAME51J19
|
|
default 0x40000 if MACH_SAMD51P20 || MACH_SAME54P20
|
|
|
|
config STACK_SIZE
|
|
int
|
|
default 512
|
|
|
|
choice
|
|
prompt "Clock Reference"
|
|
config CLOCK_REF_X32K
|
|
bool "32.768Khz crystal"
|
|
config CLOCK_REF_X25M
|
|
bool "25Mhz crystal" if MACH_SAMX5
|
|
config CLOCK_REF_INTERNAL
|
|
bool "Internal clock"
|
|
endchoice
|
|
|
|
choice
|
|
depends on MACH_SAMX5 && LOW_LEVEL_OPTIONS
|
|
prompt "Processor speed"
|
|
config SAMD51_FREQ_120
|
|
bool "120 MHz (standard)"
|
|
config SAMD51_FREQ_150
|
|
bool "150 MHz (overclock)"
|
|
config SAMD51_FREQ_180
|
|
bool "180 MHz (overclock)"
|
|
config SAMD51_FREQ_200
|
|
bool "200 MHz (overclock)"
|
|
endchoice
|
|
|
|
config CLOCK_FREQ
|
|
int
|
|
default 48000000 if MACH_SAMD21
|
|
default 150000000 if SAMD51_FREQ_150
|
|
default 180000000 if SAMD51_FREQ_180
|
|
default 200000000 if SAMD51_FREQ_200
|
|
default 120000000 if MACH_SAMX5
|
|
|
|
choice
|
|
prompt "Bootloader offset"
|
|
config FLASH_START_2000
|
|
depends on MACH_SAMD21
|
|
bool "8KiB bootloader (Arduino Zero)"
|
|
config FLASH_START_4000
|
|
bool "16KiB bootloader (Arduino M0)"
|
|
config FLASH_START_0000
|
|
bool "No bootloader"
|
|
endchoice
|
|
|
|
config FLASH_START
|
|
hex
|
|
default 0x4000 if FLASH_START_4000
|
|
default 0x2000 if FLASH_START_2000
|
|
default 0x0000
|
|
|
|
choice
|
|
prompt "Communication interface"
|
|
config ATSAMD_USB
|
|
bool "USB"
|
|
select USBSERIAL
|
|
config ATSAMD_SERIAL
|
|
bool "Serial"
|
|
select SERIAL
|
|
config ATSAMD_MMENU_CANBUS_PA23_PA22
|
|
bool "CAN bus (on PA23/PA22)"
|
|
depends on HAVE_SAMD_CANBUS
|
|
select CANSERIAL
|
|
config ATSAMD_MMENU_CANBUS_PA25_PA24
|
|
bool "CAN bus (on PA25/PA24)"
|
|
depends on HAVE_SAMD_CANBUS
|
|
select CANSERIAL
|
|
config ATSAMD_MMENU_CANBUS_PB13_PB12
|
|
bool "CAN bus (on PB13/PB12)"
|
|
depends on HAVE_SAMD_CANBUS
|
|
select CANSERIAL
|
|
config ATSAMD_MMENU_CANBUS_PB15_PB14
|
|
bool "CAN bus (on PB15/PB14)"
|
|
depends on HAVE_SAMD_CANBUS
|
|
select CANSERIAL
|
|
config ATSAMD_USBCANBUS
|
|
bool "USB to CAN bus bridge"
|
|
depends on HAVE_SAMD_CANBUS
|
|
select USBCANBUS
|
|
endchoice
|
|
choice
|
|
prompt "CAN bus interface" if USBCANBUS
|
|
config ATSAMD_CMENU_CANBUS_PA23_PA22
|
|
bool "CAN bus (on PA23/PA22)"
|
|
config ATSAMD_CMENU_CANBUS_PB13_PB12
|
|
bool "CAN bus (on PB13/PB12)"
|
|
config ATSAMD_CMENU_CANBUS_PB15_PB14
|
|
bool "CAN bus (on PB15/PB14)"
|
|
endchoice
|
|
|
|
config ATSAMD_CANBUS_PA23_PA22
|
|
bool
|
|
default y if ATSAMD_MMENU_CANBUS_PA23_PA22 || ATSAMD_CMENU_CANBUS_PA23_PA22
|
|
config ATSAMD_CANBUS_PA25_PA24
|
|
bool
|
|
default y if ATSAMD_MMENU_CANBUS_PA25_PA24
|
|
config ATSAMD_CANBUS_PB13_PB12
|
|
bool
|
|
default y if ATSAMD_MMENU_CANBUS_PB13_PB12 || ATSAMD_CMENU_CANBUS_PB13_PB12
|
|
config ATSAMD_CANBUS_PB15_PB14
|
|
bool
|
|
default y if ATSAMD_MMENU_CANBUS_PB15_PB14 || ATSAMD_CMENU_CANBUS_PB15_PB14
|
|
|
|
endif
|