All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v9 0/7] Add Qualcomm PMIC TPCM support
@ 2023-08-16 11:51 Bryan O'Donoghue
  2023-08-16 11:51 ` [PATCH v9 1/7] dt-bindings: mfd: qcom,spmi-pmic: Add typec to SPMI device types Bryan O'Donoghue
                   ` (7 more replies)
  0 siblings, 8 replies; 13+ messages in thread
From: Bryan O'Donoghue @ 2023-08-16 11:51 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, lee, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, sboyd, luca.weiss
  Cc: bryan.odonoghue, linux-arm-msm, devicetree, linux-kernel

V9:

- Reuses glink ports {} definitions and locations per Bjorn's request
- Adds additional port @ 2 to 8250.dtsi as a result - Bjorn
- Drops logic in previous patch
  "dt-bindings: phy: qcom,sc7180-qmp-usb3-dp-phy: Add input and output ports"
  No longer required
- I've amended the names of the endpoints to match sc8280xp too - bod

Bootable tree
Link: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/usb-next-23-08-15-pm8150b-typec

V8:
- Makes pm8150b_typec::status = disabled by default - bod
- Greg merged the TCPM description and driver to usb-next so two patches less now.
  I've rebased this series on to usb-next using "--base=auto"
  All of the kernel robot dts/yaml checks should now pass against usb-next / a4422ff221429c600c3dc5d0394fb3738b89d040

V7:
- Adds R/B to "dt-bindings: phy: qcom,sc7180-qmp-usb3-dp-phy: Add input and output ports" - Krzysztof
- Fixes indicated, adds R/B to "dt-bindings: usb: Add Qualcomm PMIC Type-C" - Krzysztof
- Fixes indicated, adds R/B to "usb: typec: qcom: Add Qualcomm PMIC Type-C driver" - Guenter
- Fixes indicated, adds R/B to "usb: typec: qcom: Add Qualcomm PMIC Type-C driver" - Caleb
- Adds R/B to "arm64: dts: qcom: sm8250: Define ports for qmpphy orientation-switching" - Konrad
- Adds R/B to "arm64: dts: qcom: qrb5165-rb5: Switch on Type-C VBUS boost" - Konrad
- Fixes indicated, adds R/B to "arm64: dts: qcom: qrb5165-rb5: Switch on basic TCPM" - Jianhua, Konrad
- Connector ports/endpoints left inside of connector
  Documentation/devicetree/bindings/connector/usb-connector.yaml - Jianhua
- dwc3_role_switch_in -> usb_1_dwc3_role_switch_in
  qmpphy_typec_mux_in -> usb_1_qmpphy_typec_mux_in
  Both ports/endpoints defined inside of pm8150b dtsi - Konrad

  I modified the name of both so that the port/endpoint would be directly
  adjacent to the containing node in the dtsi file for code locality/readbility - bod

- Fixes newline indicated "arm64: dts: qcom: qrb5165-rb5: Switch on TCPM usb-role-switching for usb_1" - Jianhua, Konrad
- Fixes newline indicated "arm64: dts: qcom: qrb5165-rb5: Switch on TCPM orientation-switch for usb_1_qmpphy" - Jianhua, Konrad

- connector
  I have left the connector defintion and its ports/endpoints in the platform dts

  The reason for this
  a) Prior art e.g. arch/arm64/boot/dts/qcom/sc8280xp*
  b) The connector is really a non-SoC/PMIC component its something that is defined
     for your platform.

  I'm open to further debate on this topic:
  Link: https://imgflip.com/i/7kw6ck

- port@1 -> port@1 "arm64: dts: qcom: qrb5165-rb5: Switch on TCPM orientation-switch for usb_1_qmpphy" - Jianhua

- OF: graph: no port node found in /soc@0/spmi@c440000/pmic@2/typec@1500

  I left this as-is since the DT model we want is to connect the connector directly to
  the PHY for orientation or controller for data-role switching

  I similarly didn't put this hack in place to remove the warning but "it would work"

V6:
 - I'm dropping the previous V1-V6 log because the text is getting too long
   here's a link to the previous cover letter instead
   Link: https://lore.kernel.org/linux-arm-msm/20230501121111.1058190-1-bryan.odonoghue@linaro.org/

Bryan O'Donoghue (7):
  dt-bindings: mfd: qcom,spmi-pmic: Add typec to SPMI device types
  arm64: dts: qcom: sm8250: Define ports for qmpphy
    orientation-switching
  arm64: dts: qcom: pm8150b: Add a TCPM description
  arm64: dts: qcom: qrb5165-rb5: Switch on Type-C VBUS boost
  arm64: dts: qcom: qrb5165-rb5: Switch on basic TCPM
  arm64: dts: qcom: qrb5165-rb5: Switch on TCPM usb-role-switching for
    usb_1
  arm64: dts: qcom: qrb5165-rb5: Switch on TCPM orientation-switch for
    usb_1_qmpphy

 .../bindings/mfd/qcom,spmi-pmic.yaml          |  4 ++
 arch/arm64/boot/dts/qcom/pm8150b.dtsi         | 40 +++++++++++++
 arch/arm64/boot/dts/qcom/qrb5165-rb5.dts      | 56 ++++++++++++++++++-
 arch/arm64/boot/dts/qcom/sm8250.dtsi          | 22 ++++++++
 4 files changed, 121 insertions(+), 1 deletion(-)

-- 
2.41.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v9 1/7] dt-bindings: mfd: qcom,spmi-pmic: Add typec to SPMI device types
  2023-08-16 11:51 [PATCH v9 0/7] Add Qualcomm PMIC TPCM support Bryan O'Donoghue
@ 2023-08-16 11:51 ` Bryan O'Donoghue
  2023-09-20  9:19   ` (subset) " Lee Jones
  2023-08-16 11:51 ` [PATCH v9 2/7] arm64: dts: qcom: sm8250: Define ports for qmpphy orientation-switching Bryan O'Donoghue
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 13+ messages in thread
From: Bryan O'Donoghue @ 2023-08-16 11:51 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, lee, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, sboyd, luca.weiss
  Cc: bryan.odonoghue, linux-arm-msm, devicetree, linux-kernel,
	Krzysztof Kozlowski

Add the PMIC Type-C port driver to the list of devices.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml b/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml
index 8b9a2008a354e..7fdbd15969d27 100644
--- a/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml
+++ b/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml
@@ -164,6 +164,10 @@ patternProperties:
     type: object
     $ref: /schemas/thermal/qcom,spmi-temp-alarm.yaml#
 
+  "^typec@[0-9a-f]+$":
+    type: object
+    $ref: /schemas/usb/qcom,pmic-typec.yaml#
+
   "^usb-detect@[0-9a-f]+$":
     type: object
     $ref: /schemas/extcon/qcom,pm8941-misc.yaml#
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v9 2/7] arm64: dts: qcom: sm8250: Define ports for qmpphy orientation-switching
  2023-08-16 11:51 [PATCH v9 0/7] Add Qualcomm PMIC TPCM support Bryan O'Donoghue
  2023-08-16 11:51 ` [PATCH v9 1/7] dt-bindings: mfd: qcom,spmi-pmic: Add typec to SPMI device types Bryan O'Donoghue
@ 2023-08-16 11:51 ` Bryan O'Donoghue
  2023-08-16 11:51 ` [PATCH v9 3/7] arm64: dts: qcom: pm8150b: Add a TCPM description Bryan O'Donoghue
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Bryan O'Donoghue @ 2023-08-16 11:51 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, lee, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, sboyd, luca.weiss
  Cc: bryan.odonoghue, linux-arm-msm, devicetree, linux-kernel

ports for orientation switching input and output. The individual board dts
files will instantiate port@0, port@1 and/or port@2 depending on the supported
feature-set.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8250.dtsi | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index 83ab6de459bc4..c79173504a3fd 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -3613,6 +3613,23 @@ dp_phy: dp-phy@88ea200 {
 				#phy-cells = <0>;
 				#clock-cells = <1>;
 			};
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@0 {
+					reg = <0>;
+				};
+
+				port@1 {
+					reg = <1>;
+				};
+
+				port@2 {
+					reg = <2>;
+				};
+			};
 		};
 
 		usb_2_qmpphy: phy@88eb000 {
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v9 3/7] arm64: dts: qcom: pm8150b: Add a TCPM description
  2023-08-16 11:51 [PATCH v9 0/7] Add Qualcomm PMIC TPCM support Bryan O'Donoghue
  2023-08-16 11:51 ` [PATCH v9 1/7] dt-bindings: mfd: qcom,spmi-pmic: Add typec to SPMI device types Bryan O'Donoghue
  2023-08-16 11:51 ` [PATCH v9 2/7] arm64: dts: qcom: sm8250: Define ports for qmpphy orientation-switching Bryan O'Donoghue
@ 2023-08-16 11:51 ` Bryan O'Donoghue
  2023-08-26 10:55   ` Konrad Dybcio
  2023-08-16 11:51 ` [PATCH v9 4/7] arm64: dts: qcom: qrb5165-rb5: Switch on Type-C VBUS boost Bryan O'Donoghue
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 13+ messages in thread
From: Bryan O'Donoghue @ 2023-08-16 11:51 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, lee, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, sboyd, luca.weiss
  Cc: bryan.odonoghue, linux-arm-msm, devicetree, linux-kernel

Type-C port management functionality lives inside of the PMIC block on
pm8150b.

The Type-C port management logic controls orientation detection, vbus/vconn
sense and to send/receive Type-C Power Domain messages.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 arch/arm64/boot/dts/qcom/pm8150b.dtsi | 40 +++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/pm8150b.dtsi b/arch/arm64/boot/dts/qcom/pm8150b.dtsi
index 66752cc063d60..136e5f96a3d53 100644
--- a/arch/arm64/boot/dts/qcom/pm8150b.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm8150b.dtsi
@@ -59,6 +59,46 @@ pm8150b_vbus: usb-vbus-regulator@1100 {
 			reg = <0x1100>;
 		};
 
+		pm8150b_typec: typec@1500 {
+			compatible = "qcom,pm8150b-typec";
+			status = "disabled";
+			reg = <0x1500>,
+			      <0x1700>;
+			interrupts = <0x2 0x15 0x00 IRQ_TYPE_EDGE_RISING>,
+				     <0x2 0x15 0x01 IRQ_TYPE_EDGE_BOTH>,
+				     <0x2 0x15 0x02 IRQ_TYPE_EDGE_RISING>,
+				     <0x2 0x15 0x03 IRQ_TYPE_EDGE_BOTH>,
+				     <0x2 0x15 0x04 IRQ_TYPE_EDGE_RISING>,
+				     <0x2 0x15 0x05 IRQ_TYPE_EDGE_RISING>,
+				     <0x2 0x15 0x06 IRQ_TYPE_EDGE_BOTH>,
+				     <0x2 0x15 0x07 IRQ_TYPE_EDGE_RISING>,
+				     <0x2 0x17 0x00 IRQ_TYPE_EDGE_RISING>,
+				     <0x2 0x17 0x01 IRQ_TYPE_EDGE_RISING>,
+				     <0x2 0x17 0x02 IRQ_TYPE_EDGE_RISING>,
+				     <0x2 0x17 0x03 IRQ_TYPE_EDGE_RISING>,
+				     <0x2 0x17 0x04 IRQ_TYPE_EDGE_RISING>,
+				     <0x2 0x17 0x05 IRQ_TYPE_EDGE_RISING>,
+				     <0x2 0x17 0x06 IRQ_TYPE_EDGE_RISING>,
+				     <0x2 0x17 0x07 IRQ_TYPE_EDGE_RISING>;
+			interrupt-names = "or-rid-detect-change",
+					  "vpd-detect",
+					  "cc-state-change",
+					  "vconn-oc",
+					  "vbus-change",
+					  "attach-detach",
+					  "legacy-cable-detect",
+					  "try-snk-src-detect",
+					  "sig-tx",
+					  "sig-rx",
+					  "msg-tx",
+					  "msg-rx",
+					  "msg-tx-failed",
+					  "msg-tx-discarded",
+					  "msg-rx-discarded",
+					  "fr-swap";
+			vdd-vbus-supply = <&pm8150b_vbus>;
+		};
+
 		pm8150b_temp: temp-alarm@2400 {
 			compatible = "qcom,spmi-temp-alarm";
 			reg = <0x2400>;
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v9 4/7] arm64: dts: qcom: qrb5165-rb5: Switch on Type-C VBUS boost
  2023-08-16 11:51 [PATCH v9 0/7] Add Qualcomm PMIC TPCM support Bryan O'Donoghue
                   ` (2 preceding siblings ...)
  2023-08-16 11:51 ` [PATCH v9 3/7] arm64: dts: qcom: pm8150b: Add a TCPM description Bryan O'Donoghue
@ 2023-08-16 11:51 ` Bryan O'Donoghue
  2023-08-16 11:51 ` [PATCH v9 5/7] arm64: dts: qcom: qrb5165-rb5: Switch on basic TCPM Bryan O'Donoghue
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Bryan O'Donoghue @ 2023-08-16 11:51 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, lee, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, sboyd, luca.weiss
  Cc: bryan.odonoghue, linux-arm-msm, devicetree, linux-kernel

Switch on VBUS for the Type-C port. We need to support a higher amperage
than the bootloader set 2 Amps.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
index 9022ad726741c..624d6ffc2f12f 100644
--- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
+++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
@@ -1334,3 +1334,9 @@ &qup_spi0_data_clk {
 	drive-strength = <6>;
 	bias-disable;
 };
+
+&pm8150b_vbus {
+	regulator-min-microamp = <500000>;
+	regulator-max-microamp = <3000000>;
+	status = "okay";
+};
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v9 5/7] arm64: dts: qcom: qrb5165-rb5: Switch on basic TCPM
  2023-08-16 11:51 [PATCH v9 0/7] Add Qualcomm PMIC TPCM support Bryan O'Donoghue
                   ` (3 preceding siblings ...)
  2023-08-16 11:51 ` [PATCH v9 4/7] arm64: dts: qcom: qrb5165-rb5: Switch on Type-C VBUS boost Bryan O'Donoghue
@ 2023-08-16 11:51 ` Bryan O'Donoghue
  2023-08-16 11:51 ` [PATCH v9 6/7] arm64: dts: qcom: qrb5165-rb5: Switch on TCPM usb-role-switching for usb_1 Bryan O'Donoghue
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Bryan O'Donoghue @ 2023-08-16 11:51 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, lee, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, sboyd, luca.weiss
  Cc: bryan.odonoghue, linux-arm-msm, devicetree, linux-kernel

Switch on TCPM for the RB5. Here we declare as a source only not a sink
since qrb5165 doesn't support powering exclusively from the type-c port.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
index 624d6ffc2f12f..55389f8903b5c 100644
--- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
+++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
@@ -9,6 +9,7 @@
 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 #include <dt-bindings/sound/qcom,q6afe.h>
 #include <dt-bindings/sound/qcom,q6asm.h>
+#include <dt-bindings/usb/pd.h>
 #include "sm8250.dtsi"
 #include "pm8150.dtsi"
 #include "pm8150b.dtsi"
@@ -1340,3 +1341,22 @@ &pm8150b_vbus {
 	regulator-max-microamp = <3000000>;
 	status = "okay";
 };
+
+&pm8150b_typec {
+	status = "okay";
+
+	vdd-pdphy-supply = <&vreg_l2a_3p1>;
+
+	connector {
+		compatible = "usb-c-connector";
+
+		power-role = "source";
+		data-role = "dual";
+		self-powered;
+
+		source-pdos = <PDO_FIXED(5000, 3000,
+					 PDO_FIXED_DUAL_ROLE |
+					 PDO_FIXED_USB_COMM |
+					 PDO_FIXED_DATA_SWAP)>;
+	};
+};
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v9 6/7] arm64: dts: qcom: qrb5165-rb5: Switch on TCPM usb-role-switching for usb_1
  2023-08-16 11:51 [PATCH v9 0/7] Add Qualcomm PMIC TPCM support Bryan O'Donoghue
                   ` (4 preceding siblings ...)
  2023-08-16 11:51 ` [PATCH v9 5/7] arm64: dts: qcom: qrb5165-rb5: Switch on basic TCPM Bryan O'Donoghue
@ 2023-08-16 11:51 ` Bryan O'Donoghue
  2023-08-26 10:54   ` Konrad Dybcio
  2023-08-16 11:51 ` [PATCH v9 7/7] arm64: dts: qcom: qrb5165-rb5: Switch on TCPM orientation-switch for usb_1_qmpphy Bryan O'Donoghue
  2023-09-20  2:13 ` (subset) [PATCH v9 0/7] Add Qualcomm PMIC TPCM support Bjorn Andersson
  7 siblings, 1 reply; 13+ messages in thread
From: Bryan O'Donoghue @ 2023-08-16 11:51 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, lee, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, sboyd, luca.weiss
  Cc: bryan.odonoghue, linux-arm-msm, devicetree, linux-kernel

Switch on usb-role-switching for usb_1 via TCPM. We need to declare
usb-role-switch in &usb_1 and associate with the remote-endpoint in TCPM
which provides the necessary signal.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 19 ++++++++++++++++++-
 arch/arm64/boot/dts/qcom/sm8250.dtsi     |  4 ++++
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
index 55389f8903b5c..3e34f4e2af14a 100644
--- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
+++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
@@ -1269,7 +1269,12 @@ &usb_1 {
 };
 
 &usb_1_dwc3 {
-	dr_mode = "peripheral";
+	dr_mode = "otg";
+	usb-role-switch;
+};
+
+&usb_1_role_switch_out {
+	remote-endpoint = <&pm8150b_role_switch_in>;
 };
 
 &usb_1_hsphy {
@@ -1358,5 +1363,17 @@ connector {
 					 PDO_FIXED_DUAL_ROLE |
 					 PDO_FIXED_USB_COMM |
 					 PDO_FIXED_DATA_SWAP)>;
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+				pm8150b_role_switch_in: endpoint {
+					remote-endpoint = <&usb_1_role_switch_out>;
+				};
+			};
+		};
 	};
 };
diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index c79173504a3fd..733de2fd5e753 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -3780,6 +3780,10 @@ usb_1_dwc3: usb@a600000 {
 				snps,dis_enblslpm_quirk;
 				phys = <&usb_1_hsphy>, <&usb_1_ssphy>;
 				phy-names = "usb2-phy", "usb3-phy";
+
+				port {
+					usb_1_role_switch_out: endpoint {};
+				};
 			};
 		};
 
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v9 7/7] arm64: dts: qcom: qrb5165-rb5: Switch on TCPM orientation-switch for usb_1_qmpphy
  2023-08-16 11:51 [PATCH v9 0/7] Add Qualcomm PMIC TPCM support Bryan O'Donoghue
                   ` (5 preceding siblings ...)
  2023-08-16 11:51 ` [PATCH v9 6/7] arm64: dts: qcom: qrb5165-rb5: Switch on TCPM usb-role-switching for usb_1 Bryan O'Donoghue
@ 2023-08-16 11:51 ` Bryan O'Donoghue
  2023-08-26 10:56   ` Konrad Dybcio
  2023-09-20  2:13 ` (subset) [PATCH v9 0/7] Add Qualcomm PMIC TPCM support Bjorn Andersson
  7 siblings, 1 reply; 13+ messages in thread
From: Bryan O'Donoghue @ 2023-08-16 11:51 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, lee, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, sboyd, luca.weiss
  Cc: bryan.odonoghue, linux-arm-msm, devicetree, linux-kernel

Switch on USB orientation-switching for usb_1_qmp via TCPM. Detecting the
orientation switch is required to get the PHY to reset and bring-up the PHY
with the CC lines set to the appropriate lane.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 12 ++++++++++++
 arch/arm64/boot/dts/qcom/sm8250.dtsi     |  1 +
 2 files changed, 13 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
index 3e34f4e2af14a..b878d765f8c42 100644
--- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
+++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
@@ -1290,6 +1290,11 @@ &usb_1_qmpphy {
 
 	vdda-phy-supply = <&vreg_l9a_1p2>;
 	vdda-pll-supply = <&vreg_l18a_0p92>;
+	orientation-switch;
+};
+
+&usb_1_qmpphy_out {
+	remote-endpoint = <&pm8150b_typec_mux_in>;
 };
 
 &usb_2 {
@@ -1374,6 +1379,13 @@ pm8150b_role_switch_in: endpoint {
 					remote-endpoint = <&usb_1_role_switch_out>;
 				};
 			};
+
+			port@1 {
+				reg = <1>;
+				pm8150b_typec_mux_in: endpoint {
+					remote-endpoint = <&usb_1_qmpphy_out>;
+				};
+			};
 		};
 	};
 };
diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index 733de2fd5e753..fe29b3da90c19 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -3620,6 +3620,7 @@ ports {
 
 				port@0 {
 					reg = <0>;
+					usb_1_qmpphy_out: endpoint {};
 				};
 
 				port@1 {
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH v9 6/7] arm64: dts: qcom: qrb5165-rb5: Switch on TCPM usb-role-switching for usb_1
  2023-08-16 11:51 ` [PATCH v9 6/7] arm64: dts: qcom: qrb5165-rb5: Switch on TCPM usb-role-switching for usb_1 Bryan O'Donoghue
@ 2023-08-26 10:54   ` Konrad Dybcio
  0 siblings, 0 replies; 13+ messages in thread
From: Konrad Dybcio @ 2023-08-26 10:54 UTC (permalink / raw)
  To: Bryan O'Donoghue, agross, andersson, lee, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, sboyd, luca.weiss
  Cc: linux-arm-msm, devicetree, linux-kernel

On 16.08.2023 13:51, Bryan O'Donoghue wrote:
> Switch on usb-role-switching for usb_1 via TCPM. We need to declare
> usb-role-switch in &usb_1 and associate with the remote-endpoint in TCPM
> which provides the necessary signal.
> 
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 19 ++++++++++++++++++-
>  arch/arm64/boot/dts/qcom/sm8250.dtsi     |  4 ++++
>  2 files changed, 22 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
> index 55389f8903b5c..3e34f4e2af14a 100644
> --- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
> +++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
> @@ -1269,7 +1269,12 @@ &usb_1 {
>  };
>  
>  &usb_1_dwc3 {
> -	dr_mode = "peripheral";
> +	dr_mode = "otg";
> +	usb-role-switch;
> +};
> +
> +&usb_1_role_switch_out {
> +	remote-endpoint = <&pm8150b_role_switch_in>;
>  };
>  
>  &usb_1_hsphy {
> @@ -1358,5 +1363,17 @@ connector {
>  					 PDO_FIXED_DUAL_ROLE |
>  					 PDO_FIXED_USB_COMM |
>  					 PDO_FIXED_DATA_SWAP)>;
> +
> +		ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
> +				reg = <0>;
> +				pm8150b_role_switch_in: endpoint {
I'd rather this be moved to the pmic dt as well, under the tcpm
definition

Konrad

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v9 3/7] arm64: dts: qcom: pm8150b: Add a TCPM description
  2023-08-16 11:51 ` [PATCH v9 3/7] arm64: dts: qcom: pm8150b: Add a TCPM description Bryan O'Donoghue
@ 2023-08-26 10:55   ` Konrad Dybcio
  0 siblings, 0 replies; 13+ messages in thread
From: Konrad Dybcio @ 2023-08-26 10:55 UTC (permalink / raw)
  To: Bryan O'Donoghue, agross, andersson, lee, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, sboyd, luca.weiss
  Cc: linux-arm-msm, devicetree, linux-kernel

On 16.08.2023 13:51, Bryan O'Donoghue wrote:
> Type-C port management functionality lives inside of the PMIC block on
> pm8150b.
> 
> The Type-C port management logic controls orientation detection, vbus/vconn
> sense and to send/receive Type-C Power Domain messages.
> 
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/pm8150b.dtsi | 40 +++++++++++++++++++++++++++
>  1 file changed, 40 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/pm8150b.dtsi b/arch/arm64/boot/dts/qcom/pm8150b.dtsi
> index 66752cc063d60..136e5f96a3d53 100644
> --- a/arch/arm64/boot/dts/qcom/pm8150b.dtsi
> +++ b/arch/arm64/boot/dts/qcom/pm8150b.dtsi
> @@ -59,6 +59,46 @@ pm8150b_vbus: usb-vbus-regulator@1100 {
>  			reg = <0x1100>;
>  		};
>  
> +		pm8150b_typec: typec@1500 {
> +			compatible = "qcom,pm8150b-typec";
> +			status = "disabled";
status last

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>

Konrad


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v9 7/7] arm64: dts: qcom: qrb5165-rb5: Switch on TCPM orientation-switch for usb_1_qmpphy
  2023-08-16 11:51 ` [PATCH v9 7/7] arm64: dts: qcom: qrb5165-rb5: Switch on TCPM orientation-switch for usb_1_qmpphy Bryan O'Donoghue
@ 2023-08-26 10:56   ` Konrad Dybcio
  0 siblings, 0 replies; 13+ messages in thread
From: Konrad Dybcio @ 2023-08-26 10:56 UTC (permalink / raw)
  To: Bryan O'Donoghue, agross, andersson, lee, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, sboyd, luca.weiss
  Cc: linux-arm-msm, devicetree, linux-kernel

On 16.08.2023 13:51, Bryan O'Donoghue wrote:
> Switch on USB orientation-switching for usb_1_qmp via TCPM. Detecting the
> orientation switch is required to get the PHY to reset and bring-up the PHY
> with the CC lines set to the appropriate lane.
> 
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 12 ++++++++++++
>  arch/arm64/boot/dts/qcom/sm8250.dtsi     |  1 +
>  2 files changed, 13 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
> index 3e34f4e2af14a..b878d765f8c42 100644
> --- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
> +++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
> @@ -1290,6 +1290,11 @@ &usb_1_qmpphy {
>  
>  	vdda-phy-supply = <&vreg_l9a_1p2>;
>  	vdda-pll-supply = <&vreg_l18a_0p92>;
> +	orientation-switch;
> +};
> +
> +&usb_1_qmpphy_out {
> +	remote-endpoint = <&pm8150b_typec_mux_in>;
>  };
>  
>  &usb_2 {
> @@ -1374,6 +1379,13 @@ pm8150b_role_switch_in: endpoint {
>  					remote-endpoint = <&usb_1_role_switch_out>;
>  				};
>  			};
> +
> +			port@1 {
> +				reg = <1>;
> +				pm8150b_typec_mux_in: endpoint {
should also go to pmic dt

Konrad

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: (subset) [PATCH v9 0/7] Add Qualcomm PMIC TPCM support
  2023-08-16 11:51 [PATCH v9 0/7] Add Qualcomm PMIC TPCM support Bryan O'Donoghue
                   ` (6 preceding siblings ...)
  2023-08-16 11:51 ` [PATCH v9 7/7] arm64: dts: qcom: qrb5165-rb5: Switch on TCPM orientation-switch for usb_1_qmpphy Bryan O'Donoghue
@ 2023-09-20  2:13 ` Bjorn Andersson
  7 siblings, 0 replies; 13+ messages in thread
From: Bjorn Andersson @ 2023-09-20  2:13 UTC (permalink / raw)
  To: agross, konrad.dybcio, lee, robh+dt, krzysztof.kozlowski+dt,
	conor+dt, sboyd, luca.weiss, Bryan O'Donoghue
  Cc: linux-arm-msm, devicetree, linux-kernel


On Wed, 16 Aug 2023 12:51:44 +0100, Bryan O'Donoghue wrote:
> V9:
> 
> - Reuses glink ports {} definitions and locations per Bjorn's request
> - Adds additional port @ 2 to 8250.dtsi as a result - Bjorn
> - Drops logic in previous patch
>   "dt-bindings: phy: qcom,sc7180-qmp-usb3-dp-phy: Add input and output ports"
>   No longer required
> - I've amended the names of the endpoints to match sc8280xp too - bod
> 
> [...]

Applied, thanks!

[2/7] arm64: dts: qcom: sm8250: Define ports for qmpphy orientation-switching
      commit: ea96b90a58cf5d2e91ac177f081118ff26b85c1d
[3/7] arm64: dts: qcom: pm8150b: Add a TCPM description
      commit: 5a0539515cbfad30b3e08a00004ed0c86136add5
[4/7] arm64: dts: qcom: qrb5165-rb5: Switch on Type-C VBUS boost
      commit: c627d7337aae4d83b4db621fdb9e8f638056dcee
[5/7] arm64: dts: qcom: qrb5165-rb5: Switch on basic TCPM
      commit: 5b1b6da9d39d515395d85dc678ddac7ff1689438
[6/7] arm64: dts: qcom: qrb5165-rb5: Switch on TCPM usb-role-switching for usb_1
      commit: 25defdca4d902b338c05bc01a1de1064a6d3b7f3
[7/7] arm64: dts: qcom: qrb5165-rb5: Switch on TCPM orientation-switch for usb_1_qmpphy
      commit: 45219a6b9497cb7713dd2bc221248ee1a7e9bb3d

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: (subset) [PATCH v9 1/7] dt-bindings: mfd: qcom,spmi-pmic: Add typec to SPMI device types
  2023-08-16 11:51 ` [PATCH v9 1/7] dt-bindings: mfd: qcom,spmi-pmic: Add typec to SPMI device types Bryan O'Donoghue
@ 2023-09-20  9:19   ` Lee Jones
  0 siblings, 0 replies; 13+ messages in thread
From: Lee Jones @ 2023-09-20  9:19 UTC (permalink / raw)
  To: agross, andersson, konrad.dybcio, lee, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, sboyd, luca.weiss,
	Bryan O'Donoghue
  Cc: linux-arm-msm, devicetree, linux-kernel, Krzysztof Kozlowski

On Wed, 16 Aug 2023 12:51:45 +0100, Bryan O'Donoghue wrote:
> Add the PMIC Type-C port driver to the list of devices.
> 
> 

Applied, thanks!

[1/7] dt-bindings: mfd: qcom,spmi-pmic: Add typec to SPMI device types
      commit: 852355e98e45ec7f9adf06de92bba063424aa7cb

--
Lee Jones [李琼斯]


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2023-09-20  9:19 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-16 11:51 [PATCH v9 0/7] Add Qualcomm PMIC TPCM support Bryan O'Donoghue
2023-08-16 11:51 ` [PATCH v9 1/7] dt-bindings: mfd: qcom,spmi-pmic: Add typec to SPMI device types Bryan O'Donoghue
2023-09-20  9:19   ` (subset) " Lee Jones
2023-08-16 11:51 ` [PATCH v9 2/7] arm64: dts: qcom: sm8250: Define ports for qmpphy orientation-switching Bryan O'Donoghue
2023-08-16 11:51 ` [PATCH v9 3/7] arm64: dts: qcom: pm8150b: Add a TCPM description Bryan O'Donoghue
2023-08-26 10:55   ` Konrad Dybcio
2023-08-16 11:51 ` [PATCH v9 4/7] arm64: dts: qcom: qrb5165-rb5: Switch on Type-C VBUS boost Bryan O'Donoghue
2023-08-16 11:51 ` [PATCH v9 5/7] arm64: dts: qcom: qrb5165-rb5: Switch on basic TCPM Bryan O'Donoghue
2023-08-16 11:51 ` [PATCH v9 6/7] arm64: dts: qcom: qrb5165-rb5: Switch on TCPM usb-role-switching for usb_1 Bryan O'Donoghue
2023-08-26 10:54   ` Konrad Dybcio
2023-08-16 11:51 ` [PATCH v9 7/7] arm64: dts: qcom: qrb5165-rb5: Switch on TCPM orientation-switch for usb_1_qmpphy Bryan O'Donoghue
2023-08-26 10:56   ` Konrad Dybcio
2023-09-20  2:13 ` (subset) [PATCH v9 0/7] Add Qualcomm PMIC TPCM support Bjorn Andersson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.