* [PATCH v2 0/3] More Surface Laptop 7 features
@ 2024-11-29 17:20 Konrad Dybcio
2024-11-29 17:20 ` [PATCH v2 1/3] arm64: dts: qcom: x1e80100-romulus: Configure audio Konrad Dybcio
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Konrad Dybcio @ 2024-11-29 17:20 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio, Dmitry Baryshkov
This series does the necessary plumbing for audio (alsa ucm & topology
coming very soon), dual PS8830s and the PCIe3-mounted SD card reader.
Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
---
Changes in v2:
- pick up RBs
- sort some nodes properly
- drop PCIe port power supplies, they are on at boot and will be
described in DT after a suitable binding is created later
- Link to v1: https://lore.kernel.org/r/20241122-topic-sl7_feat2-v1-0-33e616be879b@oss.qualcomm.com
---
Konrad Dybcio (3):
arm64: dts: qcom: x1e80100-romulus: Configure audio
arm64: dts: qcom: x1e80100-romulus: Set up PCIe3 / SDCard reader
arm64: dts: qcom: x1e80100-romulus: Set up PS8830s
.../boot/dts/qcom/x1e80100-microsoft-romulus.dtsi | 511 ++++++++++++++++++++-
1 file changed, 505 insertions(+), 6 deletions(-)
---
base-commit: decc701f41d07481893fdea942c0ac6b226e84cd
change-id: 20241122-topic-sl7_feat2-c79d32469a64
Best regards,
--
Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 1/3] arm64: dts: qcom: x1e80100-romulus: Configure audio
2024-11-29 17:20 [PATCH v2 0/3] More Surface Laptop 7 features Konrad Dybcio
@ 2024-11-29 17:20 ` Konrad Dybcio
2024-11-29 17:20 ` [PATCH v2 2/3] arm64: dts: qcom: x1e80100-romulus: Set up PCIe3 / SDCard reader Konrad Dybcio
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2024-11-29 17:20 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio
From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
The Laptop 7 features a single pair of speakers and an equal amount of
digital mics.
Add the required nodes to support audio playback and recording.
Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
---
.../boot/dts/qcom/x1e80100-microsoft-romulus.dtsi | 187 +++++++++++++++++++++
1 file changed, 187 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
index 6835fdeef3aec10206e8b2839d23e4f3494afe1e..146e3700a3a34954c1653cbd8e148aeca481db6a 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
@@ -22,6 +22,33 @@ aliases {
i2c7 = &i2c7;
};
+ wcd938x: audio-codec {
+ compatible = "qcom,wcd9385-codec";
+
+ reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>;
+
+ qcom,micbias1-microvolt = <1800000>;
+ qcom,micbias2-microvolt = <1800000>;
+ qcom,micbias3-microvolt = <1800000>;
+ qcom,micbias4-microvolt = <1800000>;
+ qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
+ qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
+ qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
+ qcom,rx-device = <&wcd_rx>;
+ qcom,tx-device = <&wcd_tx>;
+
+
+ vdd-buck-supply = <&vreg_l15b>;
+ vdd-rxtx-supply = <&vreg_l15b>;
+ vdd-io-supply = <&vreg_l15b>;
+ vdd-mic-bias-supply = <&vreg_bob1>;
+
+ pinctrl-0 = <&wcd_default>;
+ pinctrl-names = "default";
+
+ #sound-dai-cells = <1>;
+ };
+
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pmk8550_pwm 0 5000000>;
@@ -184,6 +211,86 @@ vph_pwr: regulator-vph-pwr {
regulator-always-on;
regulator-boot-on;
};
+
+ sound {
+ compatible = "qcom,x1e80100-sndcard";
+ model = "X1E80100-Romulus";
+ audio-routing = "SpkrLeft IN", "WSA WSA_SPK1 OUT",
+ "SpkrRight IN", "WSA WSA_SPK2 OUT",
+ "IN1_HPHL", "HPHL_OUT",
+ "IN2_HPHR", "HPHR_OUT",
+ "AMIC2", "MIC BIAS2",
+ "VA DMIC0", "MIC BIAS3",
+ "VA DMIC1", "MIC BIAS3",
+ "VA DMIC0", "VA MIC BIAS3",
+ "VA DMIC1", "VA MIC BIAS3",
+ "TX SWR_INPUT1", "ADC2_OUTPUT";
+
+ va-dai-link {
+ link-name = "VA Capture";
+
+ cpu {
+ sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
+ };
+
+ codec {
+ sound-dai = <&lpass_vamacro 0>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+
+ wcd-capture-dai-link {
+ link-name = "WCD Capture";
+
+ cpu {
+ sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
+ };
+
+ codec {
+ sound-dai = <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+
+ wcd-playback-dai-link {
+ link-name = "WCD Playback";
+
+ cpu {
+ sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
+ };
+
+ codec {
+ sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+
+ wsa-dai-link {
+ link-name = "WSA Playback";
+
+ cpu {
+ sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
+ };
+
+ codec {
+ sound-dai = <&left_spkr>, <&right_spkr>,
+ <&swr0 0>, <&lpass_wsamacro 0>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+ };
};
&apps_rsc {
@@ -595,6 +702,25 @@ &i2c7 {
/* PS8830 USB retimer @8 */
};
+&lpass_tlmm {
+ spkr_01_sd_n_active: spkr-01-sd-n-active-state {
+ pins = "gpio12";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ output-low;
+ };
+};
+
+&lpass_vamacro {
+ qcom,dmic-sample-rate = <4800000>;
+
+ vdd-micb-supply = <&vreg_l1b>;
+
+ pinctrl-0 = <&dmic01_default>;
+ pinctrl-names = "default";
+};
+
&mdss {
status = "okay";
};
@@ -737,6 +863,59 @@ &smb2360_2_eusb2_repeater {
vdd3-supply = <&vreg_l8b>;
};
+&swr0 {
+ pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
+ pinctrl-names = "default";
+
+ status = "okay";
+
+ /* WSA8845, Left speaker */
+ left_spkr: speaker@0,0 {
+ compatible = "sdw20217020400";
+ reg = <0 0>;
+ reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "SpkrLeft";
+ vdd-1p8-supply = <&vreg_l15b>;
+ vdd-io-supply = <&vreg_l12b>;
+ qcom,port-mapping = <1 2 3 7 10 13>;
+ };
+
+ /* WSA8845, Right speaker */
+ right_spkr: speaker@0,1 {
+ compatible = "sdw20217020400";
+ reg = <0 1>;
+ reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "SpkrRight";
+ vdd-1p8-supply = <&vreg_l15b>;
+ vdd-io-supply = <&vreg_l12b>;
+ qcom,port-mapping = <4 5 6 7 11 13>;
+ };
+};
+
+&swr1 {
+ status = "okay";
+
+ /* WCD9385 RX */
+ wcd_rx: codec@0,4 {
+ compatible = "sdw20217010d00";
+ reg = <0 4>;
+ qcom,rx-port-mapping = <1 2 3 4 5>;
+ };
+};
+
+&swr2 {
+ status = "okay";
+
+ /* WCD9385 TX */
+ wcd_tx: codec@0,3 {
+ compatible = "sdw20217010d00";
+ reg = <0 3>;
+ qcom,tx-port-mapping = <2 2 3 4>;
+ };
+};
+
&tlmm {
gpio-reserved-ranges = <44 4>, /* SPI (TPM) */
<238 1>; /* UFS Reset */
@@ -790,6 +969,14 @@ wake-n-pins {
};
};
+ wcd_default: wcd-reset-n-active-state {
+ pins = "gpio191";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ output-low;
+ };
+
cam_indicator_en: cam-indicator-en-state {
pins = "gpio225";
function = "gpio";
--
2.47.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 2/3] arm64: dts: qcom: x1e80100-romulus: Set up PCIe3 / SDCard reader
2024-11-29 17:20 [PATCH v2 0/3] More Surface Laptop 7 features Konrad Dybcio
2024-11-29 17:20 ` [PATCH v2 1/3] arm64: dts: qcom: x1e80100-romulus: Configure audio Konrad Dybcio
@ 2024-11-29 17:20 ` Konrad Dybcio
2024-11-29 17:20 ` [PATCH v2 3/3] arm64: dts: qcom: x1e80100-romulus: Set up PS8830s Konrad Dybcio
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2024-11-29 17:20 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio
From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
The Surface Laptops have a Realtek RTS5261 SD Card reader connected
over a Gen1x1 link to the PCIe3 host. Set up the necessary bits to
make it functional.
Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
---
.../boot/dts/qcom/x1e80100-microsoft-romulus.dtsi | 42 ++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
index 146e3700a3a34954c1653cbd8e148aeca481db6a..80fbcaea5d83e1147a74dd3320ae8fe8c953db57 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
@@ -767,6 +767,25 @@ &mdss_dp3_phy {
status = "okay";
};
+&pcie3 {
+ perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 145 GPIO_ACTIVE_HIGH>;
+
+ pinctrl-0 = <&pcie3_default>;
+ pinctrl-names = "default";
+
+ /* The RTS5261 chip on the other side only does Gen1x1 anyway */
+ max-link-speed = <1>;
+ status = "okay";
+};
+
+&pcie3_phy {
+ vdda-phy-supply = <&vreg_l3c>;
+ vdda-pll-supply = <&vreg_l3e>;
+
+ status = "okay";
+};
+
&pcie4 {
status = "okay";
};
@@ -946,6 +965,29 @@ ssam_state: ssam-state-state {
bias-disable;
};
+ pcie3_default: pcie3-default-state {
+ perst-n-pins {
+ pins = "gpio143";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ clkreq-n-pins {
+ pins = "gpio144";
+ function = "pcie3_clk";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ wake-n-pins {
+ pins = "gpio145";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
pcie6a_default: pcie6a-default-state {
perst-n-pins {
pins = "gpio152";
--
2.47.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 3/3] arm64: dts: qcom: x1e80100-romulus: Set up PS8830s
2024-11-29 17:20 [PATCH v2 0/3] More Surface Laptop 7 features Konrad Dybcio
2024-11-29 17:20 ` [PATCH v2 1/3] arm64: dts: qcom: x1e80100-romulus: Configure audio Konrad Dybcio
2024-11-29 17:20 ` [PATCH v2 2/3] arm64: dts: qcom: x1e80100-romulus: Set up PCIe3 / SDCard reader Konrad Dybcio
@ 2024-11-29 17:20 ` Konrad Dybcio
2025-03-04 16:38 ` Rob Herring
2024-12-02 15:50 ` [PATCH v2 0/3] More Surface Laptop 7 features Bjorn Andersson
2024-12-04 16:44 ` Johan Hovold
4 siblings, 1 reply; 7+ messages in thread
From: Konrad Dybcio @ 2024-11-29 17:20 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio, Dmitry Baryshkov
From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
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>
---
.../boot/dts/qcom/x1e80100-microsoft-romulus.dtsi | 282 ++++++++++++++++++++-
1 file changed, 276 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
index 80fbcaea5d83e1147a74dd3320ae8fe8c953db57..2236095023a135d8fb1baaede111a34be54d160c 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
@@ -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 */
--
2.47.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 0/3] More Surface Laptop 7 features
2024-11-29 17:20 [PATCH v2 0/3] More Surface Laptop 7 features Konrad Dybcio
` (2 preceding siblings ...)
2024-11-29 17:20 ` [PATCH v2 3/3] arm64: dts: qcom: x1e80100-romulus: Set up PS8830s Konrad Dybcio
@ 2024-12-02 15:50 ` Bjorn Andersson
2024-12-04 16:44 ` Johan Hovold
4 siblings, 0 replies; 7+ messages in thread
From: Bjorn Andersson @ 2024-12-02 15:50 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio, Dmitry Baryshkov
On Fri, 29 Nov 2024 18:20:24 +0100, Konrad Dybcio wrote:
> This series does the necessary plumbing for audio (alsa ucm & topology
> coming very soon), dual PS8830s and the PCIe3-mounted SD card reader.
>
>
Applied, thanks!
[1/3] arm64: dts: qcom: x1e80100-romulus: Configure audio
commit: c1cd827bfbd766bf6ada5d0184486aaa6afd315c
[2/3] arm64: dts: qcom: x1e80100-romulus: Set up PCIe3 / SDCard reader
commit: 42034d232cac5402a28d04122a398c311ae532d6
[3/3] arm64: dts: qcom: x1e80100-romulus: Set up PS8830s
commit: b16ee3d0cda492ded61f7224334e33eed986bd33
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 0/3] More Surface Laptop 7 features
2024-11-29 17:20 [PATCH v2 0/3] More Surface Laptop 7 features Konrad Dybcio
` (3 preceding siblings ...)
2024-12-02 15:50 ` [PATCH v2 0/3] More Surface Laptop 7 features Bjorn Andersson
@ 2024-12-04 16:44 ` Johan Hovold
4 siblings, 0 replies; 7+ messages in thread
From: Johan Hovold @ 2024-12-04 16:44 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio, Dmitry Baryshkov
On Fri, Nov 29, 2024 at 06:20:24PM +0100, Konrad Dybcio wrote:
> This series does the necessary plumbing for audio (alsa ucm & topology
> coming very soon), dual PS8830s and the PCIe3-mounted SD card reader.
>
> Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> ---
> Changes in v2:
> - pick up RBs
> - sort some nodes properly
> - drop PCIe port power supplies, they are on at boot and will be
> described in DT after a suitable binding is created later
> - Link to v1: https://lore.kernel.org/r/20241122-topic-sl7_feat2-v1-0-33e616be879b@oss.qualcomm.com
>
> ---
> Konrad Dybcio (3):
> arm64: dts: qcom: x1e80100-romulus: Configure audio
> arm64: dts: qcom: x1e80100-romulus: Set up PCIe3 / SDCard reader
> arm64: dts: qcom: x1e80100-romulus: Set up PS8830s
The ps883x driver and binding is still under review so you should have
at least mentioned the dependency in the cover letter.
And then merging should ideally not be done until at least the binding
has been merged. Hopefully (and most likely) this cycle...
Johan
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: qcom: x1e80100-romulus: Set up PS8830s
2024-11-29 17:20 ` [PATCH v2 3/3] arm64: dts: qcom: x1e80100-romulus: Set up PS8830s Konrad Dybcio
@ 2025-03-04 16:38 ` Rob Herring
0 siblings, 0 replies; 7+ messages in thread
From: Rob Herring @ 2025-03-04 16:38 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Bjorn Andersson, Krzysztof Kozlowski, Conor Dooley,
Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio, Dmitry Baryshkov
On Fri, Nov 29, 2024 at 11:20 AM Konrad Dybcio <konradybcio@kernel.org> wrote:
>
> From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
>
> 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>
> ---
> .../boot/dts/qcom/x1e80100-microsoft-romulus.dtsi | 282 ++++++++++++++++++++-
> 1 file changed, 276 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
> index 80fbcaea5d83e1147a74dd3320ae8fe8c953db57..2236095023a135d8fb1baaede111a34be54d160c 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
> +++ b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
> @@ -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";
clock-names is not part of the binding.
Rob
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-03-04 16:38 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-29 17:20 [PATCH v2 0/3] More Surface Laptop 7 features Konrad Dybcio
2024-11-29 17:20 ` [PATCH v2 1/3] arm64: dts: qcom: x1e80100-romulus: Configure audio Konrad Dybcio
2024-11-29 17:20 ` [PATCH v2 2/3] arm64: dts: qcom: x1e80100-romulus: Set up PCIe3 / SDCard reader Konrad Dybcio
2024-11-29 17:20 ` [PATCH v2 3/3] arm64: dts: qcom: x1e80100-romulus: Set up PS8830s Konrad Dybcio
2025-03-04 16:38 ` Rob Herring
2024-12-02 15:50 ` [PATCH v2 0/3] More Surface Laptop 7 features Bjorn Andersson
2024-12-04 16:44 ` Johan Hovold
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox