arm64: dts: qcom: x1e80100-romulus: Set up PS8830s

The Laptop 7 features two USB-C ports, each one sporting a PS8830 USB-C
retimer/mux. Wire them up.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20241129-topic-sl7_feat2-v2-3-fb6cf5660cfc@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
Konrad Dybcio 2024-11-29 18:20:27 +01:00 committed by Bjorn Andersson
parent 42034d232c
commit b16ee3d0cd

View File

@ -124,7 +124,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>;
};
};
};
@ -153,7 +161,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>;
};
};
};
@ -185,6 +201,109 @@ vreg_edp_3p3: regulator-edp-3p3 {
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_nvme: regulator-nvme {
compatible = "regulator-fixed";
@ -665,7 +784,59 @@ &i2c3 {
status = "okay";
/* PS8830 USB retimer @8 */
/* Left-side rear port */
typec-mux@8 {
compatible = "parade,ps8830";
reg = <0x8>;
reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;
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>;
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>;
};
};
};
};
};
&i2c4 {
@ -699,7 +870,55 @@ &i2c7 {
status = "okay";
/* PS8830 USB retimer @8 */
/* Left-side front port */
typec-mux@8 {
compatible = "parade,ps8830";
reg = <0x8>;
reset-gpios = <&tlmm 176 GPIO_ACTIVE_LOW>;
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>;
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>;
};
};
};
};
};
&lpass_tlmm {
@ -816,6 +1035,28 @@ &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 */
};
};
&pm8550ve_9_gpios {
rtmr0_1p8_reg_en: rtmr0-1p8-reg-en-state {
pins = "gpio8";
function = "normal";
power-source = <1>; /* 1.8V */
};
};
&pmc8380_3_gpios {
edp_bl_en: edp-bl-en-state {
pins = "gpio4";
@ -826,6 +1067,14 @@ edp_bl_en: edp-bl-en-state {
};
};
&pmc8380_5_gpios {
rtmr0_1p15_reg_en: rtmr0-1p15-reg-en-state {
pins = "gpio8";
function = "normal";
power-source = <1>; /* 1.8V */
};
};
&pmk8550_pwm {
status = "okay";
};
@ -1011,6 +1260,27 @@ wake-n-pins {
};
};
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_1p15_reg_en: rtmr1-1p15-reg-en-state {
pins = "gpio188";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
wcd_default: wcd-reset-n-active-state {
pins = "gpio191";
function = "gpio";
@ -1071,7 +1341,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 {
@ -1103,7 +1373,7 @@ &usb_1_ss1_dwc3_hs {
};
&usb_1_ss1_qmpphy_out {
remote-endpoint = <&pmic_glink_ss1_ss_in>;
remote-endpoint = <&retimer_ss1_ss_in>;
};
/* MP0 goes to the Surface Connector, MP1 goes to the USB-A port */