This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

reintialize wl128x shared transport after resume



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!

  • Hi,

    I think by doing this you are trying to solve the connection mechanism between Application and BT chip from host side. Even if you get a mechanism to download the firmware.

    You will not be able to hold the connection between BT chip and external device... Assuming external device tries to wake BT chip. and in now you are trying to download the firmware ....

    I hope you understand my point here..

    If you are ok to loose the connection with external device.. then best would be to reload the driver so that state machine is intact..

    If it is possible avoid suspend if BT is being used until new hardware spin happens...

    Thanks

    Vijay