The Parade PS5169 is an USB Type-C linear redriver capable of handling:
- Two-lane USB 3.2 Gen2x2, at 10Gb/s
- Four-lane DP 1.4, at HBR3 (8.1Gb/s)
- Two-lane USB 3.2 Gen2x2, at 10Gb/s AND two-lane DP 1.4, at HBR3
(8.1Gb/s)

This redriver features programmable equalization and gain settings.
This series also future-proofs the binding and adds support for the
Parade PS5170.
Unlike PS5169, PS5170 embeds the AUX switch into the redriver.

The PS5169 redriver is found in the Motorola ThinkPhone by motorola,
device in which this driver was tested on.

Given Parade does not publish datasheets for their redrivers/retimers,
this implementation is based on downstream drivers.
Most of my work is based on [1], while registers were decoded from other
implementations, such as [2] and [3].

Switch/retimer set functions were adapted from NB7VPQ904M/PTN36502
implementations.

[1] 
https://github.com/LineageOS/android_kernel_motorola_sm8475/blob/lineage-22.2/drivers/usb/misc/ssusb-redriver-ps5169.c
[2] 
https://github.com/ilsubyeega/tb321fu-zui16/blob/main/kernel-6.1.68/kernel/drivers/usb/redriver/ps5169.c
[3] 
https://github.com/ferstar/xiaomi_xaga_kernel/blob/mglru/drivers/misc/mediatek/typec/mux/ps5170.c

Signed-off-by: Esteban Urrutia <[email protected]>
---
Changes in v3:
- Change data type for equalization level.
- Fix port refs in DT. (Krzysztof)
- Normalize DT syntax.
- Normalize register and respective bit/mask/value defines/names.
- Properly handle if-then condition in DT. (Krzysztof)
- Properly handle mutex init.
- Remove parade,aux-rx-data-reverse.
  - Will be added back when its effects can be properly described.
  - Related registers have been kept.
- Use -db instead of -level for equalization properties. (Krzysztof)
- Use __le16 data type instead of using the cpu_to_le16() macro.
- Link to v2: 
https://patch.msgid.link/[email protected]

Changes in v2:
- Fix valid issues raised by Sashiko
- Link to v1: 
https://patch.msgid.link/[email protected]

---
Esteban Urrutia (2):
      dt-bindings: usb: Add Parade PS5169 redriver bindings
      usb: typec: Add support for Parade PS5169 USB Type-C redriver

 .../devicetree/bindings/usb/parade,ps5169.yaml     | 193 +++++++
 MAINTAINERS                                        |   7 +
 drivers/usb/typec/mux/Kconfig                      |  10 +
 drivers/usb/typec/mux/Makefile                     |   1 +
 drivers/usb/typec/mux/ps5169.c                     | 592 +++++++++++++++++++++
 5 files changed, 803 insertions(+)
---
base-commit: 3d08ff75a47a3e7e2ab45a3bcab6723b4d906422
change-id: 20260726-ps5169-bup-8076851dc255

Best regards,
--  
Esteban Urrutia <[email protected]>



Reply via email to