Welcome to mirror list, hosted at ThFree Co, Russian Federation.

Kconfig « atsamd « src - github.com/Klipper3d/klipper.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 0fa4c5d2107c6fcfe8b1c08f1c9ec9c7c4ab10d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
# 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