USB Type-C charging - legacy devices
These are all the power modes supported by USB Type-C. The first entry is negotiated via the power delivery protocol, the second is set by the downstream facing port (host) having a 10k ohm pull-up resistor on the CC1 line, the third uses 22k resistor and the remainder are signaled by a 56k resistor. But it is easier than that for legacy devices, only the 56k option is allowed. Also, rather than the resistor being at the host end, it is in the cable since the CC line doesn’t connect through to the host. The problem with out of spec cables is that the device is allowed to use the maximum current that is advertised. If the legacy cable incorrectly advertises 3A, the client is allowed to pull 3A and doesn’t have to do any further detection.
Using a correct cable, if the host supports the USB Battery Charge spec, it can provide up to 1.5A or more if it is a dedicated charge port (no data). For the Nexus 5X and 6P, the USB 3.1 option won’t apply because they are USB2 devices. If the host is doesn’t support USB BC, then by the final option, charge current is limited to 500mA.