2014-11-04 11:31:25

by Linus Walleij

[permalink] [raw]
Subject: [PATCH] power: reset: augment versatile driver for integrator

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 <[email protected]>
Cc: David Woodhouse <[email protected]>
Cc: Sebastian Reichel <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
---
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


2014-11-12 14:54:05

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] power: reset: augment versatile driver for integrator

On Tue, Nov 4, 2014 at 12:31 PM, Linus Walleij <[email protected]> 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 <[email protected]>
> Cc: David Woodhouse <[email protected]>
> Cc: Sebastian Reichel <[email protected]>
> Signed-off-by: Linus Walleij <[email protected]>
> ---
> 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

2014-11-12 18:20:36

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH] power: reset: augment versatile driver for integrator

2014-11-12 17:54 GMT+03:00 Linus Walleij <[email protected]>:
> On Tue, Nov 4, 2014 at 12:31 PM, Linus Walleij <[email protected]> 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 <[email protected]>
>> Cc: David Woodhouse <[email protected]>
>> Cc: Sebastian Reichel <[email protected]>
>> Signed-off-by: Linus Walleij <[email protected]>
>> ---
>> 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

2014-11-12 21:35:21

by Sebastian Reichel

[permalink] [raw]
Subject: Re: [PATCH] power: reset: augment versatile driver for integrator

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 <[email protected]>:
> > On Tue, Nov 4, 2014 at 12:31 PM, Linus Walleij <[email protected]> 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 <[email protected]>
> >> Cc: David Woodhouse <[email protected]>
> >> Cc: Sebastian Reichel <[email protected]>
> >> Signed-off-by: Linus Walleij <[email protected]>
> >> ---
> >> 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


Attachments:
(No filename) (919.00 B)
signature.asc (819.00 B)
Digital signature
Download all attachments

2014-12-17 21:35:01

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] power: reset: augment versatile driver for integrator

On Wed, Nov 12, 2014 at 7:20 PM, Dmitry Eremin-Solenikov
<[email protected]> wrote:
> 2014-11-12 17:54 GMT+03:00 Linus Walleij <[email protected]>:
>> On Tue, Nov 4, 2014 at 12:31 PM, Linus Walleij <[email protected]> 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 <[email protected]>
>>> Cc: David Woodhouse <[email protected]>
>>> Cc: Sebastian Reichel <[email protected]>
>>> Signed-off-by: Linus Walleij <[email protected]>
>>> ---
>>> 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

2014-12-18 16:34:00

by Sebastian Reichel

[permalink] [raw]
Subject: Re: [PATCH] power: reset: augment versatile driver for integrator

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
> <[email protected]> wrote:
> > 2014-11-12 17:54 GMT+03:00 Linus Walleij <[email protected]>:
> >> On Tue, Nov 4, 2014 at 12:31 PM, Linus Walleij <[email protected]> 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 <[email protected]>
> >>> Cc: David Woodhouse <[email protected]>
> >>> Cc: Sebastian Reichel <[email protected]>
> >>> Signed-off-by: Linus Walleij <[email protected]>
> >>> ---
> >>> 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


Attachments:
(No filename) (1.25 kB)
signature.asc (819.00 B)
Digital signature
Download all attachments