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