aboutsummaryrefslogtreecommitdiffstats
path: root/src/atsam/Kconfig
blob: 4a10a0f7d162d08f604c2b68c7e6031f0aab0b2a (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
# Kconfig settings for Atmel SAM processors

if MACH_ATSAM

config ATSAM_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_SAME70
    select HAVE_STRICT_TIMING
    select HAVE_CHIPID
    select HAVE_STEPPER_BOTH_EDGE
    select HAVE_BOOTLOADER_REQUEST

config BOARD_DIRECTORY
    string
    default "atsam"

choice
    prompt "Processor model"
    config MACH_SAM3X8E
        bool "SAM3x8e (Arduino Due)"
        select MACH_SAM3X
    config MACH_SAM3X8C
        bool "SAM3x8c (Printrboard G2)"
        select MACH_SAM3X
    config MACH_SAM4S8C
        bool "SAM4s8c (Duet Maestro)"
        select MACH_SAM4S
    config MACH_SAM4E8E
        bool "SAM4e8e (Duet Wifi/Eth)"
        select MACH_SAM4E
    config MACH_SAME70Q20B
        bool "SAME70Q20B (Duet 3 6HC)"
        select MACH_SAME70
endchoice

config MACH_SAM3X
    bool
config MACH_SAM4
    bool
config MACH_SAM4S
    bool
    select MACH_SAM4
config MACH_SAM4E
    bool
    select MACH_SAM4
config MACH_SAME70
    bool
config HAVE_SAM_CANBUS
    bool
    default y if MACH_SAME70

config MCU
    string
    default "sam3x8e" if MACH_SAM3X8E
    default "sam3x8c" if MACH_SAM3X8C
    default "sam4s8c" if MACH_SAM4S8C
    default "sam4e8e" if MACH_SAM4E8E
    default "same70q20b" if MACH_SAME70Q20B

config CLOCK_FREQ
    int
    default 84000000 if MACH_SAM3X
    default 120000000 if MACH_SAM4
    default 300000000 if MACH_SAME70

config FLASH_SIZE
    hex
    default 0x80000

config FLASH_BOOT_ADDRESS
    hex
    default 0x0

config RAM_START
    hex
    default 0x20400000 if MACH_SAME70
    default 0x20000000

config RAM_SIZE
    hex
    default 0x18000 if MACH_SAM3X
    default 0x20000 if MACH_SAM4
    default 0x40000 if MACH_SAME70

config STACK_SIZE
    int
    default 512

config FLASH_APPLICATION_ADDRESS
    hex
    default 0x400000 if MACH_SAM4 || MACH_SAME70
    default 0x80000

choice
    prompt "Communication interface"
    config ATSAM_USB
        bool "USB"
        select USBSERIAL
    config ATSAM_SERIAL
        bool "Serial"
        select SERIAL
    config ATSAM_MMENU_CANBUS_PC12_PD12
        bool "CAN bus (on PC12/PD12)"
        depends on HAVE_SAM_CANBUS
        select CANSERIAL
    config ATSAM_MMENU_CANBUS_PB3_PB2
        bool "CAN bus (on PB3/PB2)"
        depends on HAVE_SAM_CANBUS
        select CANSERIAL
    config ATSAM_USBCANBUS
        bool "USB to CAN bus bridge"
        depends on HAVE_SAM_CANBUS
        select USBCANBUS
endchoice
choice
    prompt "CAN bus interface" if USBCANBUS
    config ATSAM_CMENU_CANBUS_PC12_PD12
        bool "CAN bus (on PC12/PD12)"
    config ATSAM_CMENU_CANBUS_PB3_PB2
        bool "CAN bus (on PB3/PB2)"
endchoice

config ATSAM_CANBUS_PC12_PD12
    bool
    default y if ATSAM_MMENU_CANBUS_PC12_PD12 || ATSAM_CMENU_CANBUS_PC12_PD12
config ATSAM_CANBUS_PB3_PB2
    bool
    default y if ATSAM_MMENU_CANBUS_PB3_PB2 || ATSAM_CMENU_CANBUS_PB3_PB2

endif