diff --git a/radio/src/targets/common/arm/stm32/stm32_pulse_driver.cpp b/radio/src/targets/common/arm/stm32/stm32_pulse_driver.cpp
index 341e3157cc4..4f78faa7451 100644
--- a/radio/src/targets/common/arm/stm32/stm32_pulse_driver.cpp
+++ b/radio/src/targets/common/arm/stm32/stm32_pulse_driver.cpp
@@ -20,6 +20,7 @@
  */
 
 #include "stm32_pulse_driver.h"
+#include "stm32_gpio_driver.h"
 #include "stm32_timer.h"
 #include "stm32_dma.h"
 
@@ -87,6 +88,7 @@ int stm32_pulse_init(const stm32_pulse_timer_t* tim, uint32_t freq)
   pinInit.Pin = tim->GPIO_Pin;
   pinInit.Mode = LL_GPIO_MODE_ALTERNATE;
   pinInit.Alternate = tim->GPIO_Alternate;
+  stm32_gpio_enable_clock(tim->GPIOx);
   LL_GPIO_Init(tim->GPIOx, &pinInit);
 
   LL_TIM_InitTypeDef timInit;
diff --git a/radio/src/targets/horus/board.cpp b/radio/src/targets/horus/board.cpp
index b7d876f1046..eaccae2fe4f 100644
--- a/radio/src/targets/horus/board.cpp
+++ b/radio/src/targets/horus/board.cpp
@@ -96,7 +96,6 @@ void boardInit()
                          SD_RCC_AHB1Periph |
                          AUDIO_RCC_AHB1Periph |
                          TELEMETRY_RCC_AHB1Periph |
-                         TRAINER_RCC_AHB1Periph |
                          BT_RCC_AHB1Periph |
                          AUDIO_RCC_AHB1Periph |
                          HAPTIC_RCC_AHB1Periph |
diff --git a/radio/src/targets/horus/hal.h b/radio/src/targets/horus/hal.h
index 6423eff97af..7a487c52720 100644
--- a/radio/src/targets/horus/hal.h
+++ b/radio/src/targets/horus/hal.h
@@ -975,7 +975,6 @@
 #endif
 
 // Trainer Port
-#define TRAINER_RCC_AHB1Periph          (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_DMA1)
 #define TRAINER_GPIO                    GPIOC
 
 #define TRAINER_IN_GPIO_PIN             LL_GPIO_PIN_6  // PC.06
diff --git a/radio/src/targets/nv14/board.cpp b/radio/src/targets/nv14/board.cpp
index d5143d9b7f1..b8fbc7486ce 100644
--- a/radio/src/targets/nv14/board.cpp
+++ b/radio/src/targets/nv14/board.cpp
@@ -118,7 +118,6 @@ void delay_self(int count)
                                AUDIO_RCC_AHB1Periph |\
                                MONITOR_RCC_AHB1Periph |\
                                TELEMETRY_RCC_AHB1Periph |\
-                               TRAINER_RCC_AHB1Periph |\
                                AUDIO_RCC_AHB1Periph |\
                                HAPTIC_RCC_AHB1Periph |\
                                INTMODULE_RCC_AHB1Periph |\
diff --git a/radio/src/targets/nv14/hal.h b/radio/src/targets/nv14/hal.h
index a137a27b8c8..a1f7667594c 100644
--- a/radio/src/targets/nv14/hal.h
+++ b/radio/src/targets/nv14/hal.h
@@ -516,7 +516,6 @@
 #define HEARTBEAT_GPIO_PIN              GPIO_Pin_12 // PD.12
 
 // Trainer Port
-#define TRAINER_RCC_AHB1Periph          (RCC_AHB1Periph_GPIOD)
 #define TRAINER_GPIO                    GPIOD
 
 #define TRAINER_IN_GPIO_PIN             LL_GPIO_PIN_12 // PD.12
diff --git a/radio/src/targets/taranis/board.cpp b/radio/src/targets/taranis/board.cpp
index e56ea927991..c37c861eb0c 100644
--- a/radio/src/targets/taranis/board.cpp
+++ b/radio/src/targets/taranis/board.cpp
@@ -101,7 +101,6 @@ void boardInit()
                          EXTMODULE_RCC_AHB1Periph |
                          TELEMETRY_RCC_AHB1Periph |
                          SPORT_UPDATE_RCC_AHB1Periph |
-                         TRAINER_RCC_AHB1Periph |
                          BT_RCC_AHB1Periph |
                          USB_CHARGER_RCC_AHB1Periph,
                          ENABLE);
diff --git a/radio/src/targets/taranis/hal.h b/radio/src/targets/taranis/hal.h
index 83373ff2b94..93757f12eed 100644
--- a/radio/src/targets/taranis/hal.h
+++ b/radio/src/targets/taranis/hal.h
@@ -2035,7 +2035,6 @@
 // Trainer Port
 #if defined(PCBXLITES) || defined(PCBX9LITE)
   // on these 2 radios the trainer port already uses DMA1_Stream6, we won't use the DMA
-  #define TRAINER_RCC_AHB1Periph        RCC_AHB1Periph_GPIOD
   #define TRAINER_GPIO                  GPIOD
   #define TRAINER_IN_GPIO_PIN           LL_GPIO_PIN_13 // PD.13
   #define TRAINER_IN_TIMER_Channel      LL_TIM_CHANNEL_CH2
@@ -2052,11 +2051,9 @@
   #define TRAINER_TIMER_FREQ            (PERI1_FREQUENCY * TIMER_MULT_APB1)
 #elif defined(PCBXLITE)
   #define TRAINER_TIMER                 TIM4
-  #define TRAINER_RCC_AHB1Periph        0
   #define TRAINER_TIMER_IRQn            TIM4_IRQn
   #define TRAINER_TIMER_IRQHandler      TIM4_IRQHandler
 #else
-  #define TRAINER_RCC_AHB1Periph        (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_DMA1)
   #define TRAINER_GPIO                  GPIOC
   #define TRAINER_IN_GPIO_PIN           LL_GPIO_PIN_8  // PC.08
   #define TRAINER_IN_TIMER_Channel      LL_TIM_CHANNEL_CH3