[PATCH RFC 00/12] Qualcomm Type-C support for 1st generation
From: David Heidelberg via B4 Relay
Date: Sat Sep 26 2026 - 08:41:04 EST
This series adds basic USB Type-C support for 1st gen devices, covering
configurations that do not require VBUS power (e.g. devices using
externally powered docks).
VBUS support will be added in a follow-up series after this one is merged.
Supporting VBUS will likely require refactoring parts of the SMBX charger
support, which is why it is not included here.
Tested with an externally powered dock station:
- Pixel 3 / 3 XL
- SHIFT 6mq
- OnePlus 6
Tested with an additional, not-yet-included VBUS patch for non-powered
devices:
- Xiaomi Redmi Note 7
- Xiaomi Mi Pad 4
Credits to everyone who has contributed to Type-C enablement before:
Casey Connolly
Zachary Dry — LLM generation and testing
Max Furman — LLM generation and testing
Signed-off-by: David Heidelberg <david@xxxxxxx>
---
Alexey Minnekhanov (1):
arm64: dts: qcom: pm660: Add USB Type-C port controller node
David Heidelberg (11):
usb: typec: tcpm: qcom: Release the connector fwnode reference
dt-bindings: usb: qcom,pmic-typec: Update example with vbus-supply
dt-bindings: usb: Add Qualcomm 1st-gen PMIC Type-C
usb: typec: qcom: Make PMIC port probe selectable
usb: typec: qcom: Make typec_port accept also different structure
usb: typec: qcom: Add gen1 Type-C port support
arm64: dts: qcom: pmi8998: Add USB Type-C port controller node
arm64: dts: qcom: sdm670-google-common: Enable USB Type-C port controller
arm64: dts: qcom: sdm845-google-common: Enable USB Type-C port controller
arm64: dts: qcom: sdm845-oneplus-common: Enable USB Type-C port controller
arm64: dts: qcom: sdm845-shift-axolotl: Enable USB Type-C port controller
.../devicetree/bindings/mfd/qcom,spmi-pmic.yaml | 4 +-
.../bindings/usb/qcom,pmic-typec-gen1.yaml | 130 +++++
.../devicetree/bindings/usb/qcom,pmic-typec.yaml | 3 +-
arch/arm64/boot/dts/qcom/pm660.dtsi | 27 +
arch/arm64/boot/dts/qcom/pmi8998.dtsi | 27 +
arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi | 51 +-
arch/arm64/boot/dts/qcom/sdm845-google-common.dtsi | 59 +-
.../arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi | 48 +-
arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts | 62 ++-
drivers/usb/typec/tcpm/qcom/Makefile | 1 +
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c | 20 +-
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.h | 2 +-
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c | 2 +
.../typec/tcpm/qcom/qcom_pmic_typec_port_gen1.c | 605 +++++++++++++++++++++
.../typec/tcpm/qcom/qcom_pmic_typec_port_gen1.h | 15 +
15 files changed, 1045 insertions(+), 11 deletions(-)
---
base-commit: 7079a12d7506b07fb53b54a664bfad5fa9b16d70
change-id: 20260922-typec-6c48ef7ac8b0
Best regards,
--
David Heidelberg <david@xxxxxxx>