All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oleksij Rempel <o.rempel@pengutronix.de>
To: Robin Gong <yibin.gong@nxp.com>, 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: Mon, 30 Jul 2018 09:57:51 +0200	[thread overview]
Message-ID: <86871e56-2d1a-50e0-fe36-f008deb80dad@pengutronix.de> (raw)
In-Reply-To: <DB6PR04MB3223A62E5609BF6431ABEA40892A0@DB6PR04MB3223.eurprd04.prod.outlook.com>


[-- Attachment #1.1: Type: text/plain, Size: 3722 bytes --]



On 27.07.2018 11:15, Robin Gong wrote:
> 
> 
>> -----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?

pm_power_off can be registred by any part of the kernel. So, we need it
to avoid conflicts or at least to be able see them.

On other hand, you are right. syscon-poweroff should be disabled for
this board.

>> +		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
> 


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: o.rempel@pengutronix.de (Oleksij Rempel)
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: Mon, 30 Jul 2018 09:57:51 +0200	[thread overview]
Message-ID: <86871e56-2d1a-50e0-fe36-f008deb80dad@pengutronix.de> (raw)
In-Reply-To: <DB6PR04MB3223A62E5609BF6431ABEA40892A0@DB6PR04MB3223.eurprd04.prod.outlook.com>



On 27.07.2018 11:15, Robin Gong wrote:
> 
> 
>> -----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?

pm_power_off can be registred by any part of the kernel. So, we need it
to avoid conflicts or at least to be able see them.

On other hand, you are right. syscon-poweroff should be disabled for
this board.

>> +		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
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180730/aaa2e745/attachment-0001.sig>

  reply	other threads:[~2018-07-30  7:58 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   ` [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-27  9:15     ` Robin Gong
2018-07-30  7:57     ` Oleksij Rempel [this message]
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=86871e56-2d1a-50e0-fe36-f008deb80dad@pengutronix.de \
    --to=o.rempel@pengutronix.de \
    --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=rafael.j.wysocki@intel.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@codeaurora.org \
    --cc=shawnguo@kernel.org \
    --cc=yibin.gong@nxp.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.