[PATCH v2] dt-bindings: gnss: u-blox: use open-drain reset and safeboot in example

Johan Hovold posted 1 patch 2 months, 3 weeks ago
Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH v2] dt-bindings: gnss: u-blox: use open-drain reset and safeboot in example
Posted by Johan Hovold 2 months, 3 weeks ago
The RESET_N and SAFEBOOT_N pins should typically be left open and only
be connected to ground in rare cases where a device is misbehaving.

Specify GPIO_OPEN_DRAIN in the example as this is what should generally
be used.

Note that the current Linux driver implementation depends on these pins
being declared open-drain so that they are not driven while the main
supply is off.

Signed-off-by: Johan Hovold <johan@kernel.org>
---

Changes in v2:
 - declare the pins as both active-low and open-drain (as the former is
   no longer implied by the latter)


 Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml b/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
index 9f14cfe7efd1..d016808f65cb 100644
--- a/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
+++ b/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
@@ -67,7 +67,7 @@ examples:
             compatible = "u-blox,neo-8";
             v-bckp-supply = <&gnss_v_bckp_reg>;
             vcc-supply = <&gnss_vcc_reg>;
-            reset-gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
-            safeboot-gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+            reset-gpios = <&gpio 1 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
+            safeboot-gpios = <&gpio 2 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
         };
     };
-- 
2.51.0
Re: [PATCH v2] dt-bindings: gnss: u-blox: use open-drain reset and safeboot in example
Posted by Johan Hovold 2 months, 2 weeks ago
On Fri, Nov 14, 2025 at 04:54:13PM +0100, Johan Hovold wrote:
> The RESET_N and SAFEBOOT_N pins should typically be left open and only
> be connected to ground in rare cases where a device is misbehaving.
> 
> Specify GPIO_OPEN_DRAIN in the example as this is what should generally
> be used.
> 
> Note that the current Linux driver implementation depends on these pins
> being declared open-drain so that they are not driven while the main
> supply is off.

This statement is too strong as there would typically be a level shifter
preventing the signals from being driven so I dropped this paragraph.
 
> Signed-off-by: Johan Hovold <johan@kernel.org>

Johan
Re: [PATCH v2] dt-bindings: gnss: u-blox: use open-drain reset and safeboot in example
Posted by Conor Dooley 2 months, 3 weeks ago
On Fri, Nov 14, 2025 at 04:54:13PM +0100, Johan Hovold wrote:
> The RESET_N and SAFEBOOT_N pins should typically be left open and only
> be connected to ground in rare cases where a device is misbehaving.
> 
> Specify GPIO_OPEN_DRAIN in the example as this is what should generally
> be used.
> 
> Note that the current Linux driver implementation depends on these pins
> being declared open-drain so that they are not driven while the main
> supply is off.
> 
> Signed-off-by: Johan Hovold <johan@kernel.org>

Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable


> ---
> 
> Changes in v2:
>  - declare the pins as both active-low and open-drain (as the former is
>    no longer implied by the latter)
> 
> 
>  Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml b/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
> index 9f14cfe7efd1..d016808f65cb 100644
> --- a/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
> +++ b/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
> @@ -67,7 +67,7 @@ examples:
>              compatible = "u-blox,neo-8";
>              v-bckp-supply = <&gnss_v_bckp_reg>;
>              vcc-supply = <&gnss_vcc_reg>;
> -            reset-gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
> -            safeboot-gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
> +            reset-gpios = <&gpio 1 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
> +            safeboot-gpios = <&gpio 2 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
>          };
>      };
> -- 
> 2.51.0
>