All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/4] bluetooth/gnss: GNSS support for TiWi chips
@ 2024-06-03 14:43 Andreas Kemnade
  2024-06-03 14:43 ` [PATCH v3 1/4] gnss: Add AI2 protocol used by some TI combo chips Andreas Kemnade
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Andreas Kemnade @ 2024-06-03 14:43 UTC (permalink / raw)
  To: marcel, luiz.dentz, johan, gregkh, jirislaby, andreas, pmenzel,
	linux-kernel, linux-bluetooth, Adam Ford, Tony Lindgren,
	tomi.valkeinen, Péter Ujfalusi, robh, hns

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


^ permalink raw reply	[flat|nested] 11+ messages in thread
* [PATCH v4 1/4] gnss: Add AI2 protocol used by some TI combo chips
@ 2024-06-06 18:30 Andreas Kemnade
  2024-06-06 18:59 ` Bluetooth/gnss: GNSS support for TiWi chips bluez.test.bot
  0 siblings, 1 reply; 11+ messages in thread
From: Andreas Kemnade @ 2024-06-06 18:30 UTC (permalink / raw)
  To: marcel, luiz.dentz, johan, pmenzel, jirislaby, andreas, gregkh,
	linux-kernel, linux-bluetooth, Adam Ford, Tony Lindgren,
	tomi.valkeinen, Péter Ujfalusi, robh, hns

Texas Instruments uses something called Air Independent Interface (AI2) for
their WLAN/BT/GPS combo chips.

No public documentation is available, but allow that protocol to be
specified.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
---
 drivers/gnss/core.c  | 1 +
 include/linux/gnss.h | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/gnss/core.c b/drivers/gnss/core.c
index 48f2ee0f78c4d..cac9f45aec4b2 100644
--- a/drivers/gnss/core.c
+++ b/drivers/gnss/core.c
@@ -335,6 +335,7 @@ static const char * const gnss_type_names[GNSS_TYPE_COUNT] = {
 	[GNSS_TYPE_SIRF]	= "SiRF",
 	[GNSS_TYPE_UBX]		= "UBX",
 	[GNSS_TYPE_MTK]		= "MTK",
+	[GNSS_TYPE_AI2]		= "AI2",
 };
 
 static const char *gnss_type_name(const struct gnss_device *gdev)
diff --git a/include/linux/gnss.h b/include/linux/gnss.h
index 36968a0f33e8d..16b565dab83ea 100644
--- a/include/linux/gnss.h
+++ b/include/linux/gnss.h
@@ -23,6 +23,7 @@ enum gnss_type {
 	GNSS_TYPE_SIRF,
 	GNSS_TYPE_UBX,
 	GNSS_TYPE_MTK,
+	GNSS_TYPE_AI2,
 
 	GNSS_TYPE_COUNT
 };
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [RFC PATCH v2 1/3] gnss: Add AI2 protocol used by some TI combo chips.
@ 2024-01-28 17:33 Andreas Kemnade
  2024-01-28 18:33 ` bluetooth/gnss: GNSS support for TiWi chips bluez.test.bot
  0 siblings, 1 reply; 11+ messages in thread
From: Andreas Kemnade @ 2024-01-28 17:33 UTC (permalink / raw)
  To: marcel, johan.hedberg, luiz.dentz, johan, jirislaby, andreas,
	gregkh, linux-kernel, linux-bluetooth, Adam Ford, Tony Lindgren,
	tomi.valkeinen, Péter Ujfalusi, robh, hns

Texas Instruments uses something called Air Independent Interface (AI2) for
their WLAN/BT/GPS combo chips.
No public documentation is available, but allow that protocol to be
specified.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
---
 drivers/gnss/core.c  | 1 +
 include/linux/gnss.h | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/gnss/core.c b/drivers/gnss/core.c
index 48f2ee0f78c4d..cac9f45aec4b2 100644
--- a/drivers/gnss/core.c
+++ b/drivers/gnss/core.c
@@ -335,6 +335,7 @@ static const char * const gnss_type_names[GNSS_TYPE_COUNT] = {
 	[GNSS_TYPE_SIRF]	= "SiRF",
 	[GNSS_TYPE_UBX]		= "UBX",
 	[GNSS_TYPE_MTK]		= "MTK",
+	[GNSS_TYPE_AI2]		= "AI2",
 };
 
 static const char *gnss_type_name(const struct gnss_device *gdev)
diff --git a/include/linux/gnss.h b/include/linux/gnss.h
index 36968a0f33e8d..16b565dab83ea 100644
--- a/include/linux/gnss.h
+++ b/include/linux/gnss.h
@@ -23,6 +23,7 @@ enum gnss_type {
 	GNSS_TYPE_SIRF,
 	GNSS_TYPE_UBX,
 	GNSS_TYPE_MTK,
+	GNSS_TYPE_AI2,
 
 	GNSS_TYPE_COUNT
 };
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 11+ messages in thread
* [RFC PATCH 1/3] gnss: Add AI2 protocol used by some TI combo chips.
@ 2023-11-26 19:18 Andreas Kemnade
  2023-11-26 20:32 ` bluetooth/gnss: GNSS support for TiWi chips bluez.test.bot
  0 siblings, 1 reply; 11+ messages in thread
From: Andreas Kemnade @ 2023-11-26 19:18 UTC (permalink / raw)
  To: marcel, johan.hedberg, luiz.dentz, johan, arnd, gregkh, andreas,
	linux-bluetooth, linux-kernel, tomi.valkeinen, Tony Lindgren,
	Péter Ujfalusi, robh

Texas Instruments uses something called Air Independent Interface (AI2) for
their WLAN/BT/GPS combo chips.
No public documentation is available, by looking into captured data, it
becomes clear that you can either raw data or encapsulated NMEA after some
initialization commands.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
---
 drivers/gnss/core.c  | 1 +
 include/linux/gnss.h | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/gnss/core.c b/drivers/gnss/core.c
index 48f2ee0f78c4d..cac9f45aec4b2 100644
--- a/drivers/gnss/core.c
+++ b/drivers/gnss/core.c
@@ -335,6 +335,7 @@ static const char * const gnss_type_names[GNSS_TYPE_COUNT] = {
 	[GNSS_TYPE_SIRF]	= "SiRF",
 	[GNSS_TYPE_UBX]		= "UBX",
 	[GNSS_TYPE_MTK]		= "MTK",
+	[GNSS_TYPE_AI2]		= "AI2",
 };
 
 static const char *gnss_type_name(const struct gnss_device *gdev)
diff --git a/include/linux/gnss.h b/include/linux/gnss.h
index 36968a0f33e8d..16b565dab83ea 100644
--- a/include/linux/gnss.h
+++ b/include/linux/gnss.h
@@ -23,6 +23,7 @@ enum gnss_type {
 	GNSS_TYPE_SIRF,
 	GNSS_TYPE_UBX,
 	GNSS_TYPE_MTK,
+	GNSS_TYPE_AI2,
 
 	GNSS_TYPE_COUNT
 };
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-06-06 18:59 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-03 14:43 [PATCH v3 0/4] bluetooth/gnss: GNSS support for TiWi chips Andreas Kemnade
2024-06-03 14:43 ` [PATCH v3 1/4] gnss: Add AI2 protocol used by some TI combo chips Andreas Kemnade
2024-06-03 15:34   ` bluetooth/gnss: GNSS support for TiWi chips bluez.test.bot
2024-06-03 14:43 ` [PATCH v3 2/4] Bluetooth: ti-st: Add GNSS subdevice for TI Wilink chips Andreas Kemnade
2024-06-03 14:43 ` [PATCH v3 3/4] gnss: Add driver for AI2 protocol Andreas Kemnade
2024-06-04  0:46   ` kernel test robot
2024-06-04 11:29   ` kernel test robot
2024-06-03 14:44 ` [PATCH RFC v3 4/4] gnss: ai2: replace long sleeps by wait for acks Andreas Kemnade
  -- strict thread matches above, loose matches on Subject: below --
2024-06-06 18:30 [PATCH v4 1/4] gnss: Add AI2 protocol used by some TI combo chips Andreas Kemnade
2024-06-06 18:59 ` Bluetooth/gnss: GNSS support for TiWi chips bluez.test.bot
2024-01-28 17:33 [RFC PATCH v2 1/3] gnss: Add AI2 protocol used by some TI combo chips Andreas Kemnade
2024-01-28 18:33 ` bluetooth/gnss: GNSS support for TiWi chips bluez.test.bot
2023-11-26 19:18 [RFC PATCH 1/3] gnss: Add AI2 protocol used by some TI combo chips Andreas Kemnade
2023-11-26 20:32 ` bluetooth/gnss: GNSS support for TiWi chips bluez.test.bot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.