I know that by standard no device should ever try to draw more than 500mA from USB.
But a lot of phones and tablets can somehow identify their purpose made chargers and draw far more than 500mA from it.
How is this done?
I see two solutions, one digital and one analog.
Digital solution is to build some logic into the charger and use data lines to handshake.
Analog solution is to use a 5.2V or higher charging voltage so the logic is as simple as "if input voltage is greater than 5.0V, then it's our VERY powerful charger, forget about 500mA limit".
I'm using a LTC3556 power management chip. The input current limit can either programmed via I2C or by adjusting a resistor. http://www.linear.com/product/LTC3556