* [PATCH v1 1/5] ARM: imx6q: provide documentation for new fsl,pmic_stby_poweroff property
@ 2017-05-29 17:09 Oleksij Rempel
2017-05-29 17:09 ` [PATCH v1 2/5] ARM: imx6: register pm_power_off handler if "fsl, pmic_stby_poweroff" is set Oleksij Rempel
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Oleksij Rempel @ 2017-05-29 17:09 UTC (permalink / raw)
To: linux-Q5frsOzIlS7zxQdaRaTXBw
Cc: Oleksij Rempel, kernel-bIcnvbaLZ9MEGnE8C9+IrQ,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
Michael Turquette, Stephen Boyd, Rob Herring, Mark Rutland,
linux-clk-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
Signed-off-by: Oleksij Rempel <o.rempel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
Cc: kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Cc: Michael Turquette <mturquette-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
Cc: Stephen Boyd <sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
Cc: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
Cc: linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
---
Documentation/devicetree/bindings/clock/imx6q-clock.txt | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/clock/imx6q-clock.txt b/Documentation/devicetree/bindings/clock/imx6q-clock.txt
index 9252912a5b0e..214cb5f461c7 100644
--- a/Documentation/devicetree/bindings/clock/imx6q-clock.txt
+++ b/Documentation/devicetree/bindings/clock/imx6q-clock.txt
@@ -6,6 +6,10 @@ Required properties:
- interrupts: Should contain CCM interrupt
- #clock-cells: Should be <1>
+Optional properties:
+- fsl,pmic_stby_poweroff: Configure CCM to assert PMIC_STBY_REQ signal
+ on power off.
+
The clock consumer should specify the desired clock by having the clock
ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx6qdl-clock.h
for the full list of i.MX6 Quad and DualLite clock IDs.
--
2.11.0
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v1 2/5] ARM: imx6: register pm_power_off handler if "fsl, pmic_stby_poweroff" is set
2017-05-29 17:09 [PATCH v1 1/5] ARM: imx6q: provide documentation for new fsl,pmic_stby_poweroff property Oleksij Rempel
@ 2017-05-29 17:09 ` Oleksij Rempel
2017-05-29 17:09 ` [PATCH v1 3/5] regulator: pfuze100: add fsl,pmic_stby_poweroff property Oleksij Rempel
[not found] ` <20170529170924.25488-1-o.rempel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2 siblings, 0 replies; 6+ messages in thread
From: Oleksij Rempel @ 2017-05-29 17:09 UTC (permalink / raw)
To: linux
Cc: Mark Rutland, devicetree, Michael Turquette, Stephen Boyd,
linux-kernel, Oleksij Rempel, Rob Herring, kernel, linux-clk,
linux-arm-kernel
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:
http://www.nxp.com/assets/documents/data/en/reference-manuals/IMX6DQRM.pdf
page 5083
This patch implements step 4. of this sequence.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Cc: kernel@pengutronix.de
Cc: linux-arm-kernel@lists.infradead.org
Cc: Michael Turquette <mturquette@baylibre.com>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: linux-clk@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
arch/arm/mach-imx/pm-imx6.c | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/arch/arm/mach-imx/pm-imx6.c b/arch/arm/mach-imx/pm-imx6.c
index e61b1d1027e1..fd7b95f340e5 100644
--- a/arch/arm/mach-imx/pm-imx6.c
+++ b/arch/arm/mach-imx/pm-imx6.c
@@ -27,6 +27,8 @@
#include <asm/proc-fns.h>
#include <asm/suspend.h>
#include <asm/tlb.h>
+#include <linux/kallsyms.h>
+#include <linux/regulator/machine.h>
#include "common.h"
#include "hardware.h"
@@ -602,6 +604,31 @@ static void __init imx6_pm_common_init(const struct imx6_pm_socdata
IMX6Q_GPR1_GINT);
}
+static void imx6_pm_poweroff(void)
+{
+ imx6_set_lpm(STOP_POWER_OFF);
+ cpu_suspend(0, imx6q_suspend_finish);
+
+ mdelay(1000);
+
+ pr_emerg("Unable to poweroff system\n");
+}
+
+static int imx6_pm_poweroff_probe(void)
+{
+ char symname[KSYM_NAME_LEN];
+
+ if (pm_power_off) {
+ lookup_symbol_name((ulong)pm_power_off, symname);
+ pr_warn("%s: pm_power_off already claimed %p %s!\n",
+ __func__, pm_power_off, symname);
+ return -EBUSY;
+ }
+
+ pm_power_off = imx6_pm_poweroff;
+ return 0;
+}
+
void __init imx6_pm_ccm_init(const char *ccm_compat)
{
struct device_node *np;
@@ -618,6 +645,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_poweroff_probe();
}
void __init imx6q_pm_init(void)
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v1 3/5] regulator: pfuze100: add fsl,pmic_stby_poweroff property
2017-05-29 17:09 [PATCH v1 1/5] ARM: imx6q: provide documentation for new fsl,pmic_stby_poweroff property Oleksij Rempel
2017-05-29 17:09 ` [PATCH v1 2/5] ARM: imx6: register pm_power_off handler if "fsl, pmic_stby_poweroff" is set Oleksij Rempel
@ 2017-05-29 17:09 ` Oleksij Rempel
[not found] ` <20170529170924.25488-1-o.rempel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2 siblings, 0 replies; 6+ messages in thread
From: Oleksij Rempel @ 2017-05-29 17:09 UTC (permalink / raw)
To: linux
Cc: Oleksij Rempel, kernel, linux-arm-kernel, Liam Girdwood,
Mark Brown, Rob Herring, Mark Rutland, linux-kernel, devicetree
Document the new optional "fsl,pmic_stby_poweroff" property.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Cc: kernel@pengutronix.de
Cc: linux-arm-kernel@lists.infradead.org
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: linux-kernel@vger.kernel.org
Cc: devicetree@vger.kernel.org
---
Documentation/devicetree/bindings/regulator/pfuze100.txt | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/regulator/pfuze100.txt b/Documentation/devicetree/bindings/regulator/pfuze100.txt
index 9b40db88f637..a2e00ca28bd3 100644
--- a/Documentation/devicetree/bindings/regulator/pfuze100.txt
+++ b/Documentation/devicetree/bindings/regulator/pfuze100.txt
@@ -4,6 +4,10 @@ Required properties:
- compatible: "fsl,pfuze100", "fsl,pfuze200", "fsl,pfuze3000"
- reg: I2C slave address
+Optional properties:
+- fsl,pmic_stby_poweroff: if present, configure the PMIC to shutdown all
+ power rails when PMIC_STBY_REQ line is asserted during the power off sequence.
+
Required child node:
- regulators: This is the list of child nodes that specify the regulator
initialization data for defined regulators. Please refer to below doc
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v1 5/5] ARM: dts: imx6: RIoTboard provide Standby to PowerOff option
[not found] ` <20170529170924.25488-1-o.rempel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
@ 2017-05-29 17:09 ` Oleksij Rempel
2017-06-05 1:50 ` Shawn Guo
0 siblings, 1 reply; 6+ messages in thread
From: Oleksij Rempel @ 2017-05-29 17:09 UTC (permalink / raw)
To: linux-Q5frsOzIlS7zxQdaRaTXBw
Cc: Oleksij Rempel, kernel-bIcnvbaLZ9MEGnE8C9+IrQ,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Shawn Guo,
Fabio Estevam, Rob Herring, Mark Rutland, Russell King,
devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
This board, as well as some other boards with i.MX6 and a PMIC, uses a
"MPIC_STBY_REQ" line to notify the PMIC about a state change.
The PMIC is programmed for a specific state change before triggering the
line.
In this case, PMIC_STBY_REQ can be used for Stand by, Sleep
and Power off modes.
Signed-off-by: Oleksij Rempel <o.rempel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
Cc: kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Cc: Shawn Guo <shawnguo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Fabio Estevam <fabio.estevam-3arQi8VN3Tc@public.gmane.org>
Cc: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
Cc: Russell King <linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org>
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
---
arch/arm/boot/dts/imx6dl-riotboard.dts | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm/boot/dts/imx6dl-riotboard.dts b/arch/arm/boot/dts/imx6dl-riotboard.dts
index 2cb72824e800..b5f25fe7b809 100644
--- a/arch/arm/boot/dts/imx6dl-riotboard.dts
+++ b/arch/arm/boot/dts/imx6dl-riotboard.dts
@@ -90,6 +90,10 @@
status = "okay";
};
+&clks {
+ fsl,pmic_stby_poweroff;
+};
+
&fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet>;
@@ -125,6 +129,7 @@
reg = <0x08>;
interrupt-parent = <&gpio5>;
interrupts = <16 8>;
+ fsl,pmic_stby_poweroff;
regulators {
reg_vddcore: sw1ab { /* VDDARM_IN */
--
2.11.0
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v1 5/5] ARM: dts: imx6: RIoTboard provide Standby to PowerOff option
2017-05-29 17:09 ` [PATCH v1 5/5] ARM: dts: imx6: RIoTboard provide Standby to PowerOff option Oleksij Rempel
@ 2017-06-05 1:50 ` Shawn Guo
2017-06-05 2:13 ` Shawn Guo
0 siblings, 1 reply; 6+ messages in thread
From: Shawn Guo @ 2017-06-05 1:50 UTC (permalink / raw)
To: Oleksij Rempel
Cc: linux, kernel, linux-arm-kernel, Fabio Estevam, Rob Herring,
Mark Rutland, Russell King, devicetree, linux-kernel
On Mon, May 29, 2017 at 07:09:24PM +0200, Oleksij Rempel wrote:
> This board, as well as some other boards with i.MX6 and a PMIC, uses a
> "MPIC_STBY_REQ" line to notify the PMIC about a state change.
> The PMIC is programmed for a specific state change before triggering the
> line.
> In this case, PMIC_STBY_REQ can be used for Stand by, Sleep
> and Power off modes.
>
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
> Cc: kernel@pengutronix.de
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Fabio Estevam <fabio.estevam@nxp.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: devicetree@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> ---
> arch/arm/boot/dts/imx6dl-riotboard.dts | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx6dl-riotboard.dts b/arch/arm/boot/dts/imx6dl-riotboard.dts
> index 2cb72824e800..b5f25fe7b809 100644
> --- a/arch/arm/boot/dts/imx6dl-riotboard.dts
> +++ b/arch/arm/boot/dts/imx6dl-riotboard.dts
> @@ -90,6 +90,10 @@
> status = "okay";
> };
>
> +&clks {
> + fsl,pmic_stby_poweroff;
> +};
> +
> &fec {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_enet>;
> @@ -125,6 +129,7 @@
> reg = <0x08>;
> interrupt-parent = <&gpio5>;
> interrupts = <16 8>;
> + fsl,pmic_stby_poweroff;
Is this property supported by upstream kernel?
Shawn
>
> regulators {
> reg_vddcore: sw1ab { /* VDDARM_IN */
> --
> 2.11.0
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v1 5/5] ARM: dts: imx6: RIoTboard provide Standby to PowerOff option
2017-06-05 1:50 ` Shawn Guo
@ 2017-06-05 2:13 ` Shawn Guo
0 siblings, 0 replies; 6+ messages in thread
From: Shawn Guo @ 2017-06-05 2:13 UTC (permalink / raw)
To: Oleksij Rempel
Cc: linux-Q5frsOzIlS7zxQdaRaTXBw, Mark Rutland,
devicetree-u79uwXL29TY76Z2rM5mHXA, Russell King,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Rob Herring,
kernel-bIcnvbaLZ9MEGnE8C9+IrQ, Fabio Estevam,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
On Mon, Jun 05, 2017 at 09:50:29AM +0800, Shawn Guo wrote:
> On Mon, May 29, 2017 at 07:09:24PM +0200, Oleksij Rempel wrote:
> > This board, as well as some other boards with i.MX6 and a PMIC, uses a
> > "MPIC_STBY_REQ" line to notify the PMIC about a state change.
> > The PMIC is programmed for a specific state change before triggering the
> > line.
> > In this case, PMIC_STBY_REQ can be used for Stand by, Sleep
> > and Power off modes.
> >
> > Signed-off-by: Oleksij Rempel <o.rempel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
> > Cc: kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org
> > Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
> > Cc: Shawn Guo <shawnguo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> > Cc: Fabio Estevam <fabio.estevam-3arQi8VN3Tc@public.gmane.org>
> > Cc: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> > Cc: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
> > Cc: Russell King <linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org>
> > Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> > Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> > ---
> > arch/arm/boot/dts/imx6dl-riotboard.dts | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/arch/arm/boot/dts/imx6dl-riotboard.dts b/arch/arm/boot/dts/imx6dl-riotboard.dts
> > index 2cb72824e800..b5f25fe7b809 100644
> > --- a/arch/arm/boot/dts/imx6dl-riotboard.dts
> > +++ b/arch/arm/boot/dts/imx6dl-riotboard.dts
> > @@ -90,6 +90,10 @@
> > status = "okay";
> > };
> >
> > +&clks {
> > + fsl,pmic_stby_poweroff;
> > +};
> > +
> > &fec {
> > pinctrl-names = "default";
> > pinctrl-0 = <&pinctrl_enet>;
> > @@ -125,6 +129,7 @@
> > reg = <0x08>;
> > interrupt-parent = <&gpio5>;
> > interrupts = <16 8>;
> > + fsl,pmic_stby_poweroff;
>
> Is this property supported by upstream kernel?
Okay, just noticed that it's the last patch of series adding
fsl,pmic_stby_poweroff support.
Shawn
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-06-05 2:13 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-29 17:09 [PATCH v1 1/5] ARM: imx6q: provide documentation for new fsl,pmic_stby_poweroff property Oleksij Rempel
2017-05-29 17:09 ` [PATCH v1 2/5] ARM: imx6: register pm_power_off handler if "fsl, pmic_stby_poweroff" is set Oleksij Rempel
2017-05-29 17:09 ` [PATCH v1 3/5] regulator: pfuze100: add fsl,pmic_stby_poweroff property Oleksij Rempel
[not found] ` <20170529170924.25488-1-o.rempel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2017-05-29 17:09 ` [PATCH v1 5/5] ARM: dts: imx6: RIoTboard provide Standby to PowerOff option Oleksij Rempel
2017-06-05 1:50 ` Shawn Guo
2017-06-05 2:13 ` Shawn Guo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).