[PATCH v2 0/2] typec: add support for the ON Semiconductor nb7vpq904m Type-C Linear Redriver

From: Neil Armstrong
Date: Wed Jun 07 2023 - 03:52:08 EST


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 Retimer, 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>
---
Changes in v2:
- Switch to "retimer" infrastructure
- Slight style fixups after switch to retimer
- Bindings updates (did not keep Reviewed-by tag for those reasons)
- Update maintainer, was using Bjorn with invalid email
- Fixed swapped lanes mapping
- Switched to retimer-switch
- Fixed i2c top node in example
- Link to v1: https://lore.kernel.org/r/20230601-topic-sm8x50-upstream-redriver-v1-0-6ad21094ff6f@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 | 529 +++++++++++++++++++++
4 files changed, 679 insertions(+)
---
base-commit: ac9a78681b921877518763ba0e89202254349d1b
change-id: 20230601-topic-sm8x50-upstream-redriver-6e261edd5cb4

Best regards,
--
Neil Armstrong <neil.armstrong@xxxxxxxxxx>