This series introduces a binding for Type-C data lane switches. These control the routing and operating modes of USB Type-C data lanes based on the PD messaging from the Type-C port driver regarding connected peripherals.
The first 2 patches introduce the new "typec-switch" binding as well as one user of it (the ANX7625 drm bridge).
Patches 3-5 add functionality to the anx7625 driver to register the mode-switches, as well as program its crosspoint switch depending on which Type-C port has a DisplayPort (DP) peripheral connected to it.
Patch 6-9 add similar bindings update and Type-C switch support to the it6505 driver.
v4: https://lore.kernel.org/linux-usb/20220615172129.1314056-8-pmalani@chromium....
Changes in v5: - Rebased on usb-next, so removed Patch v4 1/7 and Patch v4 2/7 from this version (v5) since they are already in usb-next. - Added newer Reviewed-by tags. - Added new patches (6-9) in this version for a 2nd example (it6505) of a binding of the user.
Patch submission suggestions: Option 1: - Bindings patches 1/9 and 2/9 can go through the USB repo (since they are already reviewed from v4 [1]). - Bindings patch 6/9 can go through the USB repo, and the remaining patches (3-5,7-9) can go through the DRM repo. <or> - Patches 3-9 can all go through the DRM repo.
Option 2: - All patches (1-9) go through the USB repo.
(My apologies if I've made this confusing, and I appreciate any suggestions for better submission strategy).
[1]: https://lore.kernel.org/linux-usb/YrMxFeMc0tk%2FK1qL@kroah.com/
Pin-Yen Lin (5): drm/bridge: anx7625: Add typec_mux_set callback function dt/bindings: drm/bridge: it6505: Add mode-switch support drm/bridge: it6505: Register number of Type C switches drm/bridge: it6505: Register Type-C mode switches drm/bridge: it6505: Add typec_mux_set callback function
Prashant Malani (4): dt-bindings: usb: Add Type-C switch binding dt-bindings: drm/bridge: anx7625: Add mode-switch support drm/bridge: anx7625: Register number of Type C switches drm/bridge: anx7625: Register Type-C mode switches
.../display/bridge/analogix,anx7625.yaml | 64 +++++++ .../bindings/display/bridge/ite,it6505.yaml | 97 +++++++++- .../devicetree/bindings/usb/typec-switch.yaml | 74 ++++++++ drivers/gpu/drm/bridge/analogix/anx7625.c | 148 +++++++++++++++ drivers/gpu/drm/bridge/analogix/anx7625.h | 20 ++ drivers/gpu/drm/bridge/ite-it6505.c | 171 +++++++++++++++++- 6 files changed, 569 insertions(+), 5 deletions(-) create mode 100644 Documentation/devicetree/bindings/usb/typec-switch.yaml