diff mbox

ARM: dts: omap3: Fix Reboot issue on Logic PD SOM-LV

Message ID 1484935719-20624-1-git-send-email-aford173@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Adam Ford Jan. 20, 2017, 6:08 p.m. UTC
From: Adam Ford <aford173@gmail.com>

This fixes commit ab8dd3aed011 ("ARM: DTS: Add minimal Support for
Logic PD DM3730 SOM-LV") where the system may not successfully
start after a reboot.

Signed-off-by: Adam Ford <aford173@gmail.com>

Comments

Tony Lindgren Jan. 23, 2017, 6:58 p.m. UTC | #1
* aford173@gmail.com <aford173@gmail.com> [170120 10:10]:
> From: Adam Ford <aford173@gmail.com>
> 
> This fixes commit ab8dd3aed011 ("ARM: DTS: Add minimal Support for
> Logic PD DM3730 SOM-LV") where the system may not successfully
> start after a reboot.

Hmm so what goes wrong here? And which compatible do you end up
using that works?

Regards,

Tony

> Signed-off-by: Adam Ford <aford173@gmail.com>
> 
> diff --git a/arch/arm/boot/dts/logicpd-som-lv.dtsi b/arch/arm/boot/dts/logicpd-som-lv.dtsi
> index 26cce4d..fe19e7d 100644
> --- a/arch/arm/boot/dts/logicpd-som-lv.dtsi
> +++ b/arch/arm/boot/dts/logicpd-som-lv.dtsi
> @@ -261,7 +261,7 @@
>  
>  &twl {
>  	twl_power: power {
> -		compatible = "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle";
> +		compatible = "ti,twl4030-power","ti,twl4030-power-reset", "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle";
>  		ti,use_poweroff;
>  	};
>  };
> -- 
> 2.7.4
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Adam Ford Jan. 23, 2017, 7:50 p.m. UTC | #2
On Mon, Jan 23, 2017 at 12:58 PM, Tony Lindgren <tony@atomide.com> wrote:
> * aford173@gmail.com <aford173@gmail.com> [170120 10:10]:
>> From: Adam Ford <aford173@gmail.com>
>>
>> This fixes commit ab8dd3aed011 ("ARM: DTS: Add minimal Support for
>> Logic PD DM3730 SOM-LV") where the system may not successfully
>> start after a reboot.
>
> Hmm so what goes wrong here? And which compatible do you end up
> using that works?

The issue was the bootloader (MLO) would load, but it would throw an
error unable to load anything (like U-boot)  from the MMC.      After
reading the binding, the twl4030-power-reset seemed like a good
option, so I added it.

I didn't think the compatible options were mutually exclusive, because
the original device tree you did the for the Torpedo had both
"ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle" enabled, so I
added the "ti,twl4030-power-reset" option.

Looking at binding, I thought I should have the more generic
compatible = "ti,twl4030-power" added, but it doesn't appear to change
the behavior, so I'm ok with removing that.

Either way, it appears as if II need the "ti,twl4030-power-reset" to
address the bootloader hanging.  Does that mean I have to remove the
other  "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle" flags?

adam
>
> Regards,
>
> Tony
>
>> Signed-off-by: Adam Ford <aford173@gmail.com>
>>
>> diff --git a/arch/arm/boot/dts/logicpd-som-lv.dtsi b/arch/arm/boot/dts/logicpd-som-lv.dtsi
>> index 26cce4d..fe19e7d 100644
>> --- a/arch/arm/boot/dts/logicpd-som-lv.dtsi
>> +++ b/arch/arm/boot/dts/logicpd-som-lv.dtsi
>> @@ -261,7 +261,7 @@
>>
>>  &twl {
>>       twl_power: power {
>> -             compatible = "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle";
>> +             compatible = "ti,twl4030-power","ti,twl4030-power-reset", "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle";
>>               ti,use_poweroff;
>>       };
>>  };
>> --
>> 2.7.4
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tony Lindgren Jan. 23, 2017, 9:01 p.m. UTC | #3
* Adam Ford <aford173@gmail.com> [170123 11:51]:
> On Mon, Jan 23, 2017 at 12:58 PM, Tony Lindgren <tony@atomide.com> wrote:
> > * aford173@gmail.com <aford173@gmail.com> [170120 10:10]:
> >> From: Adam Ford <aford173@gmail.com>
> >>
> >> This fixes commit ab8dd3aed011 ("ARM: DTS: Add minimal Support for
> >> Logic PD DM3730 SOM-LV") where the system may not successfully
> >> start after a reboot.
> >
> > Hmm so what goes wrong here? And which compatible do you end up
> > using that works?
> 
> The issue was the bootloader (MLO) would load, but it would throw an
> error unable to load anything (like U-boot)  from the MMC.      After
> reading the binding, the twl4030-power-reset seemed like a good
> option, so I added it.

OK..

> I didn't think the compatible options were mutually exclusive, because
> the original device tree you did the for the Torpedo had both
> "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle" enabled, so I
> added the "ti,twl4030-power-reset" option.
> 
> Looking at binding, I thought I should have the more generic
> compatible = "ti,twl4030-power" added, but it doesn't appear to change
> the behavior, so I'm ok with removing that.
> 
> Either way, it appears as if II need the "ti,twl4030-power-reset" to
> address the bootloader hanging.  Does that mean I have to remove the
> other  "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle" flags?

Hmm I think we may have a bug somewhere. The "ti,twl4030-power-reset"
should be a subset of "ti,twl4030-power-idle" which is a subset of
"ti,twl4030-power-idle-osc-off".

Maybe try adding some printks to the driver to see if the power-reset
features are configured with power-idle-osc-off?

From PM point of view, you really want to use all features with
"ti,twl4030-power-idle-osc-off" if your hardware allows cutting off
the oscillator during idle :)

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Adam Ford Jan. 24, 2017, 1:48 p.m. UTC | #4
On Mon, Jan 23, 2017 at 3:01 PM, Tony Lindgren <tony@atomide.com> wrote:
> * Adam Ford <aford173@gmail.com> [170123 11:51]:
>> On Mon, Jan 23, 2017 at 12:58 PM, Tony Lindgren <tony@atomide.com> wrote:
>> > * aford173@gmail.com <aford173@gmail.com> [170120 10:10]:
>> >> From: Adam Ford <aford173@gmail.com>
>> >>
>> >> This fixes commit ab8dd3aed011 ("ARM: DTS: Add minimal Support for
>> >> Logic PD DM3730 SOM-LV") where the system may not successfully
>> >> start after a reboot.
>> >
>> > Hmm so what goes wrong here? And which compatible do you end up
>> > using that works?
>>
>> The issue was the bootloader (MLO) would load, but it would throw an
>> error unable to load anything (like U-boot)  from the MMC.      After
>> reading the binding, the twl4030-power-reset seemed like a good
>> option, so I added it.
>
> OK..
>
>> I didn't think the compatible options were mutually exclusive, because
>> the original device tree you did the for the Torpedo had both
>> "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle" enabled, so I
>> added the "ti,twl4030-power-reset" option.
>>
>> Looking at binding, I thought I should have the more generic
>> compatible = "ti,twl4030-power" added, but it doesn't appear to change
>> the behavior, so I'm ok with removing that.
>>
>> Either way, it appears as if II need the "ti,twl4030-power-reset" to
>> address the bootloader hanging.  Does that mean I have to remove the
>> other  "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle" flags?
>
> Hmm I think we may have a bug somewhere. The "ti,twl4030-power-reset"
> should be a subset of "ti,twl4030-power-idle" which is a subset of
> "ti,twl4030-power-idle-osc-off".
>
> Maybe try adding some printks to the driver to see if the power-reset
> features are configured with power-idle-osc-off?

I did some testing with the stable 4.9.y branch.  I set


Using only the power-idle-osc-off, I was able to observe the following:

[    2.425842] TWL4030_WAKEUP12_SCRIPT
[    2.434448] TWL4030_WAKEUP3_SCRIPT
[    2.453979] TWL4030_WRST_SCRIPT
[    2.460754] TWL4030_SLEEP_SCRIPT

Reboot was not successful.

The "ti,twl4030-power-reset" flag only showed
[    2.439392] TWL4030_WRST_SCRIPT

Reboot was successful.


and with just the "ti,twl4030-power-idle" flag, I received:

[    2.426177] TWL4030_WAKEUP12_SCRIPT
[    2.434783] TWL4030_WAKEUP3_SCRIPT
[    2.454315] TWL4030_WRST_SCRIPT
[    2.461090] TWL4030_SLEEP_SCRIPT

Reboot was not successful.

>
> From PM point of view, you really want to use all features with
> "ti,twl4030-power-idle-osc-off" if your hardware allows cutting off
> the oscillator during idle :)

I haven't observed any issues with "ti,twl4030-power-idle-osc-off"
during normal operation or during sleep, but if the system cannot
reboot, we can't use it.

Do you have any suggestions?  If not, I may have to switch the
compatible flat to "ti,twl4030-power-reset" for compatibility reason.
I have a couple customers inquiring with the same reboot issue, and
this fixes their issue in both instances.


> Regards,
>
> Tony

adam
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tony Lindgren Jan. 24, 2017, 2:59 p.m. UTC | #5
* Adam Ford <aford173@gmail.com> [170124 05:49]:
> On Mon, Jan 23, 2017 at 3:01 PM, Tony Lindgren <tony@atomide.com> wrote:
> > * Adam Ford <aford173@gmail.com> [170123 11:51]:
> >> On Mon, Jan 23, 2017 at 12:58 PM, Tony Lindgren <tony@atomide.com> wrote:
> >> > * aford173@gmail.com <aford173@gmail.com> [170120 10:10]:
> >> >> From: Adam Ford <aford173@gmail.com>
> >> >>
> >> >> This fixes commit ab8dd3aed011 ("ARM: DTS: Add minimal Support for
> >> >> Logic PD DM3730 SOM-LV") where the system may not successfully
> >> >> start after a reboot.
> >> >
> >> > Hmm so what goes wrong here? And which compatible do you end up
> >> > using that works?
> >>
> >> The issue was the bootloader (MLO) would load, but it would throw an
> >> error unable to load anything (like U-boot)  from the MMC.      After
> >> reading the binding, the twl4030-power-reset seemed like a good
> >> option, so I added it.
> >
> > OK..
> >
> >> I didn't think the compatible options were mutually exclusive, because
> >> the original device tree you did the for the Torpedo had both
> >> "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle" enabled, so I
> >> added the "ti,twl4030-power-reset" option.
> >>
> >> Looking at binding, I thought I should have the more generic
> >> compatible = "ti,twl4030-power" added, but it doesn't appear to change
> >> the behavior, so I'm ok with removing that.
> >>
> >> Either way, it appears as if II need the "ti,twl4030-power-reset" to
> >> address the bootloader hanging.  Does that mean I have to remove the
> >> other  "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle" flags?
> >
> > Hmm I think we may have a bug somewhere. The "ti,twl4030-power-reset"
> > should be a subset of "ti,twl4030-power-idle" which is a subset of
> > "ti,twl4030-power-idle-osc-off".
> >
> > Maybe try adding some printks to the driver to see if the power-reset
> > features are configured with power-idle-osc-off?
> 
> I did some testing with the stable 4.9.y branch.  I set
> 
> 
> Using only the power-idle-osc-off, I was able to observe the following:
> 
> [    2.425842] TWL4030_WAKEUP12_SCRIPT
> [    2.434448] TWL4030_WAKEUP3_SCRIPT
> [    2.453979] TWL4030_WRST_SCRIPT
> [    2.460754] TWL4030_SLEEP_SCRIPT
> 
> Reboot was not successful.
> 
> The "ti,twl4030-power-reset" flag only showed
> [    2.439392] TWL4030_WRST_SCRIPT
> 
> Reboot was successful.
> 
> 
> and with just the "ti,twl4030-power-idle" flag, I received:
> 
> [    2.426177] TWL4030_WAKEUP12_SCRIPT
> [    2.434783] TWL4030_WAKEUP3_SCRIPT
> [    2.454315] TWL4030_WRST_SCRIPT
> [    2.461090] TWL4030_SLEEP_SCRIPT
> 
> Reboot was not successful.

OK so the TWL4030_WRST_SCRIPT is configured in all cases. So most
likely it's one of the regulators that either can't idle or can't be
shut off during idle.

> > From PM point of view, you really want to use all features with
> > "ti,twl4030-power-idle-osc-off" if your hardware allows cutting off
> > the oscillator during idle :)
> 
> I haven't observed any issues with "ti,twl4030-power-idle-osc-off"
> during normal operation or during sleep, but if the system cannot
> reboot, we can't use it.
> 
> Do you have any suggestions?  If not, I may have to switch the
> compatible flat to "ti,twl4030-power-reset" for compatibility reason.
> I have a couple customers inquiring with the same reboot issue, and
> this fixes their issue in both instances.

Yes comment out one line at a time in omap3_idle_rconfig and see
which regulator needs to stay on for you for reboot to work.

Also see if adding or leaving out "ti,system-power-controller" or
"ti,use_poweroff" makes a difference.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Adam Ford Jan. 24, 2017, 6:23 p.m. UTC | #6
On Tue, Jan 24, 2017 at 8:59 AM, Tony Lindgren <tony@atomide.com> wrote:
> * Adam Ford <aford173@gmail.com> [170124 05:49]:
>> On Mon, Jan 23, 2017 at 3:01 PM, Tony Lindgren <tony@atomide.com> wrote:
>> > * Adam Ford <aford173@gmail.com> [170123 11:51]:
>> >> On Mon, Jan 23, 2017 at 12:58 PM, Tony Lindgren <tony@atomide.com> wrote:
>> >> > * aford173@gmail.com <aford173@gmail.com> [170120 10:10]:
>> >> >> From: Adam Ford <aford173@gmail.com>
>> >> >>
>> >> >> This fixes commit ab8dd3aed011 ("ARM: DTS: Add minimal Support for
>> >> >> Logic PD DM3730 SOM-LV") where the system may not successfully
>> >> >> start after a reboot.
>> >> >
>> >> > Hmm so what goes wrong here? And which compatible do you end up
>> >> > using that works?
>> >>
>> >> The issue was the bootloader (MLO) would load, but it would throw an
>> >> error unable to load anything (like U-boot)  from the MMC.      After
>> >> reading the binding, the twl4030-power-reset seemed like a good
>> >> option, so I added it.
>> >
>> > OK..
>> >
>> >> I didn't think the compatible options were mutually exclusive, because
>> >> the original device tree you did the for the Torpedo had both
>> >> "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle" enabled, so I
>> >> added the "ti,twl4030-power-reset" option.
>> >>
>> >> Looking at binding, I thought I should have the more generic
>> >> compatible = "ti,twl4030-power" added, but it doesn't appear to change
>> >> the behavior, so I'm ok with removing that.
>> >>
>> >> Either way, it appears as if II need the "ti,twl4030-power-reset" to
>> >> address the bootloader hanging.  Does that mean I have to remove the
>> >> other  "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle" flags?
>> >
>> > Hmm I think we may have a bug somewhere. The "ti,twl4030-power-reset"
>> > should be a subset of "ti,twl4030-power-idle" which is a subset of
>> > "ti,twl4030-power-idle-osc-off".
>> >
>> > Maybe try adding some printks to the driver to see if the power-reset
>> > features are configured with power-idle-osc-off?
>>
>> I did some testing with the stable 4.9.y branch.  I set
>>
>>
>> Using only the power-idle-osc-off, I was able to observe the following:
>>
>> [    2.425842] TWL4030_WAKEUP12_SCRIPT
>> [    2.434448] TWL4030_WAKEUP3_SCRIPT
>> [    2.453979] TWL4030_WRST_SCRIPT
>> [    2.460754] TWL4030_SLEEP_SCRIPT
>>
>> Reboot was not successful.
>>
>> The "ti,twl4030-power-reset" flag only showed
>> [    2.439392] TWL4030_WRST_SCRIPT
>>
>> Reboot was successful.
>>
>>
>> and with just the "ti,twl4030-power-idle" flag, I received:
>>
>> [    2.426177] TWL4030_WAKEUP12_SCRIPT
>> [    2.434783] TWL4030_WAKEUP3_SCRIPT
>> [    2.454315] TWL4030_WRST_SCRIPT
>> [    2.461090] TWL4030_SLEEP_SCRIPT
>>
>> Reboot was not successful.
>
> OK so the TWL4030_WRST_SCRIPT is configured in all cases. So most
> likely it's one of the regulators that either can't idle or can't be
> shut off during idle.
>
>> > From PM point of view, you really want to use all features with
>> > "ti,twl4030-power-idle-osc-off" if your hardware allows cutting off
>> > the oscillator during idle :)
>>
>> I haven't observed any issues with "ti,twl4030-power-idle-osc-off"
>> during normal operation or during sleep, but if the system cannot
>> reboot, we can't use it.
>>
>> Do you have any suggestions?  If not, I may have to switch the
>> compatible flat to "ti,twl4030-power-reset" for compatibility reason.
>> I have a couple customers inquiring with the same reboot issue, and
>> this fixes their issue in both instances.
>
> Yes comment out one line at a time in omap3_idle_rconfig and see
> which regulator needs to stay on for you for reboot to work.

I appreciate you help on this.  I commented out every line and the
issue never resolved itself.  If anything commenting out
TWL_REMAP_OFF(RES_VPLL1, DEV_GRP_P1, 3, 1),  made the
problem worse, because MLO didn't even load.

> Also see if adding or leaving out "ti,system-power-controller" or
> "ti,use_poweroff" makes a difference.

I tried removing that before I did anything else, and it didn't appear
to make any difference.  If you have any other ideas, I'm willing to try stuff.
I'll continue to dig around in here.

> Regards,
>
> Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tony Lindgren Jan. 24, 2017, 6:39 p.m. UTC | #7
* Adam Ford <aford173@gmail.com> [170124 10:24]:
> I appreciate you help on this.  I commented out every line and the
> issue never resolved itself.  If anything commenting out
> TWL_REMAP_OFF(RES_VPLL1, DEV_GRP_P1, 3, 1),  made the
> problem worse, because MLO didn't even load.

Hmm. Maybe it's the order of the configurations? See the notes about
bad order in load_twl4030_script().

Maybe try adding the reset configuration first?

> > Also see if adding or leaving out "ti,system-power-controller" or
> > "ti,use_poweroff" makes a difference.
> 
> I tried removing that before I did anything else, and it didn't appear
> to make any difference.  If you have any other ideas, I'm willing to try stuff.
> I'll continue to dig around in here.

OK. I would try adding one configuration at a time and see if the
order or something in the configuration affects it.

Note that you may need to power cycle the device for some time to
clear any state in twl4030 if something goes wrong.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Adam Ford Jan. 24, 2017, 8:40 p.m. UTC | #8
On Tue, Jan 24, 2017 at 12:39 PM, Tony Lindgren <tony@atomide.com> wrote:
> * Adam Ford <aford173@gmail.com> [170124 10:24]:
>> I appreciate you help on this.  I commented out every line and the
>> issue never resolved itself.  If anything commenting out
>> TWL_REMAP_OFF(RES_VPLL1, DEV_GRP_P1, 3, 1),  made the
>> problem worse, because MLO didn't even load.
>
> Hmm. Maybe it's the order of the configurations? See the notes about
> bad order in load_twl4030_script().
>
> Maybe try adding the reset configuration first?
>
>> > Also see if adding or leaving out "ti,system-power-controller" or
>> > "ti,use_poweroff" makes a difference.
>>
>> I tried removing that before I did anything else, and it didn't appear
>> to make any difference.  If you have any other ideas, I'm willing to try stuff.
>> I'll continue to dig around in here.
>
> OK. I would try adding one configuration at a time and see if the
> order or something in the configuration affects it.

It appears as if the first 'compatible' flag is the only one accepted.
Any subsequent ones are ignored.

I played around with a few different options including reordering
omap3_idle_scripts so omap3_wrst_script or first and neither did the
trick.

I added a bunch of debug code to see if we were getting any errors.

(sidenote: the error handing in twl4030-power.c is very inconsistent.
in some places we just exit on error with no message, and other places
we display an error and other places we display what failed.  I am not
complaining because I didn't hit any of the error traps, but this may
be hard for others to troubleshoot)

I know this doesn't say much, but the one line of code that made the
system work was to disable:

 /* Set ACTIVE to SLEEP SEQ address in T2 memory*/
err = twl_i2c_write_u8(TWL_MODULE_PM_MASTER, address, R_SEQ_ADD_A2S);

I am not an expert on the twl4030, but I am guessing that enables sleep.

Can you tell me what's different about the reboot sequence between the
the different power modes?  It seems to operate just fine in the
different power modes and the power savings is very nice.

From what I can tell, we only have one reset sequence, yet with the
low power modes, it fails to access the MMC1.  Is it possible that
something in the PBIAS registers do or do not reset correctly?

> Note that you may need to power cycle the device for some time to
> clear any state in twl4030 if something goes wrong.

Of course.  I have been doing that with the backup battery disconnected.

> Regards,
>
> Tony

adam
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Woodruff, Richard Jan. 26, 2017, 2:10 p.m. UTC | #9
>  /* Set ACTIVE to SLEEP SEQ address in T2 memory*/

> err = twl_i2c_write_u8(TWL_MODULE_PM_MASTER, address,

> R_SEQ_ADD_A2S);

> 

> I am not an expert on the twl4030, but I am guessing that enables

> sleep.


This PMIC at COLD reset uses internal OTP mask rom defaults for any sequencing needs.

After power up SW can programming in new sequences into PMIC internal SRAM. This flexibility is needed as the PMIC can control several different optional board level hook ups. To really program the PMIC correctly you have to know something about the boards requirements.

The above is telling the PMIC the address of the sequence to execute for an omap3 soc-level sleep event. The sequence is made up of internal write and delay commands.

If someone cares to understand, the PMIC memory can be dumped and the sequences examined. But as I said some of these sequences 'should' have a board-to-pmic hook up dependency.  Not all sequences will make sense for every board design. Generally to get OFF modes done correctly and optimized this level of detail needs to be handled.

Using trial and error maybe you can arrive with something which doesn't crash... but it might not really be doing the right thing. 

Regards,
Richard W.
diff mbox

Patch

diff --git a/arch/arm/boot/dts/logicpd-som-lv.dtsi b/arch/arm/boot/dts/logicpd-som-lv.dtsi
index 26cce4d..fe19e7d 100644
--- a/arch/arm/boot/dts/logicpd-som-lv.dtsi
+++ b/arch/arm/boot/dts/logicpd-som-lv.dtsi
@@ -261,7 +261,7 @@ 
 
 &twl {
 	twl_power: power {
-		compatible = "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle";
+		compatible = "ti,twl4030-power","ti,twl4030-power-reset", "ti,twl4030-power-idle-osc-off", "ti,twl4030-power-idle";
 		ti,use_poweroff;
 	};
 };