Re: [PATCH RFC 08/12] arm64: dts: qcom: pmi8998: Add USB Type-C port controller node
From: Bryan O'Donoghue
Date: Sat Sep 26 2026 - 10:29:13 EST
On 26/09/2026 13:40, David Heidelberg via B4 Relay wrote:
From: David Heidelberg <david@xxxxxxx>Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
Add the pmi8998 Type-C port controller and PD PHY device node.
The Type-C CC logic is at USBIN base 0x1300 and the PD PHY is at 0x1700.
The node uses the 'type-c-change' interrupt from the USBIN peripheral
for CC state notifications, plus the 8 PD PHY interrupts, including
fr-swap.
The node is disabled by default; individual boards enable it and provide
the USB-C connector description with PD capabilities and port graph.
Assisted-by: LLM
Signed-off-by: David Heidelberg <david@xxxxxxx>
---
arch/arm64/boot/dts/qcom/pmi8998.dtsi | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/pmi8998.dtsi b/arch/arm64/boot/dts/qcom/pmi8998.dtsi
index cd3f0790fd420..878e577c667d0 100644
--- a/arch/arm64/boot/dts/qcom/pmi8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/pmi8998.dtsi
@@ -24,16 +24,43 @@ pmi8998_charger: charger@1000 {
io-channels = <&pmi8998_rradc 3>,
<&pmi8998_rradc 4>;
io-channel-names = "usbin_i", "usbin_v";
status = "disabled";
};
+ pmi8998_typec: typec@1300 {
+ compatible = "qcom,pmi8998-typec";
+ reg = <0x1300>,
+ <0x1700>;
+
+ interrupts = <0x2 0x13 0x7 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x17 0x0 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x17 0x1 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x17 0x2 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x17 0x3 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x17 0x4 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x17 0x5 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x17 0x6 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x17 0x7 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "type-c-change",
+ "sig-tx",
+ "sig-rx",
+ "msg-tx",
+ "msg-rx",
+ "msg-tx-failed",
+ "msg-tx-discarded",
+ "msg-rx-discarded",
+ "fr-swap";
+
+ status = "disabled";
+ };
+