* [PATCH v1 0/1] X1E Dell XPS 9345 Improvements 2
@ 2024-10-30 18:19 Aleksandrs Vinarskis
2024-10-30 18:19 ` [PATCH v1 1/1] arm64: dts: qcom: x1e80100-dell-xps13-9345: Introduce retimer support Aleksandrs Vinarskis
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Aleksandrs Vinarskis @ 2024-10-30 18:19 UTC (permalink / raw)
To: Bjorn Andersson, linux-arm-msm, devicetree, linux-kernel
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bryan.Kemp, tudor.laurentiu.oss, Aleksandrs Vinarskis
Describe retimers for the said device. At the moment DP alt mode is
not working, but this still allows to use USB3.0 in both orientations.
Once msm-dp is fixed, DP-alt mode enabling patch will follow.
This patch depends on [1], which is still undergoing reviews. As it
appears to be close to its final state, sending this already so it can
be reviewed.
[1] https://lore.kernel.org/all/20241022-x1e80100-ps8830-v3-0-68a95f351e99@linaro.org/
Aleksandrs Vinarskis (1):
arm64: dts: qcom: x1e80100-dell-xps13-9345: Introduce retimer support
.../dts/qcom/x1e80100-dell-xps13-9345.dts | 293 +++++++++++++++++-
1 file changed, 283 insertions(+), 10 deletions(-)
--
2.45.2
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v1 1/1] arm64: dts: qcom: x1e80100-dell-xps13-9345: Introduce retimer support
2024-10-30 18:19 [PATCH v1 0/1] X1E Dell XPS 9345 Improvements 2 Aleksandrs Vinarskis
@ 2024-10-30 18:19 ` Aleksandrs Vinarskis
2024-11-04 13:52 ` Konrad Dybcio
2024-10-31 2:28 ` [PATCH v1 0/1] X1E Dell XPS 9345 Improvements 2 Rob Herring (Arm)
2024-11-12 22:03 ` (subset) " Bjorn Andersson
2 siblings, 1 reply; 5+ messages in thread
From: Aleksandrs Vinarskis @ 2024-10-30 18:19 UTC (permalink / raw)
To: Bjorn Andersson, linux-arm-msm, devicetree, linux-kernel
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bryan.Kemp, tudor.laurentiu.oss, Aleksandrs Vinarskis
Describe x2 Parade PS8830 retimers for left and right USB Type-C ports
respectively. Adjust graphs between connectors and the PHYs accordingly,
add the voltage regulators. Dell XPS 13" 9345's DSDT describes 3rd
retimer, but its not actually present.
Regulators are _assumed_ to be correct, since:
* tlmm pins match DSDT definition.
* tlmm and pmic gpios were tested and confirmed to be powering
off/resetting respective retimers.
* USB3.0 now works correctly in both orientation, pre and post suspend.
Derived from:
arm64: dts: qcom: x1e80100-t14s: Add external DP support
Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
---
.../dts/qcom/x1e80100-dell-xps13-9345.dts | 293 +++++++++++++++++-
1 file changed, 283 insertions(+), 10 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
index 05624226faf9..b112092fbb9f 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
@@ -89,7 +89,15 @@ port@1 {
reg = <1>;
pmic_glink_ss0_ss_in: endpoint {
- remote-endpoint = <&usb_1_ss0_qmpphy_out>;
+ remote-endpoint = <&retimer_ss0_ss_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ pmic_glink_ss0_con_sbu_in: endpoint {
+ remote-endpoint = <&retimer_ss0_con_sbu_out>;
};
};
};
@@ -118,7 +126,15 @@ port@1 {
reg = <1>;
pmic_glink_ss1_ss_in: endpoint {
- remote-endpoint = <&usb_1_ss1_qmpphy_out>;
+ remote-endpoint = <&retimer_ss1_ss_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ pmic_glink_ss1_con_sbu_in: endpoint {
+ remote-endpoint = <&retimer_ss1_con_sbu_out>;
};
};
};
@@ -166,6 +182,102 @@ vreg_nvme: regulator-nvme {
regulator-boot-on;
};
+ vreg_rtmr0_1p15: regulator-rtmr0-1p15 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR0_1P15";
+ regulator-min-microvolt = <1150000>;
+ regulator-max-microvolt = <1150000>;
+
+ gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&rtmr0_1p15_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_rtmr0_1p8: regulator-rtmr0-1p8 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR0_1P8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&rtmr0_1p8_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_rtmr0_3p3: regulator-rtmr0-3p3 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR0_3P3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&rtmr0_3p3_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_rtmr1_1p15: regulator-rtmr1-1p15 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR1_1P15";
+ regulator-min-microvolt = <1150000>;
+ regulator-max-microvolt = <1150000>;
+
+ gpio = <&tlmm 188 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&rtmr1_1p15_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_rtmr1_1p8: regulator-rtmr1-1p8 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR1_1P8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ gpio = <&tlmm 175 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&rtmr1_1p8_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_rtmr1_3p3: regulator-rtmr1-3p3 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR1_3P3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&tlmm 186 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&rtmr1_3p3_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
vreg_vph_pwr: regulator-vph-pwr {
compatible = "regulator-fixed";
@@ -492,9 +604,60 @@ keyboard@5 {
&i2c3 {
clock-frequency = <400000>;
- status = "disabled";
- /* PS8830 Retimer @0x8 */
- /* Unknown device @0x9 */
+ status = "okay";
+
+ /* Right-side USB Type-C port */
+ typec-mux@8 {
+ compatible = "parade,ps8830";
+ reg = <0x08>;
+
+ clocks = <&rpmhcc RPMH_RF_CLK3>;
+ clock-names = "xo";
+
+ vdd-supply = <&vreg_rtmr0_1p15>;
+ vdd33-supply = <&vreg_rtmr0_3p3>;
+ vdd33-cap-supply = <&vreg_rtmr0_3p3>;
+ vddar-supply = <&vreg_rtmr0_1p15>;
+ vddat-supply = <&vreg_rtmr0_1p15>;
+ vddio-supply = <&vreg_rtmr0_1p8>;
+
+ reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;
+
+ pinctrl-0 = <&rtmr0_default>;
+ pinctrl-names = "default";
+
+ retimer-switch;
+ orientation-switch;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ retimer_ss0_ss_out: endpoint {
+ remote-endpoint = <&pmic_glink_ss0_ss_in>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ retimer_ss0_ss_in: endpoint {
+ remote-endpoint = <&usb_1_ss0_qmpphy_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ retimer_ss0_con_sbu_out: endpoint {
+ remote-endpoint = <&pmic_glink_ss0_con_sbu_in>;
+ };
+ };
+ };
+ };
};
&i2c5 {
@@ -505,9 +668,61 @@ &i2c5 {
&i2c7 {
clock-frequency = <400000>;
- status = "disabled";
- /* PS8830 Retimer @0x8 */
- /* Unknown device @0x9 */
+ status = "okay";
+
+ /* Left-side USB Type-C port */
+ typec-mux@8 {
+ compatible = "parade,ps8830";
+ reg = <0x8>;
+
+ clocks = <&rpmhcc RPMH_RF_CLK4>;
+ clock-names = "xo";
+
+ vdd-supply = <&vreg_rtmr1_1p15>;
+ vdd33-supply = <&vreg_rtmr1_3p3>;
+ vdd33-cap-supply = <&vreg_rtmr1_3p3>;
+ vddar-supply = <&vreg_rtmr1_1p15>;
+ vddat-supply = <&vreg_rtmr1_1p15>;
+ vddio-supply = <&vreg_rtmr1_1p8>;
+
+ reset-gpios = <&tlmm 176 GPIO_ACTIVE_LOW>;
+
+ pinctrl-0 = <&rtmr1_default>;
+ pinctrl-names = "default";
+
+ retimer-switch;
+ orientation-switch;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ retimer_ss1_ss_out: endpoint {
+ remote-endpoint = <&pmic_glink_ss1_ss_in>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ retimer_ss1_ss_in: endpoint {
+ remote-endpoint = <&usb_1_ss1_qmpphy_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ retimer_ss1_con_sbu_out: endpoint {
+ remote-endpoint = <&pmic_glink_ss1_con_sbu_in>;
+ };
+ };
+
+ };
+ };
};
&i2c8 {
@@ -634,6 +849,36 @@ &pcie6a_phy {
status = "okay";
};
+&pm8550_gpios {
+ rtmr0_default: rtmr0-reset-n-active-state {
+ pins = "gpio10";
+ function = "normal";
+ power-source = <1>; /* 1.8V */
+ };
+
+ rtmr0_3p3_reg_en: rtmr0-3p3-reg-en-state {
+ pins = "gpio11";
+ function = "normal";
+ power-source = <1>; /* 1.8V */
+ };
+};
+
+&pmc8380_5_gpios {
+ rtmr0_1p15_reg_en: rtmr0-1p15-reg-en-state {
+ pins = "gpio8";
+ function = "normal";
+ power-source = <1>; /* 1.8V */
+ };
+};
+
+&pm8550ve_9_gpios {
+ rtmr0_1p8_reg_en: rtmr0-1p8-reg-en-state {
+ pins = "gpio8";
+ function = "normal";
+ power-source = <1>; /* 1.8V */
+ };
+};
+
&qupv3_0 {
status = "okay";
};
@@ -762,6 +1007,34 @@ wake-n-pins {
};
};
+ rtmr1_1p15_reg_en: rtmr1-1p15-reg-en-state {
+ pins = "gpio188";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ rtmr1_1p8_reg_en: rtmr1-1p8-reg-en-state {
+ pins = "gpio175";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ rtmr1_3p3_reg_en: rtmr1-3p3-reg-en-state {
+ pins = "gpio186";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ rtmr1_default: rtmr1-reset-n-active-state {
+ pins = "gpio176";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
tpad_default: tpad-default-state {
disable-pins {
pins = "gpio38";
@@ -839,7 +1112,7 @@ &usb_1_ss0_dwc3_hs {
};
&usb_1_ss0_qmpphy_out {
- remote-endpoint = <&pmic_glink_ss0_ss_in>;
+ remote-endpoint = <&retimer_ss0_ss_in>;
};
&usb_1_ss1_hsphy {
@@ -871,5 +1144,5 @@ &usb_1_ss1_dwc3_hs {
};
&usb_1_ss1_qmpphy_out {
- remote-endpoint = <&pmic_glink_ss1_ss_in>;
+ remote-endpoint = <&retimer_ss1_ss_in>;
};
--
2.45.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v1 0/1] X1E Dell XPS 9345 Improvements 2
2024-10-30 18:19 [PATCH v1 0/1] X1E Dell XPS 9345 Improvements 2 Aleksandrs Vinarskis
2024-10-30 18:19 ` [PATCH v1 1/1] arm64: dts: qcom: x1e80100-dell-xps13-9345: Introduce retimer support Aleksandrs Vinarskis
@ 2024-10-31 2:28 ` Rob Herring (Arm)
2024-11-12 22:03 ` (subset) " Bjorn Andersson
2 siblings, 0 replies; 5+ messages in thread
From: Rob Herring (Arm) @ 2024-10-31 2:28 UTC (permalink / raw)
To: Aleksandrs Vinarskis
Cc: Conor Dooley, linux-kernel, tudor.laurentiu.oss,
Krzysztof Kozlowski, linux-arm-msm, Bryan.Kemp, Konrad Dybcio,
devicetree, Bjorn Andersson
On Wed, 30 Oct 2024 19:19:35 +0100, Aleksandrs Vinarskis wrote:
> Describe retimers for the said device. At the moment DP alt mode is
> not working, but this still allows to use USB3.0 in both orientations.
> Once msm-dp is fixed, DP-alt mode enabling patch will follow.
>
> This patch depends on [1], which is still undergoing reviews. As it
> appears to be close to its final state, sending this already so it can
> be reviewed.
>
> [1] https://lore.kernel.org/all/20241022-x1e80100-ps8830-v3-0-68a95f351e99@linaro.org/
>
> Aleksandrs Vinarskis (1):
> arm64: dts: qcom: x1e80100-dell-xps13-9345: Introduce retimer support
>
> .../dts/qcom/x1e80100-dell-xps13-9345.dts | 293 +++++++++++++++++-
> 1 file changed, 283 insertions(+), 10 deletions(-)
>
> --
> 2.45.2
>
>
>
My bot found new DTB warnings on the .dts files added or changed in this
series.
Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.
If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:
pip3 install dtschema --upgrade
New warnings running 'make CHECK_DTBS=y qcom/x1e80100-dell-xps13-9345.dtb' for 20241030182153.16256-1-alex.vinarskis@gmail.com:
arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dtb: /soc@0/geniqup@bc0000/i2c@b8c000/typec-mux@8: failed to match any schema with compatible: ['parade,ps8830']
arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dtb: /soc@0/geniqup@bc0000/i2c@b9c000/typec-mux@8: failed to match any schema with compatible: ['parade,ps8830']
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v1 1/1] arm64: dts: qcom: x1e80100-dell-xps13-9345: Introduce retimer support
2024-10-30 18:19 ` [PATCH v1 1/1] arm64: dts: qcom: x1e80100-dell-xps13-9345: Introduce retimer support Aleksandrs Vinarskis
@ 2024-11-04 13:52 ` Konrad Dybcio
0 siblings, 0 replies; 5+ messages in thread
From: Konrad Dybcio @ 2024-11-04 13:52 UTC (permalink / raw)
To: Aleksandrs Vinarskis, Bjorn Andersson, linux-arm-msm, devicetree,
linux-kernel
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bryan.Kemp, tudor.laurentiu.oss
On 30.10.2024 7:19 PM, Aleksandrs Vinarskis wrote:
> Describe x2 Parade PS8830 retimers for left and right USB Type-C ports
> respectively. Adjust graphs between connectors and the PHYs accordingly,
> add the voltage regulators. Dell XPS 13" 9345's DSDT describes 3rd
> retimer, but its not actually present.
>
> Regulators are _assumed_ to be correct, since:
> * tlmm pins match DSDT definition.
> * tlmm and pmic gpios were tested and confirmed to be powering
> off/resetting respective retimers.
> * USB3.0 now works correctly in both orientation, pre and post suspend.
>
> Derived from:
> arm64: dts: qcom: x1e80100-t14s: Add external DP support
>
> Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: (subset) [PATCH v1 0/1] X1E Dell XPS 9345 Improvements 2
2024-10-30 18:19 [PATCH v1 0/1] X1E Dell XPS 9345 Improvements 2 Aleksandrs Vinarskis
2024-10-30 18:19 ` [PATCH v1 1/1] arm64: dts: qcom: x1e80100-dell-xps13-9345: Introduce retimer support Aleksandrs Vinarskis
2024-10-31 2:28 ` [PATCH v1 0/1] X1E Dell XPS 9345 Improvements 2 Rob Herring (Arm)
@ 2024-11-12 22:03 ` Bjorn Andersson
2 siblings, 0 replies; 5+ messages in thread
From: Bjorn Andersson @ 2024-11-12 22:03 UTC (permalink / raw)
To: linux-arm-msm, devicetree, linux-kernel, Aleksandrs Vinarskis
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bryan.Kemp, tudor.laurentiu.oss
On Wed, 30 Oct 2024 19:19:35 +0100, Aleksandrs Vinarskis wrote:
> Describe retimers for the said device. At the moment DP alt mode is
> not working, but this still allows to use USB3.0 in both orientations.
> Once msm-dp is fixed, DP-alt mode enabling patch will follow.
>
> This patch depends on [1], which is still undergoing reviews. As it
> appears to be close to its final state, sending this already so it can
> be reviewed.
>
> [...]
Applied, thanks!
[1/1] arm64: dts: qcom: x1e80100-dell-xps13-9345: Introduce retimer support
commit: bd2dbbb1f35af9d53b1eb5facc84c35443562930
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-11-12 22:03 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-30 18:19 [PATCH v1 0/1] X1E Dell XPS 9345 Improvements 2 Aleksandrs Vinarskis
2024-10-30 18:19 ` [PATCH v1 1/1] arm64: dts: qcom: x1e80100-dell-xps13-9345: Introduce retimer support Aleksandrs Vinarskis
2024-11-04 13:52 ` Konrad Dybcio
2024-10-31 2:28 ` [PATCH v1 0/1] X1E Dell XPS 9345 Improvements 2 Rob Herring (Arm)
2024-11-12 22:03 ` (subset) " Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).