I’d like to bring a bit of clarification here and potentially clear up any confusion you might have through a little bit of history.
When they noticed the demand for more power than the old 500mA@5V could provide, the USB Implementers Forum came up in 2007 with USB Battery Charging (currently in rev 1.2, specification here) which, allowed devices to request 1.5A@5V while still maintaining a data link with a computer.
They later came up in 2012 with USB Power Delivery rev 1.0 which allowed for negotiation of up to 5A@20V on Type-A and Type-B connectors, but I believe in only started to get adopted with the rev 2.0 (specification here) and the introduction of the Type-C connector.
USB VID and PID are completely separate from any BC or PD consideration, they are necessary when you want to make use of the data link provided by USB, which seems to be your case so you should probably have that sorted out. But buying a VID and PID is not mandatory, as some microcontroller manufacturers will already have default ones you can use, and some dedicated chips manufacturers such as FTDI will take care of the whole USB stack for you.
USB BC has a handshake based on voltage on D+/D- lines before any data link is established. I have not clue as to how USB PD 1.0 works. USB PD 2.0/3.0 communicates over CCx lines completely separate from D+/D- lines.
So as a quick recap :
- You don’t need a data link to negotiate more power.
- You don’t need to buy a VID/PID to have a data link (unless you have specific needs).
- PD negotiation is more complicated than using resistors on CCx pins, it requires firmware.
- A chip like Diodes Incorporated PI3USB9281 will help you detect a BC 1.2 charger.
- A chip like STMicroelectronics STUSB4500 will take care of PD negotiation without you needing to write firmware.
- The PD protocol is not that complicated, I heard Dave’s rant about it in the podcast, but I’ve managed to write firmware for a Sink device in about 1500 lines, but I wouldn’t have succeeded without a protocol analyzer.
I feel like I should also mention USB Quick Charge, which is a proprietary protocol from Qualcomm that can deliver up to 1.5A@12V and that has been reverse engineered.
Hope this helps,