As I understand, the BC1.2 spec defines three types of USB port:
- SDP, 100mA init, up to 500mA negotiable (900mA for USB3)
- CDP, variable current limit depending on the protocol mode
- 1.5A for low and full speed modes
- 900mA for high speed mode
- 560mA during the high speed negotiation (chirp)
- DCP, Up to 1.8A depending on the rating of the USB cable and connectors, the standard is 1.5A
I'm looking for an IC that allows me to detect the different modes and make best use of the available current, but at the same time use this USB port as a data interface. As I understand there are two types of ICs that TI provides.
- Simple identification with data pass through, allows the USB port to be used for both data and power, but cannot differentiate between CDP and DCP, let alone the different modes of CDP.
- A slightly more advanced IC which enumerates itself but doesn't support data pass through. Can detect difference between CDP and DCP, but cannot be used also as data port.
The closest I have found so far is a competitive product from Maxim, MAX14578E (http://www.maximintegrated.com/datasheet/index.mvp/id/7094) but in retrospect, it appears that although this chip provides some advanced USB charger detection, it is also unable to differentiate the different CDP modes.
To restate the question, is it possible for an IC to detect the correct current limit for CDP without enumerating? and, does TI have such a device or combination of devices that can achieve this?