I'm designing a USB battery charger, and I'm trying to use simple hardware (ICs are fine, just nothing that I have to upload firmware onto preferrably) to detect whether or not the USB socket I'm plugging the device into is USB3.0 or USB2.0, so I can safely determine how much current I can draw. I'm using a BQ2439RSER chip to determine if the socket I'm plugged into is a Standard Downstream Port, Charging Downstream Port, or a Dedicated Charging port. However, I'm running into trouble coming up with a simple way to check whether or not the host port is USB3.0 or USB2.0.
My initial thought was to check for pullups/pulldowns on any of the extra USB3 pins not present on a USB2 socket, however in all of the schematics I've looked at, the superspeed differential pairs have blocking capacitors on them (see page 11 of this datasheet http://www.ti.com/lit/an/slla329/slla329.pdf). My next though was to just check to see if the GND_DRAIN pin was connected to the common USB GND pin, but this post (USB3 with fewer wires) says that GND_DRAIN and GND are not necessarily going to be the same.
I don't need any of the RX/TX pairs to work or transmit data, I'm only interested in identifying maximum allowable current, and drawing it. I'm aware that some devices will limit me to 100mA, but in my experience these seem to be few and far between these days, so I'm willing to test the prototype without enumeration (worst case scenario I'll ad an FT232R host controller to take care of that later, but I'm trying to keep this as simple as possible).
Thanks for the help