gnss: add driver for sirfstar-based receivers
authorJohan Hovold <johan@kernel.org>
Fri, 1 Jun 2018 08:22:58 +0000 (10:22 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Jun 2018 11:32:51 +0000 (20:32 +0900)
commitd2efbbd18b1e26ac79401841089e4a4b97d745c3
treefffc7d8fd715ab5d3728fdbfa37aa6f73fd1237b
parent176193b7dd6ebcb4bb843f7b08663aeeabbdeacc
gnss: add driver for sirfstar-based receivers

Add driver for serial-connected SiRFstar-based GNSS receivers.

These devices typically boot into hibernate mode from which they can be
woken using a pulse on the ON_OFF input pin. Once active, a pulse on the
same ON_OFF pin is used to put the device back into hibernate mode. The
current state can be determined by sampling the WAKEUP output.

Hardware configurations where WAKEUP has been connected to ON_OFF (and
where an initial WAKEUP pulse during boot is sufficient to have the
device boot into active mode) are also supported. In this case, device
power is managed using the main-supply regulator only.

Note that configurations where WAKEUP is left not connected, so that the
device power state can only indirectly be determined using the I/O
interface, is currently not supported. It should be fairly
straight-forward to extend the current implementation with such support
however (and this this is the main reason for not using the generic
serial implementation for this driver).

Note that timepulse-support is left unimplemented.

Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gnss/Kconfig
drivers/gnss/Makefile
drivers/gnss/sirf.c [new file with mode: 0644]