diff --git a/firmware/application/clock_manager.cpp b/firmware/application/clock_manager.cpp index 555eb09bc..594860f44 100644 --- a/firmware/application/clock_manager.cpp +++ b/firmware/application/clock_manager.cpp @@ -419,7 +419,11 @@ std::string ClockManager::get_freq() { to_string_dec_uint((reference.frequency % 1000000) / 100, 4, '0') + " MHz"; } -static void portapack_tcxo_enable() { +void ClockManager::portapack_tcxo_enable() { +#ifdef PRALINE + gpio_control::clkin_ctrl.setActive(); + set_p1_control(P1_Function::P22_ClkIn); +#endif portapack::io.reference_oscillator(true); /* Delay >10ms at 96MHz clock speed for reference oscillator to start. */ @@ -428,7 +432,10 @@ static void portapack_tcxo_enable() { while (delay--); } -static void portapack_tcxo_disable() { +void ClockManager::portapack_tcxo_disable() { +#ifdef PRALINE + gpio_control::clkin_ctrl.setInactive(); +#endif portapack::io.reference_oscillator(false); } diff --git a/firmware/application/clock_manager.hpp b/firmware/application/clock_manager.hpp index e83ba510e..caa6edab2 100644 --- a/firmware/application/clock_manager.hpp +++ b/firmware/application/clock_manager.hpp @@ -116,6 +116,9 @@ class ClockManager { void enable_clock_output(bool enable); + void portapack_tcxo_enable(); + void portapack_tcxo_disable(); + private: I2C& i2c0; si5351::Si5351& clock_generator; diff --git a/firmware/common/gpio.hpp b/firmware/common/gpio.hpp index 477d20965..3b3ad178a 100644 --- a/firmware/common/gpio.hpp +++ b/firmware/common/gpio.hpp @@ -361,8 +361,8 @@ constexpr PinMap map_p1_ctrl0{2, 10, 0, 14, 0}; // SCU: 2, 10 | GPIO: 0, 14 constexpr PinMap map_p1_ctrl1{6, 8, 5, 16, 4}; constexpr PinMap map_p1_ctrl2{6, 9, 3, 5, 0}; -constexpr PinMap map_p2_ctrl0{8, 3, 7, 3, 4}; -constexpr PinMap map_p2_ctrl1{8, 4, 7, 4, 4}; +constexpr PinMap map_p2_ctrl0{8, 3, 7, 3, 0}; +constexpr PinMap map_p2_ctrl1{8, 4, 7, 4, 0}; constexpr PinMap map_trigger_out{2, 6, 5, 6, 4}; constexpr PinMap map_trigger_in{13, 12, 6, 26, 4};