summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/src/kl/Kconfig
blob: 208cbe4ea837f4b65bb8785d90fbc4749f3e3394 (plain) (blame)
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
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
#
# For a description of the syntax of this configuration file,
# see misc/tools/kconfig-language.txt.
#

comment "Kinetis Configuration Options"

choice
	prompt "Kinetis Chip Selection"
	default ARCH_CHIP_MKL25Z128
	depends on ARCH_CHIP_KL

config ARCH_CHIP_MKL25Z128
	bool "MKL25Z128"
	select ARCH_FAMILY_KL2X

config ARCH_CHIP_MKL26Z128
	bool "MKL26Z128"
	select ARCH_FAMILY_KL2X

endchoice

# Chip families

config ARCH_FAMILY_KL2X
	bool
	default n

menu "Kinetis Peripheral Support"

config KL_TRACE
	bool "Trace"
	default n
	---help---
		Enable trace clocking on power up.

config KL_FLEXBUS
	bool "FlexBus"
	default n
	---help---
		Enable flexbus clocking on power up.

config KL_UART0
	bool "UART0"
	default n
	select ARCH_HAVE_UART0
	---help---
		Support UART0

config KL_UART1
	bool "UART1"
	default n
	select ARCH_HAVE_UART1
	---help---
		Support UART1

config KL_UART2
	bool "UART2"
	default n
	select ARCH_HAVE_UART2
	---help---
		Support UART2

config KL_RNGB
	bool "Random number generator"
	default n
	depends on ARCH_FAMILY_K60
	---help---
		Support the random number generator(K60 only)

config KL_FLEXCAN0
	bool "FlexCAN0"
	default n
	---help---
		Support FlexCAN0

config KL_FLEXCAN1
	bool "FlexCAN1"
	default n
	---help---
		Support FlexCAN1

config KL_SPI0
	bool "SPI0"
	default n
	select SPI
	select SPI_EXCHANGE
	---help---
		Support SPI0

config KL_SPI1
	bool "SPI1"
	default n
	select SPI
	select SPI_EXCHANGE
	---help---
		Support SPI1

config KL_SPI2
	bool "SPI2"
	default n
	---help---
		Support SPI2

config KL_I2C0
	bool "I2C0"
	default n
	---help---
		Support I2C0

config KL_I2C1
	bool "I2C1"
	default n
	---help---
		Support I2C1

config KL_I2S
	bool "I2S"
	default n
	---help---
		Support I2S

config KL_DAC0
	bool "DAC0"
	default n
	---help---
		Support DAC0

config KL_DAC1
	bool "DAC1"
	default n
	---help---
		Support DAC1

config KL_ADC0
	bool "ADC0"
	default n
	---help---
		Support ADC0

config KL_ADC1
	bool "ADC1"
	default n
	---help---
		Support ADC1

config KL_CMP
	bool "CMP"
	default n
	---help---
		Support CMP

config KL_VREF
	bool "VREF"
	default n
	---help---
		Support VREF

config KL_TPM0
	bool "Timer/PWM Module 0"
	default n
	---help---
		Support FlexTimer 0

config KL_TPM1
	bool "Timer/PWM Module 1"
	default n
	---help---
		Support FlexTimer 1

config KL_TPM2
	bool "Timer/PWM Module 2"
	default n
	---help---
		Support FlexTimer 2

config KL_LPTIMER
	bool "Low power timer (LPTIMER)"
	default n
	---help---
		Support the low power timer

config KL_RTC
	bool "RTC"
	default n
	---help---
		Support RTC

config KL_SLCD
	bool "Segment LCD (SLCD)"
	default n
	depends on ARCH_FAMILY_K40
	---help---
		Support the segment LCD (K40 only)

config KL_EWM
	bool "External watchdog (WVM)"
	default n
	---help---
		Support the external watchdog

config KL_CMT
	bool "Carrier modulator transmitter (CMT)"
	default n
	---help---
		Support Carrier Modulator Transmitter

config KL_USBOTG
	bool "USB OTG"
	default n
	---help---
		Support USB OTG (see also USBHOST and USBDEV)

config KL_USBDCD
	bool "USB device controller"
	default n
	---help---
		Support the USB Device Charger Detection module

config KL_LLWU
	bool "Low leakage wake-up unit (LLWU)"
	default n
	---help---
		Support the Low Leakage Wake-Up Unit

config KL_TSI
	bool "Touchscreen interface (TSI)"
	default n
	---help---
		Support the touch screeen interface

config KL_FTFL
	bool "FLASH (FTFL)"
	default n
	---help---
		Support FLASH

config KL_DMA
	bool "DMA"
	default n
	---help---
		Support DMA

config KL_CRC
	bool "CRC"
	default n
	---help---
		Support CRC

config KL_PDB
	bool "Programmable delay block (PDB)"
	default n
	---help---
		Support the Programmable Delay Block

config KL_PIT
	bool "Programmable interval timer (PIT)"
	default n
	---help---
		Support Programmable Interval Timers

endmenu

choice
	prompt "SysTick clock source"
	default KL_SYSTICK_CORECLK

config KL_SYSTICK_CORECLK
	bool "Cortex-M0 core clock"

config KL_SYSTICK_CORECLK_DIV16
	bool "Cortex-M0 core clock divided by 16"

endchoice

config KL_TPM0_PWM
	bool "TPM0 PWM"
	default n
	depends on KL_TPM0
	---help---
		Reserve timer 0 for use by PWM

		Timer devices may be used for different purposes.  One special purpose is
		to generate modulated outputs for such things as motor control.  If KL_TPM0
		is defined then THIS following may also be defined to indicate that
		the timer is intended to be used for pulsed output modulation.

config KL_TPM0_CHANNEL
	int "TPM0 PWM Output Channel"
	default 0
	range 0 5
	depends on KL_TPM0_PWM
	---help---
		If TIM0 is enabled for PWM usage, you also need specifies the timer output
		channel {0,..,5}

config KL_TPM1_PWM
	bool "TPM1 PWM"
	default n
	depends on KL_TPM1
	---help---
		Reserve timer 1 for use by PWM

		Timer devices may be used for different purposes.  One special purpose is
		to generate modulated outputs for such things as motor control.  If KL_TPM1
		is defined then THIS following may also be defined to indicate that
		the timer is intended to be used for pulsed output modulation.

config KL_TPM1_CHANNEL
	int "TPM1 PWM Output Channel"
	default 0
	range 0 1 if ARCH_CHIP_MKL25Z128 || ARCH_CHIP_MKL26Z128
	range 0 5 if !ARCH_CHIP_MKL25Z128 && !ARCH_CHIP_MKL26Z128
	depends on KL_TPM1_PWM
	---help---
		If TIM1 is enabled for PWM usage, you also need specifies the timer output
		channel {0,..,5}

config KL_TPM2_PWM
	bool "TPM2 PWM"
	default n
	depends on KL_TPM2
	---help---
		Reserve timer 2 for use by PWM

		Timer devices may be used for different purposes.  One special purpose is
		to generate modulated outputs for such things as motor control.  If KL_TPM2
		is defined then THIS following may also be defined to indicate that
		the timer is intended to be used for pulsed output modulation.

config KL_TPM2_CHANNEL
	int "TPM2 PWM Output Channel"
	default 0
	range 0 1 if ARCH_CHIP_MKL25Z128 || ARCH_CHIP_MKL26Z128
	range 0 5 if !ARCH_CHIP_MKL25Z128 && !ARCH_CHIP_MKL26Z128
	depends on KL_TPM2_PWM
	---help---
		If TIM2 is enabled for PWM usage, you also need specifies the timer output
		channel {0,..,5}

comment "Kinetis GPIO Interrupt Configuration"

config GPIO_IRQ
	bool "GPIO pin interrupts"
	---help---
		Enable support for interrupting GPIO pins

if GPIO_IRQ

config KL_PORTAINTS
	bool "GPIOA interrupts"
	---help---
		Enable support for 32 interrupts from GPIO port A pins

config KL_PORTDINTS
	bool "GPIOD interrupts"
	---help---
		Enable support for 32 interrupts from GPIO port D pins

endif