[PATCH v2 0/4] Add driver for Mediatek-based GNSS receivers

From: Loys Ollivier
Date: Thu Jan 17 2019 - 11:54:48 EST


Hi,

This patch series adds a new GNSS driver for the Mediatek-based GNSS receivers.
These receivers transmits NMEA output sequence after boot.
Power management can be done via the main supply and optional backup supply
as defined in the device tree.

The driver has been tested using a GlobalTop pa6h chipset on a Libretech-cc
board using the expansion header. Changes made in the board device tree can
be found below for reference and testing.

Loys

Sorry it took so long for the v2. Rebased that serie on 5.0-rc1 and had to send
some fixes for the board before testing.

Version 2 changes:
- driver: Renamed driver from Globaltop/gtop to Mediatek/mtk
- driver: Added "mediatek,mt3339" compatible
- dt: Renamed bindings from Globaltop to Mediatek
- dt: Moved the current-speed property as optional
- dt: removed the status line in example
- cover-letter: removed the alias that is not needed anymore

Loys Ollivier (4):
dt-bindings: Add vendor prefix for "GlobalTop Technology, Inc."
dt-bindings: gnss: add mediatek binding
gnss: add mtk receiver type support
gnss: add driver for mediatek receivers

.../devicetree/bindings/gnss/mediatek.txt | 39 ++++++
.../devicetree/bindings/vendor-prefixes.txt | 1 +
drivers/gnss/Kconfig | 13 ++
drivers/gnss/Makefile | 3 +
drivers/gnss/core.c | 1 +
drivers/gnss/mtk.c | 153 +++++++++++++++++++++
include/linux/gnss.h | 1 +
7 files changed, 211 insertions(+)
create mode 100644 Documentation/devicetree/bindings/gnss/mediatek.txt
create mode 100644 drivers/gnss/mtk.c

---
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
index 90a56af967a7..3b3d4dcc47aa 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
@@ -17,6 +17,7 @@

aliases {
serial0 = &uart_AO;
ethernet0 = &ethmac;
};

@@ -269,7 +270,20 @@
pinctrl-names = "default";
};

+/* This is brought out on the UART_A_TX (8) and UART_A_RX (10) pins: */
+&uart_A {
+ status = "okay";
+ pinctrl-0 = <&uart_a_pins>;
+ pinctrl-names = "default";
+
+ gnss {
+ compatible = "globaltop,pa6h";
+ v-bckp-supply = <&vcc_3v3>;
+ vcc-supply = <&vcc_3v3>;
+ current-speed = <9600>;
+ };
+};
+
&usb0 {
status = "okay";
};

--
2.7.4