V3: - Updates error flow for connector as indicated by Heikki. V2: - Updates the git commit to include a link to the TI document which describes firmware configuration - Andy - Pads out the description a bit to include information on baking the data-role into the firmware with the referenced utility. V1: This patch - adds USB role switching to the TI TPS6598x. It has been tested out with a ChipIdea controller inside a Qualcomm MSM8939. Right now you need to have configured the TPS firmware with the TI configuration tool so that the chip knows if it should initiate or accept data and power role swaps. https://www.ti.com/lit/an/slva843a/slva843a.pdf Heikki mentioned that on the ACPI systems the firmware had been pre-configured to do data/power role swaps. On the hardware I have this is the case also, which is why I did't invest more time in adding DT bindings to control data/power roles that I don't need or necessarily support with the reference hardware. As-is this code will do role-swappping nicely for me, and I think should be safe on existing ACPI systems. Bryan O'Donoghue (1): usb: typec: tps6598x: Add USB role switching logic drivers/usb/typec/tps6598x.c | 57 +++++++++++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 7 deletions(-) -- 2.25.1