Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cf8207dc authored by Naresh Munagala's avatar Naresh Munagala
Browse files

drivers: gnss: Add SiRFStart GNSS chip power controls



This is a driver to handle SiRFStar GNSS chip power controls,
a device node is created to interact with driver power controls
and exposes set of IOCTLs. These IOCTLs provide mechanisms to
transition of GNSS receiver power state.

Change-Id: I96056fc860c5be66e4b5bbdfecf6b572eaae971f
Signed-off-by: default avatarNaresh Munagala <nareshm@codeaurora.org>
parent 4c16f4bd
Loading
Loading
Loading
Loading
+47 −0
Original line number Diff line number Diff line
Binding for SIRF GNSS receiver control driver
GPIO pins are toggled to control GNSS receiver power states either to
wake it from sleep or put receiver into sleep mode

Required properties:
- compatible: must be "gnss_sirf"
- #gpio-pins:
      0: GPIO 18
      1: GPIO 87

Example:
	ss5_pwr_ctrl0 {
		compatible = "gnss_sirf";
		pinctrl-0 = <&ss5_pwr_ctrl_rst_on>;
		ssVreset-gpio = <&tlmm 87 1>;
		ssVonoff-gpio = <&tlmm 18 1>;
	};

	ss5_pwr_ctrl_pins: ss5_pwr_ctrl_pins {
		ss5_pwr_ctrl_rst_on: ss5_pwr_ctrl_rst_on {
			mux {
				pins = "gpio87", "gpio18";
				function = "gpio";
			};

			config {
				pins = "gpio87", "gpio18";
				drive-strength = <16>; /* 16 mA */
				bias-pull-up;
				output-high;
			};
		};

		ss5_pwr_ctrl_rst_off: ss5_pwr_ctrl_off {
			mux {
				pins = "gpio87", "gpio18";
				function = "gpio";
			};

			config {
				pins = "gpio87", "gpio18";
				drive-strength = <16>; /* 16 mA */
				bias-pull-up;
				output-high;
			};
		};
	};
+17 −0
Original line number Diff line number Diff line
GNSS Driver for SiRFStar Chip
=============================

Description:
This is a driver to handle SiRFStar GNSS chip power controls, a device node
is created to interact with driver power controls and exposes set of IOCTLs.
These IOCTLs provide mechanisms to transition of GNSS receiver power state.

GPIO Usage:
  probe will provide GPIO pins information to driver to control GNSS power

Device Node Creation:
 A device node is will be created as /dev/gnss_sirf

Device Node Usage:
 Device node /dev/gnss_sirf can be used to control ON_OFF & RESET pins of
 SiRFStar GNSS receiver using exposed IOCTLS
+2 −0
Original line number Diff line number Diff line
@@ -71,6 +71,8 @@ source "drivers/pinctrl/Kconfig"

source "drivers/gpio/Kconfig"

source "drivers/gnsssirf/Kconfig"

source "drivers/w1/Kconfig"

source "drivers/power/Kconfig"
+2 −0
Original line number Diff line number Diff line
@@ -188,3 +188,5 @@ obj-$(CONFIG_TEE) += tee/
obj-$(CONFIG_MULTIPLEXER)	+= mux/
obj-$(CONFIG_SENSORS_SSC)	+= sensors/
obj-$(CONFIG_ESOC)              += esoc/
# GNSS driver
obj-$(CONFIG_GNSS_SIRF)		+= gnsssirf/
+11 −0
Original line number Diff line number Diff line
#
# SIRF GNSS receiver configuration
#

menu "GNSS SIRF controls"
config GNSS_SIRF
        bool "GNSS SIRF"
        help
          Driver for ports of GNSS SIRF functionality

endmenu
Loading