36
36
******************************************************************************
37
37
*/
38
38
#include " interrupt.h"
39
-
39
+ #if defined(STM32MP1xx)
40
+ #include " lock_resource.h"
41
+ #endif
40
42
#if !defined(HAL_EXTI_MODULE_DISABLED)
41
43
42
44
/* Private Types */
@@ -177,8 +179,16 @@ void stm32_interrupt_enable(GPIO_TypeDef *port, uint16_t pin, callback_function_
177
179
178
180
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
179
181
182
+ #if defined(STM32MP1xx)
183
+ PERIPH_LOCK (port);
184
+ #endif
185
+
180
186
HAL_GPIO_Init (port, &GPIO_InitStruct);
181
187
188
+ #if defined(STM32MP1xx)
189
+ PERIPH_UNLOCK (port);
190
+ #endif
191
+
182
192
gpio_irq_conf[id].callback = callback;
183
193
184
194
// Enable and set EXTI Interrupt
@@ -236,7 +246,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
236
246
}
237
247
}
238
248
239
- #if defined (STM32G0xx)
249
+ #if defined (STM32G0xx) || defined (STM32MP1xx)
240
250
/* *
241
251
* @brief EXTI line detection callback.
242
252
* @param GPIO_Pin Specifies the port pin connected to corresponding EXTI line.
@@ -359,7 +369,7 @@ void EXTI4_IRQHandler(void)
359
369
HAL_GPIO_EXTI_IRQHandler (GPIO_PIN_4);
360
370
}
361
371
362
-
372
+ # if !defined(STM32MP1xx)
363
373
/* *
364
374
* @brief This function handles external line 5 to 9 interrupt request.
365
375
* @param None
@@ -385,7 +395,119 @@ void EXTI15_10_IRQHandler(void)
385
395
HAL_GPIO_EXTI_IRQHandler (pin);
386
396
}
387
397
}
398
+ #else /* STM32MP1xx */
399
+
400
+ /* *
401
+ * @brief This function handles external line 5 interrupt request.
402
+ * @param None
403
+ * @retval None
404
+ */
405
+ void EXTI5_IRQHandler (void )
406
+ {
407
+ HAL_GPIO_EXTI_IRQHandler (GPIO_PIN_5);
408
+ }
409
+
410
+ /* *
411
+ * @brief This function handles external line 6 interrupt request.
412
+ * @param None
413
+ * @retval None
414
+ */
415
+ void EXTI6_IRQHandler (void )
416
+ {
417
+ HAL_GPIO_EXTI_IRQHandler (GPIO_PIN_6);
418
+ }
419
+
420
+ /* *
421
+ * @brief This function handles external line 7 interrupt request.
422
+ * @param None
423
+ * @retval None
424
+ */
425
+ void EXTI7_IRQHandler (void )
426
+ {
427
+ HAL_GPIO_EXTI_IRQHandler (GPIO_PIN_7);
428
+ }
429
+
430
+ /* *
431
+ * @brief This function handles external line 8 interrupt request.
432
+ * @param None
433
+ * @retval None
434
+ */
435
+ void EXTI8_IRQHandler (void )
436
+ {
437
+ HAL_GPIO_EXTI_IRQHandler (GPIO_PIN_8);
438
+ }
439
+
440
+ /* *
441
+ * @brief This function handles external line 9 interrupt request.
442
+ * @param None
443
+ * @retval None
444
+ */
445
+ void EXTI9_IRQHandler (void )
446
+ {
447
+ HAL_GPIO_EXTI_IRQHandler (GPIO_PIN_9);
448
+ }
449
+
450
+ /* *
451
+ * @brief This function handles external line 10 interrupt request.
452
+ * @param None
453
+ * @retval None
454
+ */
455
+ void EXTI10_IRQHandler (void )
456
+ {
457
+ HAL_GPIO_EXTI_IRQHandler (GPIO_PIN_10);
458
+ }
459
+
460
+ /* *
461
+ * @brief This function handles external line 11 interrupt request.
462
+ * @param None
463
+ * @retval None
464
+ */
465
+ void EXTI11_IRQHandler (void )
466
+ {
467
+ HAL_GPIO_EXTI_IRQHandler (GPIO_PIN_11);
468
+ }
469
+
470
+ /* *
471
+ * @brief This function handles external line 12 interrupt request.
472
+ * @param None
473
+ * @retval None
474
+ */
475
+ void EXTI12_IRQHandler (void )
476
+ {
477
+ HAL_GPIO_EXTI_IRQHandler (GPIO_PIN_12);
478
+ }
479
+
480
+ /* *
481
+ * @brief This function handles external line 13 interrupt request.
482
+ * @param None
483
+ * @retval None
484
+ */
485
+ void EXTI13_IRQHandler (void )
486
+ {
487
+ HAL_GPIO_EXTI_IRQHandler (GPIO_PIN_13);
488
+ }
489
+
490
+ /* *
491
+ * @brief This function handles external line 14 interrupt request.
492
+ * @param None
493
+ * @retval None
494
+ */
495
+ void EXTI14_IRQHandler (void )
496
+ {
497
+ HAL_GPIO_EXTI_IRQHandler (GPIO_PIN_14);
498
+ }
499
+
500
+ /* *
501
+ * @brief This function handles external line 15 interrupt request.
502
+ * @param None
503
+ * @retval None
504
+ */
505
+ void EXTI15_IRQHandler (void )
506
+ {
507
+ HAL_GPIO_EXTI_IRQHandler (GPIO_PIN_15);
508
+ }
388
509
510
+ #endif /* !STM32MP1xx */
389
511
#ifdef __cplusplus
390
512
}
391
513
#endif
0 commit comments