GNSS updates for 6.19-rc1

Here are the GNSS updates for 6.19-rc1, including:
 
  - add support for claiming and deasserting the safeboot pin found on
    recent u-blox receivers
  - fix timepulse pin description in the devicetree binding
 
 Included are also some related binding updates.
 
 All have been in linux-next with no reported issues.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQHbPq+cpGvN/peuzMLxc3C7H1lCAUCaS19CQAKCRALxc3C7H1l
 CAbaAP9zkCo0ktuYLP6rBQv3Kp2GqQt/K2w+P+A+AUNU4T3c4QD/ZdQEMPqBUX5L
 rGktYc/rFqWetfv8iuOEl1xBaOVayAY=
 =391d
 -----END PGP SIGNATURE-----

Merge tag 'gnss-6.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/gnss

Pull GNSS updates from Johan Hovold:

 - add support for claiming and deasserting the safeboot pin found on
   recent u-blox receivers

 - fix timepulse pin description in the devicetree binding

... and some related binding updates

* tag 'gnss-6.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/gnss:
  dt-bindings: gnss: fix timepulse description
  dt-bindings: gnss: u-blox: use lowercase company name
  dt-bindings: gnss: u-blox: use open-drain reset and safeboot in example
  gnss: ubx: add support for the safeboot gpio
  dt-bindings: gnss: u-blox: add safeboot gpio
This commit is contained in:
Linus Torvalds 2025-12-04 11:37:13 -08:00
commit fca5327eaa
3 changed files with 16 additions and 5 deletions

View File

@ -31,8 +31,7 @@ properties:
maxItems: 1 maxItems: 1
timepulse-gpios: timepulse-gpios:
description: When a timepulse is provided to the GNSS device using a description: Timepulse signal
GPIO line, this is used.
maxItems: 1 maxItems: 1
additionalProperties: true additionalProperties: true

View File

@ -4,7 +4,7 @@
$id: http://devicetree.org/schemas/gnss/u-blox,neo-6m.yaml# $id: http://devicetree.org/schemas/gnss/u-blox,neo-6m.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml#
title: U-blox GNSS Receiver title: u-blox GNSS receiver
allOf: allOf:
- $ref: gnss-common.yaml# - $ref: gnss-common.yaml#
@ -14,7 +14,7 @@ maintainers:
- Johan Hovold <johan@kernel.org> - Johan Hovold <johan@kernel.org>
description: > description: >
The U-blox GNSS receivers can use UART, DDC (I2C), SPI and USB interfaces. The u-blox GNSS receivers can use UART, DDC (I2C), SPI and USB interfaces.
properties: properties:
compatible: compatible:
@ -36,6 +36,9 @@ properties:
reset-gpios: reset-gpios:
maxItems: 1 maxItems: 1
safeboot-gpios:
maxItems: 1
vcc-supply: vcc-supply:
description: > description: >
Main voltage regulator Main voltage regulator
@ -64,6 +67,7 @@ examples:
compatible = "u-blox,neo-8"; compatible = "u-blox,neo-8";
v-bckp-supply = <&gnss_v_bckp_reg>; v-bckp-supply = <&gnss_v_bckp_reg>;
vcc-supply = <&gnss_vcc_reg>; vcc-supply = <&gnss_vcc_reg>;
reset-gpios = <&gpio 1 GPIO_ACTIVE_LOW>; reset-gpios = <&gpio 1 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
safeboot-gpios = <&gpio 2 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
}; };
}; };

View File

@ -66,6 +66,7 @@ static const struct gnss_serial_ops ubx_gserial_ops = {
static int ubx_probe(struct serdev_device *serdev) static int ubx_probe(struct serdev_device *serdev)
{ {
struct gnss_serial *gserial; struct gnss_serial *gserial;
struct gpio_desc *safeboot;
struct gpio_desc *reset; struct gpio_desc *reset;
struct ubx_data *data; struct ubx_data *data;
int ret; int ret;
@ -92,6 +93,13 @@ static int ubx_probe(struct serdev_device *serdev)
if (ret < 0 && ret != -ENODEV) if (ret < 0 && ret != -ENODEV)
goto err_free_gserial; goto err_free_gserial;
/* Deassert safeboot */
safeboot = devm_gpiod_get_optional(&serdev->dev, "safeboot", GPIOD_OUT_LOW);
if (IS_ERR(safeboot)) {
ret = PTR_ERR(safeboot);
goto err_free_gserial;
}
/* Deassert reset */ /* Deassert reset */
reset = devm_gpiod_get_optional(&serdev->dev, "reset", GPIOD_OUT_LOW); reset = devm_gpiod_get_optional(&serdev->dev, "reset", GPIOD_OUT_LOW);
if (IS_ERR(reset)) { if (IS_ERR(reset)) {