I understand I set the requested USB power levels in the configuration descriptors.
My FX3 has a requirement to turn on some additional hardware once the requested power levels are granted: how do I tell when that has happened?
Are there events/callbacks for that, or can I read certain registers for it?
Yes, the required power should be specified in the configuration descriptors. Generally once FX3 is enumerated it can draw the requested power from the host.
You can register a callback in the firmware when you receive a SET_CONF request from the host. In handling that callback you can provide the power to the external hardware.