diff --git a/examples/platforms/nrf52840/platform-config.h b/examples/platforms/nrf52840/platform-config.h index 6f36850cc..7b6b78e0b 100644 --- a/examples/platforms/nrf52840/platform-config.h +++ b/examples/platforms/nrf52840/platform-config.h @@ -435,6 +435,20 @@ #define OPENTHREAD_PLATFORM_USE_PSEUDO_RESET USB_CDC_AS_SERIAL_TRANSPORT #endif +/******************************************************************************* + * @section Platform FEM Configuration + ******************************************************************************/ + +/** + * @def PLATFORM_FEM_ENABLE_DEFAULT_CONFIG + * + * Enable default front end module configuration. + * + */ +#ifndef PLATFORM_FEM_ENABLE_DEFAULT_CONFIG +#define PLATFORM_FEM_ENABLE_DEFAULT_CONFIG 0 +#endif + /******************************************************************************* * @section Radio driver configuration. ******************************************************************************/ diff --git a/examples/platforms/nrf52840/platform-fem.h b/examples/platforms/nrf52840/platform-fem.h index d279f7ff5..d49c19de5 100644 --- a/examples/platforms/nrf52840/platform-fem.h +++ b/examples/platforms/nrf52840/platform-fem.h @@ -45,29 +45,29 @@ #define PLATFORM_FEM_DEFAULT_CLR_PPI_CHANNEL 19 /**< Default PPI channel for pin clearing. */ #define PLATFORM_FEM_DEFAULT_TIMER_MATCH_PPI_GROUP 4 /**< Default PPI channel group used to disable timer match PPI. */ #define PLATFORM_FEM_DEFAULT_RADIO_DISABLED_PPI_GROUP 5 /**< Default PPI channel group used to disable radio disabled PPI. */ -#define PLATFORM_FEM_DEFAULT_GPIOTE_CHANNEL 7 /**< Default GPIOTE channel for FEM control. */ +#define PLATFORM_FEM_DEFAULT_LNA_GPIOTE_CHANNEL 6 /**< Default LNA GPIOTE channel for FEM control. */ +#define PLATFORM_FEM_DEFAULT_PA_GPIOTE_CHANNEL 7 /**< Default PA GPIOTE channel for FEM control. */ // clang-format on -#define PLATFORM_FEM_DEFAULT_CONFIG \ - ((PlatformFemConfigParams){ \ - .mPaCfg = \ - { \ - .mEnable = 1, \ - .mActiveHigh = 1, \ - .mGpioPin = PLATFORM_FEM_DEFAULT_PA_PIN, \ - }, \ - .mLnaCfg = \ - { \ - .mEnable = 1, \ - .mActiveHigh = 1, \ - .mGpioPin = PLATFORM_FEM_DEFAULT_LNA_PIN, \ - }, \ - .mPpiChIdClr = PLATFORM_FEM_DEFAULT_CLR_PPI_CHANNEL, \ - .mPpiChIdSet = PLATFORM_FEM_DEFAULT_SET_PPI_CHANNEL, \ - .mTimerPpiGrp = PLATFORM_FEM_DEFAULT_TIMER_MATCH_PPI_GROUP, \ - .mRadioPpiGrp = PLATFORM_FEM_DEFAULT_RADIO_DISABLED_PPI_GROUP, \ - .mGpioteChId = PLATFORM_FEM_DEFAULT_GPIOTE_CHANNEL, \ +#define PLATFORM_FEM_DEFAULT_CONFIG \ + ((PlatformFemConfigParams){ \ + .mPaCfg = \ + { \ + .mEnable = 1, \ + .mActiveHigh = 1, \ + .mGpioPin = PLATFORM_FEM_DEFAULT_PA_PIN, \ + }, \ + .mLnaCfg = \ + { \ + .mEnable = 1, \ + .mActiveHigh = 1, \ + .mGpioPin = PLATFORM_FEM_DEFAULT_LNA_PIN, \ + }, \ + .mPpiChIdClr = PLATFORM_FEM_DEFAULT_CLR_PPI_CHANNEL, \ + .mPpiChIdSet = PLATFORM_FEM_DEFAULT_SET_PPI_CHANNEL, \ + .mGpiotePaChId = PLATFORM_FEM_DEFAULT_PA_GPIOTE_CHANNEL, \ + .mGpioteLnaChId = PLATFORM_FEM_DEFAULT_LNA_GPIOTE_CHANNEL, \ }) /** diff --git a/examples/platforms/nrf52840/system.c b/examples/platforms/nrf52840/system.c index 446a5650c..20b21896c 100644 --- a/examples/platforms/nrf52840/system.c +++ b/examples/platforms/nrf52840/system.c @@ -38,6 +38,7 @@ #include #include "openthread-system.h" +#include "platform-fem.h" #include "platform-nrf5.h" #include #include @@ -87,6 +88,10 @@ void otSysInit(int argc, char *argv[]) nrf5RadioInit(); nrf5TempInit(); +#if PLATFORM_FEM_ENABLE_DEFAULT_CONFIG + PlatformFemSetConfigParams(&PLATFORM_FEM_DEFAULT_CONFIG); +#endif + gPlatformPseudoResetWasRequested = false; }