Hi Jeremy,
This is what I think you would need to do to reproduce the problem on the OM13056 board...
1. First this board uses USB. You would probably need to cut the USB tracks to the CPU or, at the least, remove the protection part (U3 PRTR5V0U2X). This is because there could be enough leakage through the part to pull D+/D- to valid logic levels. It is also possible that voltages outside the power rails are responsible for the excess current consumption and this part would stop that from happening. Remember, I am not using USB and I am following the datasheet recommendation to leave D+/D- unconnected. So you need to replicate this.
2. I am using a 48-pin part but I believe the die is the same as the 64-pin part, so that shouldn't be an issue.
3. You need to go into power down mode. My GPIOs are mixed input/output but I don't think that is relevant - just set all your outputs LOW and turn off all the GPIO pullups. Then turn off all the clocks and peripherals and go to power down mode (I leave the RTC running). This should reduce the current to about 5uA for the CPU.
4. However, I found this results in 30-60uA. Touching D+/D- makes a huge different, sometimes 1mA. However, if you pull up D+/D- to 3.3V (or presumably pull down), the current consumption drops to <10uA.
5. Since my board is already made, I used the trick in my OP where I turn on the D+ pullup and short the D+/D- pins. On my board this results in 7uA power for the whole product (about 1uA on the 3.3V regulator, 1uA for the RTC and the rest in the LPC1549). This aligns well with the datasheet value.
I believe what is happening is the D+/D- pins are left floating when the USB PHY is turned off. Non-logic levels on D+/D- including the possibility of levels above and below the power rails result in excess current consumption. Anything that pegs the pins to a reasonable level stops the excess current.
Dave