|
|
Log in / Subscribe / Register

bluetooth/gnss: GNSS support for TiWi chips

From:  Andreas Kemnade <andreas-AT-kemnade.info>
To:  marcel-AT-holtmann.org, luiz.dentz-AT-gmail.com, johan-AT-kernel.org, gregkh-AT-linuxfoundation.org, jirislaby-AT-kernel.org, andreas-AT-kemnade.info, pmenzel-AT-molgen.mpg.de, linux-kernel-AT-vger.kernel.org, linux-bluetooth-AT-vger.kernel.org, Adam Ford <aford173-AT-gmail.com>, Tony Lindgren <tony-AT-atomide.com>, tomi.valkeinen-AT-ideasonboard.com, Péter Ujfalusi <peter.ujfalusi-AT-gmail.com>, robh-AT-kernel.org, hns-AT-goldelico.com
Subject:  [PATCH v3 0/4] bluetooth/gnss: GNSS support for TiWi chips
Date:  Mon, 03 Jun 2024 16:43:56 +0200
Message-ID:  <20240603144400.2195564-1-andreas@kemnade.info>
Archive-link:  Article

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




Copyright © 2024, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds