[PATCH v5 0/6] arm64: qcom: add Type-C Altmode support

From: Neil Armstrong
Date: Mon Jun 19 2023 - 04:07:57 EST


This adds the missing bits to support the USB-C Altmode
support on SM8550.

These are the following changes since the previous SM8450 SoC:
- No more GLINK altmode events for USB only changes, only DP
- Type-C orientation is available on a PMIC signal connected
to a GPIO line
- When altmode is disconnected, an 0xff mode event is sent.

The 0xff altmode is translated as a SAFE type-c mux mode.

The fact No more GLINK altmode events for USB needs to be resolved
in a separate patchset.

Redriver driver & bindings dependency at [1].

[1] https://lore.kernel.org/all/20230601-topic-sm8x50-upstream-redriver-v2-0-dda89b22b1c0@xxxxxxxxxx/

Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
---
Changes in v5:
- switch to single port instead of ports for fsa node in MTP & QRD
- Link to v4: https://lore.kernel.org/r/20230601-topic-sm8550-upstream-type-c-v4-0-eb2ae960b8dc@xxxxxxxxxx

Changes in v4:
- Drop the orientation gpio handling code and bindings until the situatin is resolved
- Link to v3: https://lore.kernel.org/r/20230601-topic-sm8550-upstream-type-c-v3-0-22c9973012b6@xxxxxxxxxx

Changes in v3:
- Fix fsa node names in both QRD amd MTP nodes
- Add missing orientation-gpios in MTP dt
- Remove invalid svid property
- Link to v2: https://lore.kernel.org/r/20230601-topic-sm8550-upstream-type-c-v2-0-3bbdf37575c3@xxxxxxxxxx

Changes in v2:
- Updated redriver node to use retimer-switch on QRD
- Fixed redriver data-lane according to v2 bindings
- Added review/ack tags
- Added new change to handle retimer-switch in pmic-glink altmode driver
- Link to v1: https://lore.kernel.org/r/20230601-topic-sm8550-upstream-type-c-v1-0-d4d97b4d8bab@xxxxxxxxxx

---
Neil Armstrong (6):
soc: qcom: pmic_glink_altmode: handle safe mode when disconnect
qcom: pmic_glink_altmode: add retimer-switch support
qcom: pmic_glink: enable altmode for SM8550
arm64: dts: qcom: sm8550: add ports subnodes in usb/dp qmpphy node
arm64: dts: qcom: sm8550-mtp: add pmic glink port/endpoints
arm64: dts: qcom: sm8550-qrd: add pmic glink port/endpoints

arch/arm64/boot/dts/qcom/sm8550-mtp.dts | 59 ++++++++++++++++++++-
arch/arm64/boot/dts/qcom/sm8550-qrd.dts | 91 ++++++++++++++++++++++++++++++++-
arch/arm64/boot/dts/qcom/sm8550.dtsi | 26 ++++++++++
drivers/soc/qcom/pmic_glink.c | 6 +--
drivers/soc/qcom/pmic_glink_altmode.c | 61 +++++++++++++++++++++-
5 files changed, 233 insertions(+), 10 deletions(-)
---
base-commit: e602e10c923db4435573997d383a145ee38ae333
change-id: 20230601-topic-sm8550-upstream-type-c-e85b4d971450

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