Add support for the ON Semiconductor NB7VPQ904M Type-C USB SuperSpeed and DisplayPort ALT Mode Linear Redriver chip found on some devices with a Type-C port. The redriver compensates ultra High-Speeed DisplayPort and USB Super Speed signal integrity losses mainly due to PCB & transmission cables. The redriver doesn't support SuperSpeed lines swapping, but can support Type-C SBU lines swapping. Support is designed as a Type-C Switch and Mux, and can propagate orientation settings to the source endpoint, which is usually a Super Speed PHY which does the data lanes swapping. Bindings are added first and can handle the fact data lanes pairs can be swapped on the PCB. Compile-time dependencies: - svid removal at [1] [1] https://lore.kernel.org/all/20230526131434.46920-1-heikki.krogerus@xxxxxxxxxxxxxxx/ Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx> --- Dmitry Baryshkov (1): usb: typec: add support for the nb7vpq904m Type-C Linear Redriver Neil Armstrong (1): dt-bindings: usb: add ON Semiconductor nb7vpq904m Type-C Linear Redriver bindings .../devicetree/bindings/usb/onnn,nb7vpq904m.yaml | 141 ++++++ drivers/usb/typec/mux/Kconfig | 8 + drivers/usb/typec/mux/Makefile | 1 + drivers/usb/typec/mux/nb7vpq904m.c | 526 +++++++++++++++++++++ 4 files changed, 676 insertions(+) --- base-commit: ac9a78681b921877518763ba0e89202254349d1b change-id: 20230601-topic-sm8x50-upstream-redriver-6e261edd5cb4 Best regards, -- Neil Armstrong <neil.armstrong@xxxxxxxxxx>