Some of these chips have GNSS support. In some vendor kernels a driver on top of misc/ti-st can be found providing a /dev/tigps device which speaks the secretive Air Independent Interface (AI2) protocol. To be more compatible with userspace send out NMEA by default but allow a more raw mode by using a module parameter. This was tested on the Epson Moverio BT-200. Changes since V2: - Optimize waits - Fix some packet analysis / checksum computation issue - Adding a proposal for removing those waits as RFC - Minor spell corrections and improved descriptions Changes since V1: - Set up things for NMEA output - Powerup/down at open()/close() - split out logic between drivers/bluetooth and drivers/gnss - leave out drivers/misc/ti-st driver removal to avoid filling up mailboxes during the iterations, this series is still a proof that it is not needed, will take the brush after this series is accepted. Andreas Kemnade (4): gnss: Add AI2 protocol used by some TI combo chips. Bluetooth: ti-st: Add GNSS subdevice for TI Wilink chips gnss: Add driver for AI2 protocol gnss: ai2: replace long sleeps by wait for acks drivers/bluetooth/hci_ll.c | 81 +++++ drivers/gnss/Kconfig | 13 + drivers/gnss/Makefile | 3 + drivers/gnss/ai2.c | 560 +++++++++++++++++++++++++++++++++++ drivers/gnss/core.c | 1 + include/linux/gnss.h | 1 + include/linux/ti_wilink_st.h | 8 + 7 files changed, 667 insertions(+) create mode 100644 drivers/gnss/ai2.c -- 2.39.2