From: Lee Jones <lee.jones@linaro.org>
To: Dmitry Osipenko <digetx@gmail.com>
Cc: "Tony Lindgren" <tony@atomide.com>,
"Thierry Reding" <thierry.reding@gmail.com>,
"Jonathan Hunter" <jonathanh@nvidia.com>,
"Michał Mirosław" <mirq-linux@rere.qmqm.pl>,
"Zack Pearsall" <zpearsall@yahoo.com>,
linux-tegra@vger.kernel.org, linux-omap@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] mfd: tps65910: Correct power-off programming sequence
Date: Tue, 26 May 2020 09:24:40 +0100 [thread overview]
Message-ID: <20200526082440.GI3628@dell> (raw)
In-Reply-To: <20200524192643.18207-1-digetx@gmail.com>
On Sun, 24 May 2020, Dmitry Osipenko wrote:
> This patch fixes system shutdown on a devices that use TPS65910 as a
> system's power controller. In accordance to the TPS65910 datasheet, the
> PMIC's state-machine transitions into the OFF state only when DEV_OFF
> bit of DEVCTRL_REG is set. The ON / SLEEP states also should be cleared,
> otherwise PMIC won't get into a proper state on shutdown. Devices like
> Nexus 7 tablet and Ouya game console are now shutting down properly.
>
> Tested-by: Zack Pearsall <zpearsall@yahoo.com>
> Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
> ---
>
> Changelog:
>
> v2: - Now using a single tps65910_reg_update_bits() instead of set+clear.
> Thanks to Michał Mirosław for the suggestion.
Michał should review.
> drivers/mfd/tps65910.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mfd/tps65910.c b/drivers/mfd/tps65910.c
> index 11959021b50a..3f4483dec871 100644
> --- a/drivers/mfd/tps65910.c
> +++ b/drivers/mfd/tps65910.c
> @@ -440,8 +440,13 @@ static void tps65910_power_off(void)
> DEVCTRL_PWR_OFF_MASK) < 0)
> return;
>
> - tps65910_reg_clear_bits(tps65910, TPS65910_DEVCTRL,
> - DEVCTRL_DEV_ON_MASK);
> + if (tps65910_reg_clear_bits(tps65910, TPS65910_DEVCTRL,
> + DEVCTRL_DEV_SLP_MASK) < 0)
> + return;
> +
> + tps65910_reg_update_bits(tps65910, TPS65910_DEVCTRL,
> + DEVCTRL_DEV_OFF_MASK | DEVCTRL_DEV_ON_MASK,
> + DEVCTRL_DEV_OFF_MASK);
> }
>
> static int tps65910_i2c_probe(struct i2c_client *i2c,
--
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
To: Dmitry Osipenko <digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: "Tony Lindgren" <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>,
"Thierry Reding"
<thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"Jonathan Hunter"
<jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
"Michał Mirosław"
<mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>,
"Zack Pearsall"
<zpearsall-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>,
linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v2] mfd: tps65910: Correct power-off programming sequence
Date: Tue, 26 May 2020 09:24:40 +0100 [thread overview]
Message-ID: <20200526082440.GI3628@dell> (raw)
In-Reply-To: <20200524192643.18207-1-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
On Sun, 24 May 2020, Dmitry Osipenko wrote:
> This patch fixes system shutdown on a devices that use TPS65910 as a
> system's power controller. In accordance to the TPS65910 datasheet, the
> PMIC's state-machine transitions into the OFF state only when DEV_OFF
> bit of DEVCTRL_REG is set. The ON / SLEEP states also should be cleared,
> otherwise PMIC won't get into a proper state on shutdown. Devices like
> Nexus 7 tablet and Ouya game console are now shutting down properly.
>
> Tested-by: Zack Pearsall <zpearsall-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>
> Signed-off-by: Dmitry Osipenko <digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> ---
>
> Changelog:
>
> v2: - Now using a single tps65910_reg_update_bits() instead of set+clear.
> Thanks to Michał Mirosław for the suggestion.
Michał should review.
> drivers/mfd/tps65910.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mfd/tps65910.c b/drivers/mfd/tps65910.c
> index 11959021b50a..3f4483dec871 100644
> --- a/drivers/mfd/tps65910.c
> +++ b/drivers/mfd/tps65910.c
> @@ -440,8 +440,13 @@ static void tps65910_power_off(void)
> DEVCTRL_PWR_OFF_MASK) < 0)
> return;
>
> - tps65910_reg_clear_bits(tps65910, TPS65910_DEVCTRL,
> - DEVCTRL_DEV_ON_MASK);
> + if (tps65910_reg_clear_bits(tps65910, TPS65910_DEVCTRL,
> + DEVCTRL_DEV_SLP_MASK) < 0)
> + return;
> +
> + tps65910_reg_update_bits(tps65910, TPS65910_DEVCTRL,
> + DEVCTRL_DEV_OFF_MASK | DEVCTRL_DEV_ON_MASK,
> + DEVCTRL_DEV_OFF_MASK);
> }
>
> static int tps65910_i2c_probe(struct i2c_client *i2c,
--
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2020-05-26 8:24 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-24 19:26 [PATCH v2] mfd: tps65910: Correct power-off programming sequence Dmitry Osipenko
2020-05-24 19:26 ` Dmitry Osipenko
2020-05-26 8:24 ` Lee Jones [this message]
2020-05-26 8:24 ` Lee Jones
2020-05-26 15:01 ` Michał Mirosław
2020-05-26 15:01 ` Michał Mirosław
2020-05-27 15:03 ` Dmitry Osipenko
2020-05-27 15:03 ` Dmitry Osipenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200526082440.GI3628@dell \
--to=lee.jones@linaro.org \
--cc=digetx@gmail.com \
--cc=jonathanh@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=mirq-linux@rere.qmqm.pl \
--cc=thierry.reding@gmail.com \
--cc=tony@atomide.com \
--cc=zpearsall@yahoo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.