Hi,

We are using TPS65951 for our product with Linux-2.6.35  from omapgit.

When OMAP goes to suspend mode we need to turn off VDD1/VDD2/HFCLK.

Currently when OMAP switches to suspend mode it toggles SYS_OFF_MODE(connected to nSLEEP1) signal to low.

At this point VDD1/VDD2 are going high to 1.2v instead of 0v and HFCLK is still on.

We have below mentioned script programmed to PMIC.

Need some help to understand why PMIC is not turning OFF VDD1/VDD2/HFCLK.

static struct twl4030_ins sleep_on_seq[] __initdata = {
        { MSG_SINGULAR(DEV_GRP_P1, 0x0f, RES_STATE_OFF   ), 2 }, /* Turn OFF VDD1     */
        { MSG_SINGULAR(DEV_GRP_P1, 0x10, RES_STATE_OFF   ), 2 }, /* Turn OFF VDD2     */
        { MSG_SINGULAR(DEV_GRP_P1, 0x07, RES_STATE_OFF   ), 2 }, /* Turn OFF VPLL1    */
        { MSG_SINGULAR(DEV_GRP_P1, 0x19, RES_STATE_OFF   ), 2 }, /* Turn OFF HFCLKOUT */
};

static struct twl4030_resconfig twl4030_rconfig[] = {
        { .resource = RES_HFCLKOUT, .devgroup = DEV_GRP_P3, .type = 0,
                .type2 = 0, .remap_sleep = TWL4030_RESCONFIG_UNDEF },
        { .resource = RES_VDD1, .devgroup = DEV_GRP_P1, .type = 4,
                .type2 = 0, .remap_sleep = TWL4030_RESCONFIG_UNDEF },
        { .resource = RES_VDD2, .devgroup = DEV_GRP_P1, .type = 3,
                .type2 = 0, .remap_sleep = TWL4030_RESCONFIG_UNDEF },
        { 0, 0 },
};

Thanks

Freddy Paul