1. 07 Jul, 2018 3 commits
  2. 06 Jul, 2018 3 commits
  3. 03 Jul, 2018 28 commits
  4. 28 Jun, 2018 6 commits
    • Johan Hovold's avatar
      gnss: add receiver type support · 10f14663
      Johan Hovold authored
      Add a "type" device attribute and a "GNSS_TYPE" uevent variable which
      can be used to determine the type of a GNSS receiver. The currently
      identified types reflect the protocol(s) supported by a receiver:
      
      	"NMEA"	NMEA 0183
      	"SiRF"	SiRF Binary
      	"UBX"	UBX
      
      Note that both SiRF and UBX type receivers typically support a subset of
      NMEA 0183 with vendor extensions (e.g. to allow switching to the vendor
      protocol).
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      10f14663
    • Johan Hovold's avatar
      gnss: add driver for sirfstar-based receivers · d2efbbd1
      Johan Hovold authored
      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: default avatarJohan Hovold <johan@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d2efbbd1
    • Johan Hovold's avatar
      dt-bindings: gnss: add sirfstar binding · 176193b7
      Johan Hovold authored
      Add binding for SiRFstar-based GNSS receivers.
      
      Note that while four compatible-strings are initially added representing
      devices which differ in which I/O interfaces they support, they
      otherwise essentially share the same feature set.
      
      Pin and supply names vary slightly, as do some recommended timings.
      
      Note that the wakeup gpio is not intended to be used as a wakeup source,
      but rather to detect the current power state of the device (active or
      hibernate).
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      176193b7
    • Johan Hovold's avatar
      gnss: add driver for u-blox receivers · 1ad69f10
      Johan Hovold authored
      Add driver for serial-connected u-blox GNSS receivers.
      
      Note that the driver uses the generic GNSS serial implementation and
      therefore essentially only manages power abstracted into three power
      states: ACTIVE, STANDBY, and OFF.
      
      For u-blox receivers with a main supply and no enable-gpios, this simply
      means that the main supply is disabled in STANDBY and OFF (the optional
      backup supply is kept enabled while the driver is bound).
      
      Note that timepulse-support is not yet implemented.
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1ad69f10
    • Johan Hovold's avatar
      dt-bindings: gnss: add u-blox binding · cf408372
      Johan Hovold authored
      Add binding for u-blox GNSS receivers.
      
      Note that the u-blox product names encodes form factor (e.g. "neo"),
      chipset (e.g. "8") and variant (e.g. "q"), but that only formfactor and
      chipset is used for the compatible strings (for now).
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cf408372
    • Johan Hovold's avatar
      gnss: add generic serial driver · 37768b05
      Johan Hovold authored
      Add a generic serial GNSS driver (library) which provides a common
      implementation for the gnss interface and power management (runtime and
      system suspend). This allows GNSS drivers for specific chip to be
      implemented by simply providing a set_power() callback to handle three
      states: ACTIVE, STANDBY and OFF.
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      37768b05