1# STM32CUBE HAL config
2
3# Copyright (c) 2016 Linaro Limited.
4# SPDX-License-Identifier: Apache-2.0
5
6config HAS_STM32LIB
7	bool
8
9config HAS_STM32CUBE
10	bool
11	select HAS_CMSIS_CORE
12	depends on SOC_FAMILY_STM32
13
14if HAS_STM32CUBE
15
16config USE_STM32_HAL_ADC
17	bool
18	help
19	  Enable STM32Cube Analog-to-Digital Converter (ADC) HAL module driver
20
21config USE_STM32_HAL_ADC_EX
22	bool
23	help
24	  Enable STM32Cube Extended Analog-to-Digital Converter (ADC) HAL
25	  module driver
26
27config USE_STM32_HAL_CAN
28	bool
29	help
30	  Enable STM32Cube Controller Area Network (CAN) HAL module driver
31
32config USE_STM32_HAL_CEC
33	bool
34	help
35	  Enable STM32Cube HDMI-CEC controller (CEC) HAL module driver
36
37config USE_STM32_HAL_COMP
38	bool
39	help
40	  Enable STM32Cube Ultra Low Power Comparator channels (COMP) HAL module
41	  driver
42
43config USE_STM32_HAL_CORTEX
44	bool
45	help
46	  Enable STM32Cube CORTEX HAL module driver
47
48config USE_STM32_HAL_CRC
49	bool
50	help
51	  Enable STM32Cube Cyclic redundancy check calculation unit (CRC) HAL
52	  module driver
53
54config USE_STM32_HAL_CRC_EX
55	bool
56	help
57	  Enable STM32Cube Extended Cyclic redundancy check calculation unit
58	  (CRC) HAL module driver
59
60config USE_STM32_HAL_CRYP
61	bool
62	help
63	  Enable STM32Cube Cryptographic processor (CRYP) HAL module driver
64
65config USE_STM32_HAL_CRYP_EX
66	bool
67	help
68	  Enable STM32Cube Extended Cryptographic processor (CRYP) HAL module
69	  driver
70
71config USE_STM32_HAL_DAC
72	bool
73	help
74	  Enable STM32Cube Digital-to-analog converter (DAC) HAL module driver
75
76config USE_STM32_HAL_DAC_EX
77	bool
78	help
79	  Enable STM32Cube Extended Digital-to-analog converter (DAC) HAL module
80	  driver
81
82config USE_STM32_HAL_DCMI
83	bool
84	help
85	  Enable STM32Cube Digital camera interface (DCM) HAL module driver
86
87config USE_STM32_HAL_DCMI_EX
88	bool
89	help
90	  Enable STM32Cube Extended Digital camera interface (DCM) HAL module
91	  driver
92
93config USE_STM32_HAL_DFSDM
94	bool
95	help
96	  Enable STM32Cube Digital filter for sigma delta modulators (DFSDM) HAL
97	  module driver
98
99config USE_STM32_HAL_DFSDM_EX
100	bool
101	help
102	  Enable STM32Cube Extended Digital filter for sigma delta modulators
103	  (DFSDM) HAL module driver
104
105config USE_STM32_HAL_DMA
106	bool
107	help
108	  Enable STM32Cube Direct Memory Access controller (DMA) HAL module
109	  driver
110
111config USE_STM32_HAL_DMA2D
112	bool
113	help
114	  Enable STM32Cube Chrom-Art Accelerator™ controller (DMA2D) HAL module
115	  driver
116
117config USE_STM32_HAL_DMA_EX
118	bool
119	help
120	  Enable STM32Cube Extended Direct Memory Access controller (DMA) HAL
121	  module driver
122
123config USE_STM32_HAL_DSI
124	bool
125	help
126	  Enable STM32Cube Display Serial Interface Host (DSI) HAL module driver
127
128config USE_STM32_HAL_ETH
129	bool
130	help
131	  Enable STM32Cube Ethernet (ETH) HAL module driver
132
133config USE_STM32_HAL_ETH_EX
134	bool
135	help
136	  Enable STM32Cube Extended Ethernet (ETH) HAL module driver
137
138config USE_STM32_HAL_EXTI
139	bool
140	help
141	  Enable STM32Cube Extended interrupt and event controller (EXTI) HAL
142	  module driver
143
144config USE_STM32_HAL_FDCAN
145	bool
146	help
147	  Enable STM32Cube Controller area network with flexible data rate
148	  (FDCAN) HAL module driver
149
150config USE_STM32_HAL_FIREWALL
151	bool
152	help
153	  Enable STM32Cube Firewall HAL module driver
154
155config USE_STM32_HAL_FLASH
156	bool
157	help
158	  Enable STM32Cube Embedded Flash Memory (FLASH) HAL module driver
159
160config USE_STM32_HAL_FLASH_EX
161	bool
162	help
163	  Enable STM32Cube Extended Embedded Flash Memory (FLASH) HAL module
164	  driver
165
166config USE_STM32_HAL_FLASH_RAMFUNC
167	bool
168	help
169	  Enable STM32Cube Embedded Flash Memory RAM functions (FLASH_RAMFUNC)
170	  HAL module driver
171
172config USE_STM32_HAL_FMAC
173	bool
174	help
175	  Enable STM32Cube Filter Math Accelerator (FMAC) HAL module driver
176
177config USE_STM32_HAL_FMPI2C
178	bool
179	help
180	  Enable STM32Cube Fast-mode Plus Inter-integrated circuit (FMPI2C)
181	  HAL module driver
182
183config USE_STM32_HAL_FMPI2C_EX
184	bool
185	help
186	  Enable STM32Cube Extended Fast-mode Plus Inter-integrated circuit
187	  (FMPI2C) HAL module driver
188
189config USE_STM32_HAL_GFXMMU
190	bool
191	help
192	  Enable STM32Cube Chrom-GRCTM (GFXMMU) HAL module driver
193
194config USE_STM32_HAL_GPIO
195	bool
196	help
197	  Enable STM32Cube General-purpose I/Os (GPIO) HAL module driver
198
199config USE_STM32_HAL_GPIO_EX
200	bool
201	help
202	  Enable STM32Cube Extended General-purpose I/Os (GPIO) HAL module
203	  driver
204
205config USE_STM32_HAL_HASH
206	bool
207	help
208	  Enable STM32Cube Hash processor (HASH) HAL module driver
209
210config USE_STM32_HAL_HASH_EX
211	bool
212	help
213	  Enable STM32Cube Extended Hash processor (HASH) HAL module driver
214
215config USE_STM32_HAL_HCD
216	bool
217	help
218	  Enable STM32Cube Host Controller device (HCD) HAL module driver
219
220config USE_STM32_HAL_HRTIM
221	bool
222	help
223	  Enable STM32Cube High-Resolution Timer (HRTIM) HAL module driver
224
225config USE_STM32_HAL_HSEM
226	bool
227	help
228	  Enable STM32Cube Hardware Semaphore (HSEM) HAL module driver
229
230config USE_STM32_HAL_I2C
231	bool
232	help
233	  Enable STM32Cube Inter-integrated circuit (I2C) interface HAL module
234	  driver
235
236config USE_STM32_HAL_I2C_EX
237	bool
238	help
239	  Enable STM32Cube Extended Inter-integrated circuit (I2C) interface HAL
240	  module driver
241
242config USE_STM32_HAL_I2S
243	bool
244	help
245	  Enable STM32Cube Inter-IC sound (I2S) HAL module driver
246
247config USE_STM32_HAL_I2S_EX
248	bool
249	help
250	  Enable STM32Cube Extended Inter-IC sound (I2S) HAL module driver
251
252config USE_STM32_HAL_IPCC
253	bool
254	help
255	  Enable STM32Cube Inter-Processor communication controller (IPCC) HAL
256	  module driver
257
258config USE_STM32_HAL_IRDA
259	bool
260	help
261	  Enable STM32Cube Infrared Data Association (IRDA) HAL module driver
262
263config USE_STM32_HAL_IWDG
264	bool
265	help
266	  Enable STM32Cube Independent watchdog (IWDG) HAL module driver
267
268config USE_STM32_HAL_JPEG
269	bool
270	help
271	  Enable STM32Cube Jpeg codec (JPEG) HAL module driver
272
273config USE_STM32_HAL_LCD
274	bool
275	help
276	  Enable STM32Cube LCD controller (LCD) HAL module driver
277
278config USE_STM32_HAL_LPTIM
279	bool
280	help
281	  Enable STM32Cube Low Power Timer (LPTIM) HAL module driver
282
283config USE_STM32_HAL_LTDC
284	bool
285	help
286	  Enable STM32Cube LCD-TFT controller (LTDC) HAL module driver
287
288config USE_STM32_HAL_LTDC_EX
289	bool
290	help
291	  Enable STM32Cube Extended LCD-TFT controller (LTDC) HAL module driver
292
293config USE_STM32_HAL_MDIOS
294	bool
295	help
296	  Enable STM32Cube Management data input/output (MDIOS) HAL module
297	  driver
298
299config USE_STM32_HAL_MDMA
300	bool
301	help
302	  Enable STM32Cube Master Direct Memory Access controller (MDMA) HAL
303	  module driver
304
305config USE_STM32_HAL_MMC
306	bool
307	help
308	  Enable STM32Cube MultiMediaCard interface (SDMMC) HAL module driver
309
310config USE_STM32_HAL_MMC_EX
311	bool
312	help
313	  Enable STM32Cube Extended MultiMediaCard interface (SDMMC) HAL module
314	  driver
315
316config USE_STM32_HAL_NAND
317	bool
318	help
319	  Enable STM32Cube NAND Controller (NAND) HAL module driver
320
321config USE_STM32_HAL_NOR
322	bool
323	help
324	  Enable STM32Cube NOR Controller (NOR) HAL module driver
325
326config USE_STM32_HAL_OPAMP
327	bool
328	help
329	  Enable STM32Cube Operational amplifiers (OPAMP) HAL module driver
330
331config USE_STM32_HAL_OPAMP_EX
332	bool
333	help
334	  Enable STM32Cube Extended Operational amplifiers (OPAMP) HAL module
335	  driver
336
337config USE_STM32_HAL_OSPI
338	bool
339	help
340	  Enable STM32Cube Octo-SPI interface (OSPI) HAL module driver
341
342config USE_STM32_HAL_PCCARD
343	bool
344	help
345	  Enable STM32Cube PCCard memories (PCCARD) HAL module driver
346
347config USE_STM32_HAL_PCD
348	bool
349	help
350	  Enable STM32Cube USB Peripheral Controller (PCD) HAL module driver
351
352config USE_STM32_HAL_PCD_EX
353	bool
354	help
355	  Enable STM32Cube Extended USB Peripheral Controller (PCD) HAL module
356	  driver
357
358config USE_STM32_HAL_PSSI
359	bool
360	help
361	  Enable STM32Cube Parallel Synchronous Slave Interface (PSSI)
362	  HAL module driver
363
364config USE_STM32_HAL_PWR
365	bool
366	help
367	  Enable STM32Cube Power control (PWR) HAL module driver
368
369config USE_STM32_HAL_PWR_EX
370	bool
371	help
372	  Enable STM32Cube Extended Power control (PWR) HAL module driver
373
374config USE_STM32_HAL_QSPI
375	bool
376	help
377	  Enable STM32Cube Quad-SPI interface (QSPI) HAL module driver
378
379config USE_STM32_HAL_RAMECC
380	bool
381	help
382	  Enable STM32Cube RAM ECC monitoring (RAMECC) HAL module driver
383
384config USE_STM32_HAL_RNG
385	bool
386	help
387	  Enable STM32Cube True random number generator (RNG) HAL module driver
388
389config USE_STM32_HAL_RTC
390	bool
391	help
392	  Enable STM32Cube Real-time clock (RTC) HAL module driver
393
394config USE_STM32_HAL_RTC_EX
395	bool
396	help
397	  Enable STM32Cube Extended Real-time clock (RTC) HAL module driver
398
399config USE_STM32_HAL_SAI
400	bool
401	help
402	  Enable STM32Cube Serial audio interface (SAI) HAL module driver
403
404config USE_STM32_HAL_SAI_EX
405	bool
406	help
407	  Enable STM32Cube Extended Serial audio interface (SAI) HAL module
408	  driver
409
410config USE_STM32_HAL_SD
411	bool
412	help
413	  Enable STM32Cube Secure digital input/output MultiMediaCard interface
414	  (SDMMC) HAL module driver
415
416config USE_STM32_HAL_SD_EX
417	bool
418	help
419	  Enable STM32Cube Extended Secure digital input/output MultiMediaCard
420	  interface (SDMMC) HAL module driver
421
422config USE_STM32_HAL_SDADC
423	bool
424	help
425	  Enable STM32Cube SDADC HAL module driver
426
427config USE_STM32_HAL_SDRAM
428	bool
429	help
430	  Enable STM32Cube SDRAM controller (SDRAM) HAL module driver
431
432config USE_STM32_HAL_SMARTCARD
433	bool
434	help
435	  Enable STM32Cube Smartcard controller (SMARTCARD) HAL module driver
436
437config USE_STM32_HAL_SMARTCARD_EX
438	bool
439	help
440	  Enable STM32Cube Extended Smartcard controller (SMARTCARD) HAL module
441	  driver
442
443config USE_STM32_HAL_SMBUS
444	bool
445	help
446	  Enable STM32Cube System Management Bus (SMBus) HAL module driver
447
448config USE_STM32_HAL_SPDIFRX
449	bool
450	help
451	  Enable STM32Cube SPDIF receiver interface (SPDIFRX) HAL module driver
452
453config USE_STM32_HAL_SPI
454	bool
455	help
456	  Enable STM32Cube Serial peripheral interface (SPI) HAL module driver
457
458config USE_STM32_HAL_SPI_EX
459	bool
460	help
461	  Enable STM32Cube Extended Serial peripheral interface (SPI) HAL module
462	  driver
463
464config USE_STM32_HAL_SRAM
465	bool
466	help
467	  Enable STM32Cube SRAM controller (SRAM) HAL module driver
468
469config USE_STM32_HAL_SWPMI
470	bool
471	help
472	  Enable STM32Cube Single Wire Protocol Master Interface (SWPMI) HAL
473	  module
474
475config USE_STM32_HAL_TIM
476	bool
477	help
478	  Enable STM32Cube Timer (TIM) HAL module driver
479
480config USE_STM32_HAL_TIM_EX
481	bool
482	help
483	  Enable STM32Cube Extended Timer (TIM) HAL module driver
484
485config USE_STM32_HAL_TSC
486	bool
487	help
488	  Enable STM32Cube Touch sensing controller (TSC) HAL module driver
489
490config USE_STM32_HAL_UART
491	bool
492	help
493	  Enable STM32Cube Universal asynchronous receiver transmitter (USART)
494	  HAL module driver
495
496config USE_STM32_HAL_UART_EX
497	bool
498	help
499	  Enable STM32Cube Extended Universal asynchronous receiver transmitter
500	  (USART) HAL module driver
501
502config USE_STM32_HAL_USART
503	bool
504	help
505	  Enable STM32Cube Universal synchronous asynchronous receiver
506	  transmitter (USART) HAL module driver
507
508config USE_STM32_HAL_USART_EX
509	bool
510	help
511	  Enable STM32Cube Extended Universal synchronous asynchronous receiver
512	  transmitter (USART) HAL module driver
513
514config USE_STM32_HAL_WWDG
515	bool
516	help
517	  Enable STM32Cube System window watchdog (WWDG) HAL module driver
518
519config USE_STM32_HAL_XSPI
520	bool
521	help
522	  Enable STM32Cube OctoSPI (XSPI) HAL module driver
523
524config USE_STM32_LL_ADC
525	bool
526	help
527	  Enable STM32Cube Analog-to-Digital Converter (ADC) LL module driver
528
529config USE_STM32_LL_BDMA
530	bool
531	help
532	  Enable STM32Cube Basic direct memory access controller (BDMA) LL
533	  module driver
534
535config USE_STM32_LL_COMP
536	bool
537	help
538	  Enable STM32Cube Ultra Low Power Comparator channels (COMP) LL module
539	  driver
540
541config USE_STM32_LL_CRC
542	bool
543	help
544	  Enable STM32Cube Cyclic redundancy check calculation unit (CRC) LL
545	  module driver
546
547config USE_STM32_LL_CRS
548	bool
549	help
550	  Enable STM32Cube Clock recovery system (CRS) LL module driver
551
552config USE_STM32_LL_DAC
553	bool
554	help
555	  Enable STM32Cube Digital-to-analog converter (DAC) LL module driver
556
557config USE_STM32_LL_DELAYBLOCK
558	bool
559	help
560	  Enable STM32Cube DelayBlock (DELAYBLOCK) LL module driver (stm32H7 or stm32MP1)
561
562config USE_STM32_LL_DLYB
563	bool
564	help
565	  Enable STM32Cube DelayBlock (DELAYBLOCK) LL module driver (stm32U5)
566
567config USE_STM32_LL_DMA
568	bool
569	help
570	  Enable STM32Cube Direct Memory Access controller (DMA) LL module
571	  driver
572
573config USE_STM32_LL_DMA2D
574	bool
575	help
576	  Enable STM32Cube Chrom-Art Accelerator™ controller (DMA2D) LL module
577	  driver
578
579config USE_STM32_LL_EXTI
580	bool
581	help
582	  Enable STM32Cube Extended interrupt and event controller (EXTI) LL
583	  module driver
584
585config USE_STM32_LL_FMAC
586	bool
587	help
588	  Enable STM32Cube Filter Math Accelerator (FMAC) LL module driver
589
590config USE_STM32_LL_FMC
591	bool
592	help
593	  Enable STM32Cube Flexible memory controller (FMC) LL module driver
594
595config USE_STM32_LL_FSMC
596	bool
597	help
598	  Enable STM32Cube Flexible static memory controller (FSMC) LL module
599	  driver
600
601config USE_STM32_LL_GPIO
602	bool
603	help
604	  Enable STM32Cube Extended General-purpose I/Os (GPIO) LL module driver
605
606config USE_STM32_LL_HRTIM
607	bool
608	help
609	  Enable STM32Cube High-Resolution Timer (HRTIM) LL module driver
610
611config USE_STM32_LL_I2C
612	bool
613	help
614	  Enable STM32Cube Inter-integrated circuit (I2C) interface LL module
615	  driver
616
617config USE_STM32_LL_IPCC
618	bool
619	help
620	  Enable STM32Cube Inter-Processor communication controller (IPCC) LL
621	  module driver
622
623config USE_STM32_LL_LPTIM
624	bool
625	help
626	  Enable STM32Cube Low Power Timer (LPTIM) LL module driver
627
628config USE_STM32_LL_LPUART
629	bool
630	help
631	  Enable STM32Cube Low-power universal asynchronous receiver
632	  transmitter (LPUART) LL module driver
633
634config USE_STM32_LL_MDMA
635	bool
636	help
637	  Enable STM32Cube Master Direct Memory Access controller (MDMA) LL
638	  module driver
639
640config USE_STM32_LL_OPAMP
641	bool
642	help
643	  Enable STM32Cube Operational amplifiers (OPAMP) LL module driver
644
645config USE_STM32_LL_PWR
646	bool
647	help
648	  Enable STM32Cube Power control (PWR) LL module driver
649
650config USE_STM32_LL_RCC
651	bool
652	help
653	  Enable STM32Cube Reset and Clock Control (RCC) LL module driver
654
655config USE_STM32_LL_RNG
656	bool
657	help
658	  Enable STM32Cube True random number generator (RNG) LL module driver
659
660config USE_STM32_LL_RTC
661	bool
662	help
663	  Enable STM32Cube Real-time clock (RTC) LL module driver
664
665config USE_STM32_LL_SDMMC
666	bool
667	help
668	  Enable STM32Cube SD/SDIO/MMC card host interface (SDMMC) LL module
669	  driver
670
671config USE_STM32_LL_SPI
672	bool
673	help
674	  Enable STM32Cube Serial peripheral interface (SPI) LL module driver
675
676config USE_STM32_LL_SWPMI
677	bool
678	help
679	  Enable STM32Cube Single Wire Protocol Master Interface (SWPMI) LL
680	  module driver
681
682config USE_STM32_LL_TIM
683	bool
684	help
685	  Enable STM32Cube Timer (TIM) LL module driver
686
687config USE_STM32_LL_UCPD
688	bool
689	help
690	  Enable STM32Cube USB Power Delivery device interface
691	  (UCPD) LL module driver
692
693config USE_STM32_LL_USART
694	bool
695	help
696	  Enable STM32Cube Universal synchronous asynchronous receiver
697	  transmitter (USART) LL module driver
698
699config USE_STM32_LL_USB
700	bool
701	help
702	  Enable STM32Cube Universal serial bus full-speed device interface
703	  (USB) LL module driver
704
705config USE_STM32_LL_UTILS
706	bool
707	help
708	  Enable STM32Cube Utility functions (UTILS) LL module driver
709
710endif # HAS_STM32CUBE
711