gorkish 4 days ago

It's not, per-se, a driver doing the PD negotiation in software; it's more that the USB chipset isnt initialized and configured for PD negotiation (or anything else for that matter) until the CPU twiddles its PCI configuration space.

I would have imagined that USB controller chipsets would likely offer some nonvolatile means to set the PD configuration (like jumpers or eeprom) precisely because of this issue. It's surprising to me that such a feature isnt common

2
jdndnxnd 4 days ago

Having persistent state between components is a nightmare in embedded world

Nevertheless I'm surprised USB controller initialization is done by the OS instead of the motherboard chipset

mrheosuper 4 days ago

it would be the role of embedded controller instead of SOC to handle PD negotiation. But on SBC, EC may not available.