At certain times, I would like to disable the SoftDevice's control of the PA/LNA control lines and return them to normal GPIO lines.
When the SoftDevice is using the provided GPIOTE channel to control the PA & LNA control lines, is it updating the gpiote_control_block_t struct provided by the nrfx_gpiote.c driver as it turns the PA/LNA on and off?
My worry is this: if the SoftDevice updates the control block that is part of the GPIOTE driver, then calling nrfx_gpiote_out_uninit()may fail depending on which pin (PA enable or LNA enable) is assigned to the allocated GPIOTE channel at the time the nrfx_gpiote_out_uninit() function is called.
After calling sd_ble_opt_set(BLE_COMMON_OPT_PA_LNA, &opt) (with opt initialized to all 0's), should it work to simply call nrfx_gpiote_out_uninit()on whatever pin number is used to first allocate the GPIOTE channel? (This is, if a PA pin is provided calling the nrfx_gpiote_out_uinit() function with the PA pin and if only a LNA pin is provided, calling nrfx_gpiote_out_uinit() function with the LNA pin.)
Thank you,
Kyle