Extcon for USB C
Use extcon to communicate between all of the various USB C parts.
This has been tested by me and @sebastian.krzyszkowiak but I'd like to get it checked with some other workflows before merging this.
I've been using the latest tps65982 firmware for this testing ( use the 5V firmware for Birch and Chestnut ) https://source.puri.sm/Librem5/firmware-tps6598x-nonfree/-/blob/master/tps65982-librem5-dp-alt-mode.bin
This should work on Birch or Chestnut as well as long as you have at least 1 working CC line and you apply power for external hubs.
To help debug you can enable dynamic debug statements
echo 'file drivers/power/supply/bq25890_charger.c +p' | sudo tee /sys/kernel/debug/dynamic_debug/control
echo 'file drivers/usb/typec/tps6598x.c +p' | sudo tee /sys/kernel/debug/dynamic_debug/control
echo 'file drivers/dwc3/* +p' | sudo tee /sys/kernel/debug/dynamic_debug/control