I think I'm going to just scrap this new dwc2 driver I was writing and try to fix the old one again. The old one wasn't initializing the port correctly (couldn't figure out why), while my new one does, so I can probably just port over my initialization code to it.