linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] power: reset: augment versatile driver for integrator
@ 2014-11-04 11:31 Linus Walleij
  2014-11-12 14:54 ` Linus Walleij
  0 siblings, 1 reply; 6+ messages in thread
From: Linus Walleij @ 2014-11-04 11:31 UTC (permalink / raw)
  To: Sebastian Reichel, Dmitry Eremin-Solenikov, linux-kernel
  Cc: David Woodhouse, Linus Walleij

Augment the Versatile reset driver to also handle the core
module reset sequence used on the Integrator/AP and
Integrator/CP.

Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
Sebastian: please merge this into your power tree if you're
OK with it, the corresponding platform changes are orthogonal
so these can go separately through the ARM SoC tree.
---
 drivers/power/reset/arm-versatile-reboot.c | 32 +++++++++++++++++++++++++++---
 1 file changed, 29 insertions(+), 3 deletions(-)

diff --git a/drivers/power/reset/arm-versatile-reboot.c b/drivers/power/reset/arm-versatile-reboot.c
index 5b08bffcf1a8..adea9d0c38e0 100644
--- a/drivers/power/reset/arm-versatile-reboot.c
+++ b/drivers/power/reset/arm-versatile-reboot.c
@@ -15,14 +15,21 @@
 #include <linux/of.h>
 #include <asm/system_misc.h>
 
+#define INTEGRATOR_HDR_CTRL_OFFSET	0x0C
+#define INTEGRATOR_HDR_LOCK_OFFSET	0x14
+#define INTEGRATOR_CM_CTRL_RESET	(1 << 3)
+
 #define REALVIEW_SYS_LOCK_OFFSET	0x20
-#define REALVIEW_SYS_LOCK_VAL		0xA05F
 #define REALVIEW_SYS_RESETCTL_OFFSET	0x40
 
+/* Magic unlocking token used on all Versatile boards */
+#define VERSATILE_LOCK_VAL		0xA05F
+
 /*
  * We detect the different syscon types from the compatible strings.
  */
 enum versatile_reboot {
+	INTEGRATOR_REBOOT_CM,
 	REALVIEW_REBOOT_EB,
 	REALVIEW_REBOOT_PB1176,
 	REALVIEW_REBOOT_PB11MP,
@@ -36,6 +43,10 @@ static enum versatile_reboot versatile_reboot_type;
 
 static const struct of_device_id versatile_reboot_of_match[] = {
 	{
+		.compatible = "arm,core-module-integrator",
+		.data = (void *)INTEGRATOR_REBOOT_CM
+	},
+	{
 		.compatible = "arm,realview-eb-syscon",
 		.data = (void *)REALVIEW_REBOOT_EB,
 	},
@@ -55,31 +66,46 @@ static const struct of_device_id versatile_reboot_of_match[] = {
 		.compatible = "arm,realview-pbx-syscon",
 		.data = (void *)REALVIEW_REBOOT_PBX,
 	},
+	{},
 };
 
 static void versatile_reboot(enum reboot_mode mode, const char *cmd)
 {
 	/* Unlock the reset register */
-	regmap_write(syscon_regmap, REALVIEW_SYS_LOCK_OFFSET,
-		     REALVIEW_SYS_LOCK_VAL);
 	/* Then hit reset on the different machines */
 	switch (versatile_reboot_type) {
+	case INTEGRATOR_REBOOT_CM:
+		regmap_write(syscon_regmap, INTEGRATOR_HDR_LOCK_OFFSET,
+			     VERSATILE_LOCK_VAL);
+		regmap_update_bits(syscon_regmap,
+				   INTEGRATOR_HDR_CTRL_OFFSET,
+				   INTEGRATOR_CM_CTRL_RESET,
+				   INTEGRATOR_CM_CTRL_RESET);
+		break;
 	case REALVIEW_REBOOT_EB:
+		regmap_write(syscon_regmap, REALVIEW_SYS_LOCK_OFFSET,
+			     VERSATILE_LOCK_VAL);
 		regmap_write(syscon_regmap,
 			     REALVIEW_SYS_RESETCTL_OFFSET, 0x0008);
 		break;
 	case REALVIEW_REBOOT_PB1176:
+		regmap_write(syscon_regmap, REALVIEW_SYS_LOCK_OFFSET,
+			     VERSATILE_LOCK_VAL);
 		regmap_write(syscon_regmap,
 			     REALVIEW_SYS_RESETCTL_OFFSET, 0x0100);
 		break;
 	case REALVIEW_REBOOT_PB11MP:
 	case REALVIEW_REBOOT_PBA8:
+		regmap_write(syscon_regmap, REALVIEW_SYS_LOCK_OFFSET,
+			     VERSATILE_LOCK_VAL);
 		regmap_write(syscon_regmap, REALVIEW_SYS_RESETCTL_OFFSET,
 			     0x0000);
 		regmap_write(syscon_regmap, REALVIEW_SYS_RESETCTL_OFFSET,
 			     0x0004);
 		break;
 	case REALVIEW_REBOOT_PBX:
+		regmap_write(syscon_regmap, REALVIEW_SYS_LOCK_OFFSET,
+			     VERSATILE_LOCK_VAL);
 		regmap_write(syscon_regmap, REALVIEW_SYS_RESETCTL_OFFSET,
 			     0x00f0);
 		regmap_write(syscon_regmap, REALVIEW_SYS_RESETCTL_OFFSET,
-- 
1.9.3


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] power: reset: augment versatile driver for integrator
  2014-11-04 11:31 [PATCH] power: reset: augment versatile driver for integrator Linus Walleij
@ 2014-11-12 14:54 ` Linus Walleij
  2014-11-12 18:20   ` Dmitry Eremin-Solenikov
  0 siblings, 1 reply; 6+ messages in thread
From: Linus Walleij @ 2014-11-12 14:54 UTC (permalink / raw)
  To: Sebastian Reichel, Dmitry Eremin-Solenikov, linux-kernel
  Cc: David Woodhouse, Linus Walleij

On Tue, Nov 4, 2014 at 12:31 PM, Linus Walleij <linus.walleij@linaro.org> wrote:

> Augment the Versatile reset driver to also handle the core
> module reset sequence used on the Integrator/AP and
> Integrator/CP.
>
> Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
> Cc: David Woodhouse <dwmw2@infradead.org>
> Cc: Sebastian Reichel <sre@kernel.org>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> Sebastian: please merge this into your power tree if you're
> OK with it, the corresponding platform changes are orthogonal
> so these can go separately through the ARM SoC tree.

Power folks: ping on this patch.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] power: reset: augment versatile driver for integrator
  2014-11-12 14:54 ` Linus Walleij
@ 2014-11-12 18:20   ` Dmitry Eremin-Solenikov
  2014-11-12 21:35     ` Sebastian Reichel
  2014-12-17 21:34     ` Linus Walleij
  0 siblings, 2 replies; 6+ messages in thread
From: Dmitry Eremin-Solenikov @ 2014-11-12 18:20 UTC (permalink / raw)
  To: Linus Walleij; +Cc: Sebastian Reichel, linux-kernel, David Woodhouse

2014-11-12 17:54 GMT+03:00 Linus Walleij <linus.walleij@linaro.org>:
> On Tue, Nov 4, 2014 at 12:31 PM, Linus Walleij <linus.walleij@linaro.org> wrote:
>
>> Augment the Versatile reset driver to also handle the core
>> module reset sequence used on the Integrator/AP and
>> Integrator/CP.
>>
>> Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
>> Cc: David Woodhouse <dwmw2@infradead.org>
>> Cc: Sebastian Reichel <sre@kernel.org>
>> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
>> ---
>> Sebastian: please merge this into your power tree if you're
>> OK with it, the corresponding platform changes are orthogonal
>> so these can go separately through the ARM SoC tree.
>
> Power folks: ping on this patch.

I will apply tomorrow, if Sebastian does not respond earlier.

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] power: reset: augment versatile driver for integrator
  2014-11-12 18:20   ` Dmitry Eremin-Solenikov
@ 2014-11-12 21:35     ` Sebastian Reichel
  2014-12-17 21:34     ` Linus Walleij
  1 sibling, 0 replies; 6+ messages in thread
From: Sebastian Reichel @ 2014-11-12 21:35 UTC (permalink / raw)
  To: Dmitry Eremin-Solenikov; +Cc: Linus Walleij, linux-kernel, David Woodhouse

[-- Attachment #1: Type: text/plain, Size: 945 bytes --]

Hi,

On Wed, Nov 12, 2014 at 10:20:34PM +0400, Dmitry Eremin-Solenikov wrote:
> 2014-11-12 17:54 GMT+03:00 Linus Walleij <linus.walleij@linaro.org>:
> > On Tue, Nov 4, 2014 at 12:31 PM, Linus Walleij <linus.walleij@linaro.org> wrote:
> >
> >> Augment the Versatile reset driver to also handle the core
> >> module reset sequence used on the Integrator/AP and
> >> Integrator/CP.
> >>
> >> Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
> >> Cc: David Woodhouse <dwmw2@infradead.org>
> >> Cc: Sebastian Reichel <sre@kernel.org>
> >> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> >> ---
> >> Sebastian: please merge this into your power tree if you're
> >> OK with it, the corresponding platform changes are orthogonal
> >> so these can go separately through the ARM SoC tree.
> >
> > Power folks: ping on this patch.
> 
> I will apply tomorrow, if Sebastian does not respond earlier.

Ack.

-- Sebastian

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] power: reset: augment versatile driver for integrator
  2014-11-12 18:20   ` Dmitry Eremin-Solenikov
  2014-11-12 21:35     ` Sebastian Reichel
@ 2014-12-17 21:34     ` Linus Walleij
  2014-12-18 16:33       ` Sebastian Reichel
  1 sibling, 1 reply; 6+ messages in thread
From: Linus Walleij @ 2014-12-17 21:34 UTC (permalink / raw)
  To: Dmitry Eremin-Solenikov; +Cc: Sebastian Reichel, linux-kernel, David Woodhouse

On Wed, Nov 12, 2014 at 7:20 PM, Dmitry Eremin-Solenikov
<dbaryshkov@gmail.com> wrote:
> 2014-11-12 17:54 GMT+03:00 Linus Walleij <linus.walleij@linaro.org>:
>> On Tue, Nov 4, 2014 at 12:31 PM, Linus Walleij <linus.walleij@linaro.org> wrote:
>>
>>> Augment the Versatile reset driver to also handle the core
>>> module reset sequence used on the Integrator/AP and
>>> Integrator/CP.
>>>
>>> Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
>>> Cc: David Woodhouse <dwmw2@infradead.org>
>>> Cc: Sebastian Reichel <sre@kernel.org>
>>> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
>>> ---
>>> Sebastian: please merge this into your power tree if you're
>>> OK with it, the corresponding platform changes are orthogonal
>>> so these can go separately through the ARM SoC tree.
>>
>> Power folks: ping on this patch.
>
> I will apply tomorrow, if Sebastian does not respond earlier.

Just checking: this is applied and *will* go upstream this merge window,
right?

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] power: reset: augment versatile driver for integrator
  2014-12-17 21:34     ` Linus Walleij
@ 2014-12-18 16:33       ` Sebastian Reichel
  0 siblings, 0 replies; 6+ messages in thread
From: Sebastian Reichel @ 2014-12-18 16:33 UTC (permalink / raw)
  To: Linus Walleij; +Cc: Dmitry Eremin-Solenikov, linux-kernel, David Woodhouse

[-- Attachment #1: Type: text/plain, Size: 1309 bytes --]

Hi Linus,

On Wed, Dec 17, 2014 at 10:34:58PM +0100, Linus Walleij wrote:
> On Wed, Nov 12, 2014 at 7:20 PM, Dmitry Eremin-Solenikov
> <dbaryshkov@gmail.com> wrote:
> > 2014-11-12 17:54 GMT+03:00 Linus Walleij <linus.walleij@linaro.org>:
> >> On Tue, Nov 4, 2014 at 12:31 PM, Linus Walleij <linus.walleij@linaro.org> wrote:
> >>
> >>> Augment the Versatile reset driver to also handle the core
> >>> module reset sequence used on the Integrator/AP and
> >>> Integrator/CP.
> >>>
> >>> Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
> >>> Cc: David Woodhouse <dwmw2@infradead.org>
> >>> Cc: Sebastian Reichel <sre@kernel.org>
> >>> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> >>> ---
> >>> Sebastian: please merge this into your power tree if you're
> >>> OK with it, the corresponding platform changes are orthogonal
> >>> so these can go separately through the ARM SoC tree.
> >>
> >> Power folks: ping on this patch.
> >
> > I will apply tomorrow, if Sebastian does not respond earlier.
> 
> Just checking: this is applied and *will* go upstream this merge window,
> right?

I haven't heard of Dmitry since then and it's not in the battery
tree. Please resend the patch (its no longer in my mailbox) and I
will apply it to -next immediately.

-- Sebastian

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-12-18 16:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-04 11:31 [PATCH] power: reset: augment versatile driver for integrator Linus Walleij
2014-11-12 14:54 ` Linus Walleij
2014-11-12 18:20   ` Dmitry Eremin-Solenikov
2014-11-12 21:35     ` Sebastian Reichel
2014-12-17 21:34     ` Linus Walleij
2014-12-18 16:33       ` Sebastian Reichel

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).