Messages in this thread | | | Date | Mon, 16 Oct 2023 15:55:17 +0200 | From | Johan Hovold <> | Subject | Re: [PATCH v3 3/3] gnss: ubx: add support for the reset gpio |
| |
On Thu, Sep 21, 2023 at 03:32:01PM +0200, Wolfram Sang wrote: > Tested with a Renesas KingFisher board. Because my GNSS device is hooked > up via UART and I2C simultaneously, I could verify functionality by > opening/closing the GNSS device using UART and see if the corresponding > I2C device was visible on the bus.
Again, please try to make the commit message self-contained (e.g. without implicitly referring to Subject).
Also say something about which u-blox module this is needed for since the modules I've seen do not have a reset line.
> static int ubx_set_active(struct gnss_serial *gserial) > @@ -29,6 +31,8 @@ static int ubx_set_active(struct gnss_serial *gserial) > if (ret) > return ret; > > + gpiod_set_value_cansleep(data->reset_gpio, 0); > + > return 0; > } > > @@ -37,6 +41,8 @@ static int ubx_set_standby(struct gnss_serial *gserial) > struct ubx_data *data = gnss_serial_get_drvdata(gserial); > int ret; > > + gpiod_set_value_cansleep(data->reset_gpio, 1); > + > ret = regulator_disable(data->vcc); > if (ret) > return ret; > @@ -90,6 +96,13 @@ static int ubx_probe(struct serdev_device *serdev) > if (ret < 0 && ret != -ENODEV) > goto err_free_gserial; > > + /* Start with reset asserted */ > + data->reset_gpio = devm_gpiod_get_optional(&serdev->dev, "reset", GPIOD_OUT_HIGH); > + if (IS_ERR(data->reset_gpio)) { > + ret = PTR_ERR(data->reset_gpio); > + goto err_free_gserial; > + }
So this means that the reset line will be asserted indefinitely in case the GNSS receiver is not used. Are you sure that's a good idea?
I don't know yet which module this is for, or how this signal is supposed to be used, but the above makes this look more like an active-high (regulator) enable signal. Perhaps that's what it is or should be modelled as (i.e. as a fixed regulator).
> + > ret = gnss_serial_register(gserial); > if (ret) > goto err_free_gserial;
Johan
| |