All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robin Gong <yibin.gong@nxp.com>
To: Oleksij Rempel <o.rempel@pengutronix.de>,
	Shawn Guo <shawnguo@kernel.org>, Mark Brown <broonie@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
Cc: "kernel@pengutronix.de" <kernel@pengutronix.de>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Leonard Crestez <leonard.crestez@nxp.com>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@codeaurora.org>,
	Fabio Estevam <fabio.estevam@nxp.com>,
	Russell King <linux@armlinux.org.uk>,
	dl-linux-imx <linux-imx@nxp.com>,
	"A.s. Dong" <aisheng.dong@nxp.com>
Subject: RE: [PATCH v8 2/6] ARM: imx6: register pm_power_off handler if "fsl,pmic-stby-poweroff" is set
Date: Fri, 27 Jul 2018 09:15:40 +0000	[thread overview]
Message-ID: <DB6PR04MB3223A62E5609BF6431ABEA40892A0@DB6PR04MB3223.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <20180726092220.17250-3-o.rempel@pengutronix.de>



> -----Original Message-----
> From: Oleksij Rempel [mailto:o.rempel@pengutronix.de]
> Sent: 2018年7月26日 17:22
> To: Shawn Guo <shawnguo@kernel.org>; Mark Brown <broonie@kernel.org>;
> Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> Cc: Oleksij Rempel <o.rempel@pengutronix.de>; kernel@pengutronix.de;
> devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
> linux-clk@vger.kernel.org; linux-kernel@vger.kernel.org; Andrew Morton
> <akpm@linux-foundation.org>; Liam Girdwood <lgirdwood@gmail.com>;
> Leonard Crestez <leonard.crestez@nxp.com>; Rob Herring
> <robh+dt@kernel.org>; Mark Rutland <mark.rutland@arm.com>; Michael
> Turquette <mturquette@baylibre.com>; Stephen Boyd
> <sboyd@codeaurora.org>; Fabio Estevam <fabio.estevam@nxp.com>; Russell
> King <linux@armlinux.org.uk>; dl-linux-imx <linux-imx@nxp.com>; Robin Gong
> <yibin.gong@nxp.com>; A.s. Dong <aisheng.dong@nxp.com>
> Subject: [PATCH v8 2/6] ARM: imx6: register pm_power_off handler if
> "fsl,pmic-stby-poweroff" is set
> 
> One of the Freescale recommended sequences for power off with external
> PMIC is the following:
> ...
> 3.  SoC is programming PMIC for power off when standby is asserted.
> 4.  In CCM STOP mode, Standby is asserted, PMIC gates SoC supplies.
> 
> See:
> https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.
> nxp.com%2Fassets%2Fdocuments%2Fdata%2Fen%2Freference-manuals%2FIM
> X6DQRM.pdf&amp;data=02%7C01%7Cyibin.gong%40nxp.com%7C193fd19e3a
> 40416ffa4a08d5f2d9583c%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1
> %7C636681937661914076&amp;sdata=lICAelYpUh4%2Ft%2Fs7N9mdk2cLQMi
> cHcOqQ07vTOUoyNY%3D&amp;reserved=0
> page 5083
> 
> This patch implements step 4. of this sequence.
> 
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
> ---
>  arch/arm/mach-imx/pm-imx6.c | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/arch/arm/mach-imx/pm-imx6.c b/arch/arm/mach-imx/pm-imx6.c
> index 017539dd712b..2f5c643f62fb 100644
> --- a/arch/arm/mach-imx/pm-imx6.c
> +++ b/arch/arm/mach-imx/pm-imx6.c
> @@ -601,6 +601,28 @@ static void __init imx6_pm_common_init(const struct
> imx6_pm_socdata
>  				   IMX6Q_GPR1_GINT);
>  }
> 
> +static void imx6_pm_stby_poweroff(void) {
> +	imx6_set_lpm(STOP_POWER_OFF);
> +	imx6q_suspend_finish(0);
> +
> +	mdelay(1000);
> +
> +	pr_emerg("Unable to poweroff system\n"); }
> +
> +static int imx6_pm_stby_poweroff_probe(void) {
> +	if (pm_power_off) {
> +		pr_warn("%s: pm_power_off already claimed  %p %pf!\n",
> +			__func__, pm_power_off, pm_power_off);
'syscon-poweroff' and 'pmic-stby-poweroff ' should be chosen as a single
Poweroff way for any i.mx6 board. Why not delete directly 'syscon-poweroff' in dts 
to avoid such two power off ways coexist?
> +		return -EBUSY;
> +	}
> +
> +	pm_power_off = imx6_pm_stby_poweroff;
> +	return 0;
> +}
> +
>  void __init imx6_pm_ccm_init(const char *ccm_compat)  {
>  	struct device_node *np;
> @@ -617,6 +639,9 @@ void __init imx6_pm_ccm_init(const char
> *ccm_compat)
>  	val = readl_relaxed(ccm_base + CLPCR);
>  	val &= ~BM_CLPCR_LPM;
>  	writel_relaxed(val, ccm_base + CLPCR);
> +
> +	if (of_property_read_bool(np, "fsl,pmic-stby-poweroff"))
> +		imx6_pm_stby_poweroff_probe();
>  }
> 
>  void __init imx6q_pm_init(void)
> --
> 2.18.0


WARNING: multiple messages have this Message-ID (diff)
From: Robin Gong <yibin.gong@nxp.com>
To: Oleksij Rempel <o.rempel@pengutronix.de>,
	Shawn Guo <shawnguo@kernel.org>, Mark Brown <broonie@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@codeaurora.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Rob Herring <robh+dt@kernel.org>,
	dl-linux-imx <linux-imx@nxp.com>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>,
	"A.s. Dong" <aisheng.dong@nxp.com>,
	Fabio Estevam <fabio.estevam@nxp.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Morton <akpm@linux-foundation.org>,
	Leonard Crestez <leonard.crestez@nxp.com>,
	"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: RE: [PATCH v8 2/6] ARM: imx6: register pm_power_off handler if "fsl,pmic-stby-poweroff" is set
Date: Fri, 27 Jul 2018 09:15:40 +0000	[thread overview]
Message-ID: <DB6PR04MB3223A62E5609BF6431ABEA40892A0@DB6PR04MB3223.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <20180726092220.17250-3-o.rempel@pengutronix.de>



> -----Original Message-----
> From: Oleksij Rempel [mailto:o.rempel@pengutronix.de]
> Sent: 2018年7月26日 17:22
> To: Shawn Guo <shawnguo@kernel.org>; Mark Brown <broonie@kernel.org>;
> Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> Cc: Oleksij Rempel <o.rempel@pengutronix.de>; kernel@pengutronix.de;
> devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
> linux-clk@vger.kernel.org; linux-kernel@vger.kernel.org; Andrew Morton
> <akpm@linux-foundation.org>; Liam Girdwood <lgirdwood@gmail.com>;
> Leonard Crestez <leonard.crestez@nxp.com>; Rob Herring
> <robh+dt@kernel.org>; Mark Rutland <mark.rutland@arm.com>; Michael
> Turquette <mturquette@baylibre.com>; Stephen Boyd
> <sboyd@codeaurora.org>; Fabio Estevam <fabio.estevam@nxp.com>; Russell
> King <linux@armlinux.org.uk>; dl-linux-imx <linux-imx@nxp.com>; Robin Gong
> <yibin.gong@nxp.com>; A.s. Dong <aisheng.dong@nxp.com>
> Subject: [PATCH v8 2/6] ARM: imx6: register pm_power_off handler if
> "fsl,pmic-stby-poweroff" is set
> 
> One of the Freescale recommended sequences for power off with external
> PMIC is the following:
> ...
> 3.  SoC is programming PMIC for power off when standby is asserted.
> 4.  In CCM STOP mode, Standby is asserted, PMIC gates SoC supplies.
> 
> See:
> https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.
> nxp.com%2Fassets%2Fdocuments%2Fdata%2Fen%2Freference-manuals%2FIM
> X6DQRM.pdf&amp;data=02%7C01%7Cyibin.gong%40nxp.com%7C193fd19e3a
> 40416ffa4a08d5f2d9583c%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1
> %7C636681937661914076&amp;sdata=lICAelYpUh4%2Ft%2Fs7N9mdk2cLQMi
> cHcOqQ07vTOUoyNY%3D&amp;reserved=0
> page 5083
> 
> This patch implements step 4. of this sequence.
> 
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
> ---
>  arch/arm/mach-imx/pm-imx6.c | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/arch/arm/mach-imx/pm-imx6.c b/arch/arm/mach-imx/pm-imx6.c
> index 017539dd712b..2f5c643f62fb 100644
> --- a/arch/arm/mach-imx/pm-imx6.c
> +++ b/arch/arm/mach-imx/pm-imx6.c
> @@ -601,6 +601,28 @@ static void __init imx6_pm_common_init(const struct
> imx6_pm_socdata
>  				   IMX6Q_GPR1_GINT);
>  }
> 
> +static void imx6_pm_stby_poweroff(void) {
> +	imx6_set_lpm(STOP_POWER_OFF);
> +	imx6q_suspend_finish(0);
> +
> +	mdelay(1000);
> +
> +	pr_emerg("Unable to poweroff system\n"); }
> +
> +static int imx6_pm_stby_poweroff_probe(void) {
> +	if (pm_power_off) {
> +		pr_warn("%s: pm_power_off already claimed  %p %pf!\n",
> +			__func__, pm_power_off, pm_power_off);
'syscon-poweroff' and 'pmic-stby-poweroff ' should be chosen as a single
Poweroff way for any i.mx6 board. Why not delete directly 'syscon-poweroff' in dts 
to avoid such two power off ways coexist?
> +		return -EBUSY;
> +	}
> +
> +	pm_power_off = imx6_pm_stby_poweroff;
> +	return 0;
> +}
> +
>  void __init imx6_pm_ccm_init(const char *ccm_compat)  {
>  	struct device_node *np;
> @@ -617,6 +639,9 @@ void __init imx6_pm_ccm_init(const char
> *ccm_compat)
>  	val = readl_relaxed(ccm_base + CLPCR);
>  	val &= ~BM_CLPCR_LPM;
>  	writel_relaxed(val, ccm_base + CLPCR);
> +
> +	if (of_property_read_bool(np, "fsl,pmic-stby-poweroff"))
> +		imx6_pm_stby_poweroff_probe();
>  }
> 
>  void __init imx6q_pm_init(void)
> --
> 2.18.0

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Robin Gong <yibin.gong@nxp.com>
To: Oleksij Rempel <o.rempel@pengutronix.de>,
	Shawn Guo <shawnguo@kernel.org>, Mark Brown <broonie@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
Cc: "kernel@pengutronix.de" <kernel@pengutronix.de>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Leonard Crestez <leonard.crestez@nxp.com>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@codeaurora.org>,
	Fabio Estevam <fabio.estevam@nxp.com>,
	Russell King <linux@armlinux.org.uk>,
	dl-linux-imx <linux-imx@nxp.com>,
	"A.s. Dong" <aisheng.dong@nxp.com>
Subject: RE: [PATCH v8 2/6] ARM: imx6: register pm_power_off handler if "fsl,pmic-stby-poweroff" is set
Date: Fri, 27 Jul 2018 09:15:40 +0000	[thread overview]
Message-ID: <DB6PR04MB3223A62E5609BF6431ABEA40892A0@DB6PR04MB3223.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <20180726092220.17250-3-o.rempel@pengutronix.de>

DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogT2xla3NpaiBSZW1wZWwg
W21haWx0bzpvLnJlbXBlbEBwZW5ndXRyb25peC5kZV0NCj4gU2VudDogMjAxOMTqN9TCMjbI1SAx
NzoyMg0KPiBUbzogU2hhd24gR3VvIDxzaGF3bmd1b0BrZXJuZWwub3JnPjsgTWFyayBCcm93biA8
YnJvb25pZUBrZXJuZWwub3JnPjsNCj4gUmFmYWVsIEouIFd5c29ja2kgPHJhZmFlbC5qLnd5c29j
a2lAaW50ZWwuY29tPg0KPiBDYzogT2xla3NpaiBSZW1wZWwgPG8ucmVtcGVsQHBlbmd1dHJvbml4
LmRlPjsga2VybmVsQHBlbmd1dHJvbml4LmRlOw0KPiBkZXZpY2V0cmVlQHZnZXIua2VybmVsLm9y
ZzsgbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnOw0KPiBsaW51eC1jbGtAdmdl
ci5rZXJuZWwub3JnOyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBBbmRyZXcgTW9ydG9u
DQo+IDxha3BtQGxpbnV4LWZvdW5kYXRpb24ub3JnPjsgTGlhbSBHaXJkd29vZCA8bGdpcmR3b29k
QGdtYWlsLmNvbT47DQo+IExlb25hcmQgQ3Jlc3RleiA8bGVvbmFyZC5jcmVzdGV6QG54cC5jb20+
OyBSb2IgSGVycmluZw0KPiA8cm9iaCtkdEBrZXJuZWwub3JnPjsgTWFyayBSdXRsYW5kIDxtYXJr
LnJ1dGxhbmRAYXJtLmNvbT47IE1pY2hhZWwNCj4gVHVycXVldHRlIDxtdHVycXVldHRlQGJheWxp
YnJlLmNvbT47IFN0ZXBoZW4gQm95ZA0KPiA8c2JveWRAY29kZWF1cm9yYS5vcmc+OyBGYWJpbyBF
c3RldmFtIDxmYWJpby5lc3RldmFtQG54cC5jb20+OyBSdXNzZWxsDQo+IEtpbmcgPGxpbnV4QGFy
bWxpbnV4Lm9yZy51az47IGRsLWxpbnV4LWlteCA8bGludXgtaW14QG54cC5jb20+OyBSb2JpbiBH
b25nDQo+IDx5aWJpbi5nb25nQG54cC5jb20+OyBBLnMuIERvbmcgPGFpc2hlbmcuZG9uZ0BueHAu
Y29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggdjggMi82XSBBUk06IGlteDY6IHJlZ2lzdGVyIHBtX3Bv
d2VyX29mZiBoYW5kbGVyIGlmDQo+ICJmc2wscG1pYy1zdGJ5LXBvd2Vyb2ZmIiBpcyBzZXQNCj4g
DQo+IE9uZSBvZiB0aGUgRnJlZXNjYWxlIHJlY29tbWVuZGVkIHNlcXVlbmNlcyBmb3IgcG93ZXIg
b2ZmIHdpdGggZXh0ZXJuYWwNCj4gUE1JQyBpcyB0aGUgZm9sbG93aW5nOg0KPiAuLi4NCj4gMy4g
IFNvQyBpcyBwcm9ncmFtbWluZyBQTUlDIGZvciBwb3dlciBvZmYgd2hlbiBzdGFuZGJ5IGlzIGFz
c2VydGVkLg0KPiA0LiAgSW4gQ0NNIFNUT1AgbW9kZSwgU3RhbmRieSBpcyBhc3NlcnRlZCwgUE1J
QyBnYXRlcyBTb0Mgc3VwcGxpZXMuDQo+IA0KPiBTZWU6DQo+IGh0dHBzOi8vZW1lYTAxLnNhZmVs
aW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cCUzQSUyRiUyRnd3dy4NCj4gbnhw
LmNvbSUyRmFzc2V0cyUyRmRvY3VtZW50cyUyRmRhdGElMkZlbiUyRnJlZmVyZW5jZS1tYW51YWxz
JTJGSU0NCj4gWDZEUVJNLnBkZiZhbXA7ZGF0YT0wMiU3QzAxJTdDeWliaW4uZ29uZyU0MG54cC5j
b20lN0MxOTNmZDE5ZTNhDQo+IDQwNDE2ZmZhNGEwOGQ1ZjJkOTU4M2MlN0M2ODZlYTFkM2JjMmI0
YzZmYTkyY2Q5OWM1YzMwMTYzNSU3QzAlN0MxDQo+ICU3QzYzNjY4MTkzNzY2MTkxNDA3NiZhbXA7
c2RhdGE9bElDQWVsWXBVaDQlMkZ0JTJGczdOOW1kazJjTFFNaQ0KPiBjSGNPcVEwN3ZUT1VveU5Z
JTNEJmFtcDtyZXNlcnZlZD0wDQo+IHBhZ2UgNTA4Mw0KPiANCj4gVGhpcyBwYXRjaCBpbXBsZW1l
bnRzIHN0ZXAgNC4gb2YgdGhpcyBzZXF1ZW5jZS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IE9sZWtz
aWogUmVtcGVsIDxvLnJlbXBlbEBwZW5ndXRyb25peC5kZT4NCj4gLS0tDQo+ICBhcmNoL2FybS9t
YWNoLWlteC9wbS1pbXg2LmMgfCAyNSArKysrKysrKysrKysrKysrKysrKysrKysrDQo+ICAxIGZp
bGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJt
L21hY2gtaW14L3BtLWlteDYuYyBiL2FyY2gvYXJtL21hY2gtaW14L3BtLWlteDYuYw0KPiBpbmRl
eCAwMTc1MzlkZDcxMmIuLjJmNWM2NDNmNjJmYiAxMDA2NDQNCj4gLS0tIGEvYXJjaC9hcm0vbWFj
aC1pbXgvcG0taW14Ni5jDQo+ICsrKyBiL2FyY2gvYXJtL21hY2gtaW14L3BtLWlteDYuYw0KPiBA
QCAtNjAxLDYgKzYwMSwyOCBAQCBzdGF0aWMgdm9pZCBfX2luaXQgaW14Nl9wbV9jb21tb25faW5p
dChjb25zdCBzdHJ1Y3QNCj4gaW14Nl9wbV9zb2NkYXRhDQo+ICAJCQkJICAgSU1YNlFfR1BSMV9H
SU5UKTsNCj4gIH0NCj4gDQo+ICtzdGF0aWMgdm9pZCBpbXg2X3BtX3N0YnlfcG93ZXJvZmYodm9p
ZCkgew0KPiArCWlteDZfc2V0X2xwbShTVE9QX1BPV0VSX09GRik7DQo+ICsJaW14NnFfc3VzcGVu
ZF9maW5pc2goMCk7DQo+ICsNCj4gKwltZGVsYXkoMTAwMCk7DQo+ICsNCj4gKwlwcl9lbWVyZygi
VW5hYmxlIHRvIHBvd2Vyb2ZmIHN5c3RlbVxuIik7IH0NCj4gKw0KPiArc3RhdGljIGludCBpbXg2
X3BtX3N0YnlfcG93ZXJvZmZfcHJvYmUodm9pZCkgew0KPiArCWlmIChwbV9wb3dlcl9vZmYpIHsN
Cj4gKwkJcHJfd2FybigiJXM6IHBtX3Bvd2VyX29mZiBhbHJlYWR5IGNsYWltZWQgICVwICVwZiFc
biIsDQo+ICsJCQlfX2Z1bmNfXywgcG1fcG93ZXJfb2ZmLCBwbV9wb3dlcl9vZmYpOw0KJ3N5c2Nv
bi1wb3dlcm9mZicgYW5kICdwbWljLXN0YnktcG93ZXJvZmYgJyBzaG91bGQgYmUgY2hvc2VuIGFz
IGEgc2luZ2xlDQpQb3dlcm9mZiB3YXkgZm9yIGFueSBpLm14NiBib2FyZC4gV2h5IG5vdCBkZWxl
dGUgZGlyZWN0bHkgJ3N5c2Nvbi1wb3dlcm9mZicgaW4gZHRzIA0KdG8gYXZvaWQgc3VjaCB0d28g
cG93ZXIgb2ZmIHdheXMgY29leGlzdD8NCj4gKwkJcmV0dXJuIC1FQlVTWTsNCj4gKwl9DQo+ICsN
Cj4gKwlwbV9wb3dlcl9vZmYgPSBpbXg2X3BtX3N0YnlfcG93ZXJvZmY7DQo+ICsJcmV0dXJuIDA7
DQo+ICt9DQo+ICsNCj4gIHZvaWQgX19pbml0IGlteDZfcG1fY2NtX2luaXQoY29uc3QgY2hhciAq
Y2NtX2NvbXBhdCkgIHsNCj4gIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wOw0KPiBAQCAtNjE3LDYg
KzYzOSw5IEBAIHZvaWQgX19pbml0IGlteDZfcG1fY2NtX2luaXQoY29uc3QgY2hhcg0KPiAqY2Nt
X2NvbXBhdCkNCj4gIAl2YWwgPSByZWFkbF9yZWxheGVkKGNjbV9iYXNlICsgQ0xQQ1IpOw0KPiAg
CXZhbCAmPSB+Qk1fQ0xQQ1JfTFBNOw0KPiAgCXdyaXRlbF9yZWxheGVkKHZhbCwgY2NtX2Jhc2Ug
KyBDTFBDUik7DQo+ICsNCj4gKwlpZiAob2ZfcHJvcGVydHlfcmVhZF9ib29sKG5wLCAiZnNsLHBt
aWMtc3RieS1wb3dlcm9mZiIpKQ0KPiArCQlpbXg2X3BtX3N0YnlfcG93ZXJvZmZfcHJvYmUoKTsN
Cj4gIH0NCj4gDQo+ICB2b2lkIF9faW5pdCBpbXg2cV9wbV9pbml0KHZvaWQpDQo+IC0tDQo+IDIu
MTguMA0KDQo=

WARNING: multiple messages have this Message-ID (diff)
From: yibin.gong@nxp.com (Robin Gong)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v8 2/6] ARM: imx6: register pm_power_off handler if "fsl,pmic-stby-poweroff" is set
Date: Fri, 27 Jul 2018 09:15:40 +0000	[thread overview]
Message-ID: <DB6PR04MB3223A62E5609BF6431ABEA40892A0@DB6PR04MB3223.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <20180726092220.17250-3-o.rempel@pengutronix.de>



> -----Original Message-----
> From: Oleksij Rempel [mailto:o.rempel at pengutronix.de]
> Sent: 2018?7?26? 17:22
> To: Shawn Guo <shawnguo@kernel.org>; Mark Brown <broonie@kernel.org>;
> Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> Cc: Oleksij Rempel <o.rempel@pengutronix.de>; kernel at pengutronix.de;
> devicetree at vger.kernel.org; linux-arm-kernel at lists.infradead.org;
> linux-clk at vger.kernel.org; linux-kernel at vger.kernel.org; Andrew Morton
> <akpm@linux-foundation.org>; Liam Girdwood <lgirdwood@gmail.com>;
> Leonard Crestez <leonard.crestez@nxp.com>; Rob Herring
> <robh+dt@kernel.org>; Mark Rutland <mark.rutland@arm.com>; Michael
> Turquette <mturquette@baylibre.com>; Stephen Boyd
> <sboyd@codeaurora.org>; Fabio Estevam <fabio.estevam@nxp.com>; Russell
> King <linux@armlinux.org.uk>; dl-linux-imx <linux-imx@nxp.com>; Robin Gong
> <yibin.gong@nxp.com>; A.s. Dong <aisheng.dong@nxp.com>
> Subject: [PATCH v8 2/6] ARM: imx6: register pm_power_off handler if
> "fsl,pmic-stby-poweroff" is set
> 
> One of the Freescale recommended sequences for power off with external
> PMIC is the following:
> ...
> 3.  SoC is programming PMIC for power off when standby is asserted.
> 4.  In CCM STOP mode, Standby is asserted, PMIC gates SoC supplies.
> 
> See:
> https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.
> nxp.com%2Fassets%2Fdocuments%2Fdata%2Fen%2Freference-manuals%2FIM
> X6DQRM.pdf&amp;data=02%7C01%7Cyibin.gong%40nxp.com%7C193fd19e3a
> 40416ffa4a08d5f2d9583c%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1
> %7C636681937661914076&amp;sdata=lICAelYpUh4%2Ft%2Fs7N9mdk2cLQMi
> cHcOqQ07vTOUoyNY%3D&amp;reserved=0
> page 5083
> 
> This patch implements step 4. of this sequence.
> 
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
> ---
>  arch/arm/mach-imx/pm-imx6.c | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/arch/arm/mach-imx/pm-imx6.c b/arch/arm/mach-imx/pm-imx6.c
> index 017539dd712b..2f5c643f62fb 100644
> --- a/arch/arm/mach-imx/pm-imx6.c
> +++ b/arch/arm/mach-imx/pm-imx6.c
> @@ -601,6 +601,28 @@ static void __init imx6_pm_common_init(const struct
> imx6_pm_socdata
>  				   IMX6Q_GPR1_GINT);
>  }
> 
> +static void imx6_pm_stby_poweroff(void) {
> +	imx6_set_lpm(STOP_POWER_OFF);
> +	imx6q_suspend_finish(0);
> +
> +	mdelay(1000);
> +
> +	pr_emerg("Unable to poweroff system\n"); }
> +
> +static int imx6_pm_stby_poweroff_probe(void) {
> +	if (pm_power_off) {
> +		pr_warn("%s: pm_power_off already claimed  %p %pf!\n",
> +			__func__, pm_power_off, pm_power_off);
'syscon-poweroff' and 'pmic-stby-poweroff ' should be chosen as a single
Poweroff way for any i.mx6 board. Why not delete directly 'syscon-poweroff' in dts 
to avoid such two power off ways coexist?
> +		return -EBUSY;
> +	}
> +
> +	pm_power_off = imx6_pm_stby_poweroff;
> +	return 0;
> +}
> +
>  void __init imx6_pm_ccm_init(const char *ccm_compat)  {
>  	struct device_node *np;
> @@ -617,6 +639,9 @@ void __init imx6_pm_ccm_init(const char
> *ccm_compat)
>  	val = readl_relaxed(ccm_base + CLPCR);
>  	val &= ~BM_CLPCR_LPM;
>  	writel_relaxed(val, ccm_base + CLPCR);
> +
> +	if (of_property_read_bool(np, "fsl,pmic-stby-poweroff"))
> +		imx6_pm_stby_poweroff_probe();
>  }
> 
>  void __init imx6q_pm_init(void)
> --
> 2.18.0

  reply	other threads:[~2018-07-27  9:19 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-26  9:22 [PATCH v8 0/6] provide power off support for iMX6 with external PMIC Oleksij Rempel
2018-07-26  9:22 ` Oleksij Rempel
2018-07-26  9:22 ` [PATCH v8 1/6] ARM: imx6q: provide documentation for new fsl,pmic-stby-poweroff property Oleksij Rempel
2018-07-26  9:22   ` [PATCH v8 1/6] ARM: imx6q: provide documentation for new fsl, pmic-stby-poweroff property Oleksij Rempel
2018-07-26  9:51   ` [PATCH v8 1/6] ARM: imx6q: provide documentation for new fsl,pmic-stby-poweroff property Robin Gong
2018-07-26  9:51     ` Robin Gong
2018-07-26  9:51     ` Robin Gong
2018-07-26  9:51     ` Robin Gong
2018-07-26 11:37     ` Oleksij Rempel
2018-07-26 11:37       ` Oleksij Rempel
2018-07-26 11:37       ` Oleksij Rempel
2018-07-27  1:51       ` Robin Gong
2018-07-27  1:51         ` Robin Gong
2018-07-27  1:51         ` Robin Gong
2018-07-27  1:51         ` Robin Gong
2018-07-27  8:30         ` Lucas Stach
2018-07-27  8:30           ` Lucas Stach
2018-07-27  8:30           ` Lucas Stach
2018-07-27  8:30           ` Lucas Stach
2018-07-27  8:58           ` Robin Gong
2018-07-27  8:58             ` Robin Gong
2018-07-27  8:58             ` Robin Gong
2018-07-27  8:58             ` Robin Gong
2018-07-27  9:06             ` Oleksij Rempel
2018-07-27  9:06               ` Oleksij Rempel
2018-07-27  9:06               ` Oleksij Rempel
2018-07-27  9:06               ` Oleksij Rempel
2018-07-30  8:03             ` Oleksij Rempel
2018-07-30  8:03               ` Oleksij Rempel
2018-07-30  8:03               ` Oleksij Rempel
2018-08-06  2:34               ` Robin Gong
2018-08-06  2:34                 ` Robin Gong
2018-08-06  2:34                 ` Robin Gong
2018-08-06  2:34                 ` Robin Gong
2018-08-06 16:49                 ` Lucas Stach
2018-08-06 16:49                   ` Lucas Stach
2018-08-06 16:49                   ` Lucas Stach
2018-08-06 16:49                   ` Lucas Stach
2018-07-27  8:41         ` Oleksij Rempel
2018-07-27  8:41           ` Oleksij Rempel
2018-07-27  8:41           ` Oleksij Rempel
2018-07-27  8:41           ` Oleksij Rempel
2018-07-26  9:22 ` [PATCH v8 2/6] ARM: imx6: register pm_power_off handler if "fsl,pmic-stby-poweroff" is set Oleksij Rempel
2018-07-26  9:22   ` [PATCH v8 2/6] ARM: imx6: register pm_power_off handler if "fsl, pmic-stby-poweroff" " Oleksij Rempel
2018-07-27  9:15   ` Robin Gong [this message]
2018-07-27  9:15     ` [PATCH v8 2/6] ARM: imx6: register pm_power_off handler if "fsl,pmic-stby-poweroff" " Robin Gong
2018-07-27  9:15     ` Robin Gong
2018-07-27  9:15     ` Robin Gong
2018-07-30  7:57     ` Oleksij Rempel
2018-07-30  7:57       ` Oleksij Rempel
2018-07-30  7:57       ` Oleksij Rempel
2018-07-26  9:22 ` [PATCH v8 3/6] kernel/reboot.c: export pm_power_off_prepare Oleksij Rempel
2018-07-26  9:22   ` Oleksij Rempel
2018-07-26  9:22 ` [PATCH v8 4/6] regulator: pfuze100: add fsl,pmic-stby-poweroff property Oleksij Rempel
2018-07-26  9:22   ` [PATCH v8 4/6] regulator: pfuze100: add fsl, pmic-stby-poweroff property Oleksij Rempel
2018-07-26  9:22   ` Oleksij Rempel
2018-07-26  9:22 ` [PATCH v8 5/6] regulator: pfuze100-regulator: provide pm_power_off_prepare handler Oleksij Rempel
2018-07-26  9:22   ` Oleksij Rempel
2018-07-27  9:32   ` Robin Gong
2018-07-27  9:32     ` Robin Gong
2018-07-27  9:32     ` Robin Gong
2018-07-27  9:32     ` Robin Gong
2018-07-30  7:50     ` Oleksij Rempel
2018-07-30  7:50       ` Oleksij Rempel
2018-07-30  7:50       ` Oleksij Rempel
2018-07-30 10:24       ` Mark Brown
2018-07-30 10:24         ` Mark Brown
2018-07-30 10:24         ` Mark Brown
2018-07-30 10:24         ` Mark Brown
2018-08-02  8:11         ` Oleksij Rempel
2018-08-02  8:11           ` Oleksij Rempel
2018-08-02  8:11           ` Oleksij Rempel
2018-08-02  8:11           ` Oleksij Rempel
2018-08-02  8:16     ` Oleksij Rempel
2018-08-02  8:16       ` Oleksij Rempel
2018-08-02  8:16       ` Oleksij Rempel
2018-08-06  2:51       ` Robin Gong
2018-08-06  2:51         ` Robin Gong
2018-08-06  2:51         ` Robin Gong
2018-08-06  2:51         ` Robin Gong
2018-07-26  9:22 ` [PATCH v8 6/6] ARM: dts: imx6: RIoTboard provide standby on power off option Oleksij Rempel
2018-07-26  9:22   ` Oleksij Rempel
2018-07-27  9:33   ` Robin Gong
2018-07-27  9:33     ` Robin Gong
2018-07-27  9:33     ` Robin Gong
2018-07-27  9:33     ` Robin Gong
2018-07-30  7:58     ` Oleksij Rempel
2018-07-30  7:58       ` Oleksij Rempel
2018-07-30  7:58       ` Oleksij Rempel
2018-08-02  8:37     ` Oleksij Rempel
2018-08-02  8:37       ` Oleksij Rempel
2018-08-02  8:37       ` Oleksij Rempel
2018-07-26  9:48 ` [PATCH v8 0/6] provide power off support for iMX6 with external PMIC Stefan Wahren
2018-07-26  9:48   ` Stefan Wahren
2018-07-26  9:48   ` Stefan Wahren

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=DB6PR04MB3223A62E5609BF6431ABEA40892A0@DB6PR04MB3223.eurprd04.prod.outlook.com \
    --to=yibin.gong@nxp.com \
    --cc=aisheng.dong@nxp.com \
    --cc=akpm@linux-foundation.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=fabio.estevam@nxp.com \
    --cc=kernel@pengutronix.de \
    --cc=leonard.crestez@nxp.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=mturquette@baylibre.com \
    --cc=o.rempel@pengutronix.de \
    --cc=rafael.j.wysocki@intel.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@codeaurora.org \
    --cc=shawnguo@kernel.org \
    /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.