I can try to help, but I really don't have any experience with this issue. This is really being done all in software (ie, you are placing LPDDR2 in self-refresh with a software command).
So how is the LPDDR2 placed into self-refresh: Setting MCR0[FLPMD] in the M4IF block?
And how do you think that the LPDDR2 is coming out of self-refresh upon coming out of Deep Sleep Mode?
Cheers,
Mark