In our dm37x design we placed BT_EN on GPIO_162, and if I have the processor go into OFFMODE during suspend, I can't keep BE_EN high due to GPIO-162 not being in the WKUP power domain.
Since re-spinning hardware isn't a current ption I'm looking to modify the ti-st Linux driver to reinitialize the BT/GPS core by toggling BT_EN and reloading the firmware from kim_resume via deferred work. My problem is understanding the implications of doing such since I see within UIM that the baud rate can (most likely) change and need to deal with that as well as possibly stall any communications from the higher layers until after the chip has fully initialized. I'm not sure the best way to approach this.
Any suggestions on what I need to do to (and gotchas) while re-initializing the wl128x BT/GPS core when resuming from suspend OFFMODE is most appreciated!
Thanks in advance!