re: USB-C P/D hardware design question
So far: there's a single standard (TCPC) for port controllers, so you can use a chip from TI/NXP/Infineon that handles the PD protocol, and talk I2C to it from your microcontroller to configure modes etc. Means you have free choice in microcontroller but the only software stack is an adapation of Google's chromebook firmware, and all the others are purely focused on power, not alt modes.
Texas Instruments chips do offer a more all-in-one solution, but require some Windows application to flash configuration values into them
Infineon CCG3 has the "EZ-PD" stack, but also seems to have a specific version that comes pre-programmed for DP dongle applications, but isn't available through JLC SMT nor LCSC, and I'd especially like something JLC SMT has so I don't have to solder 40-QFN etc..
STM32 has 'Cube' software blocks for either doing the entire PD negotiation on chip, or talking the I2C TCPC protocol. Also seems like JLC SMT stocks a bunch of those again.