We are trying to use a LPC11U68 as a controller for a battery-powered device, and the battery will be charged via USB. We would like to be standards-compliant, requesting 500mA via the USB configuration and waiting until the port (PC/hub/whatever) confirms that it can supply 500mA. We have a charger controller that we can set to draw 100mA or 500mA, but I cannot see how to figure out whether or not the PC or hub is OK with providing 500mA vs the default 100mA.
To complicate matters, I'd like to be able to charge at 500mA from a dumb charger as well, so I'd like to be able to distinguish the three cases: connected to a host that allows 500mA, connected to a host that doesn't, and connected to a device that provides power but no data. (We're early enough in the design cycle that 'you need a detector circuit for a charger' is still a useful answer.)