mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 00/11] Microsoft Surface Pro 9 5G update
@ 2026-05-20 16:40 Jérôme de Bretagne via B4 Relay
  2026-05-20 16:40 ` [PATCH 01/11] drm/panel: edp: Add LG LP129WT232166 panel Jérôme de Bretagne via B4 Relay
                   ` (10 more replies)
  0 siblings, 11 replies; 28+ messages in thread
From: Jérôme de Bretagne via B4 Relay @ 2026-05-20 16:40 UTC (permalink / raw)
  To: Douglas Anderson, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski, Jérôme de Bretagne, Jens Glathe,
	Bartosz Golaszewski, Johan Hovold, Stephan Gerhold

This series updates the support for the Microsoft Surface 9 5G
(Arcata), bringing it more up-to-date and aligned with the other
sc8280xp models such as the Lenovo ThinkPad X13s.

As highlights, it finally enables the built-in screen, it fixes
Display Port alt mode on the top left-side USB-C port, it enables
the volume up/down keys and the lid switch.

Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
Jérôme de Bretagne (11):
      drm/panel: edp: Add LG LP129WT232166 panel
      arm64: dts: qcom: sc8280xp-arcata: Enable backlight
      arm64: dts: qcom: sc8280xp-arcata: Enable the eDP display
      arm64: dts: qcom: sc8280xp-arcata: add USB-C orientation GPIOs
      arm64: dts: qcom: sc8280xp-arcata: Fix top USB-C DP alt mode
      arm64: dts: qcom: sc8280xp-arcata: Enable 4-lane DP support
      arm64: dts: qcom: sc8280xp-arcata: Add volume up/down GPIO keys
      arm64: dts: qcom: sc8280xp-arcata: Add lid switch
      arm64: dts: qcom: sc8280xp-arcata: model the PMU of the on-board wcn6855
      arm64: dts: qcom: sc8280xp-arcata: Switch to uefi rtc offset
      arm64: dts: qcom: sc8280xp-arcata: Drop duplicate DMIC supplies

 .../boot/dts/qcom/sc8280xp-microsoft-arcata.dts    | 301 ++++++++++++++++++---
 drivers/gpu/drm/panel/panel-edp.c                  |   1 +
 2 files changed, 266 insertions(+), 36 deletions(-)
---
base-commit: 028ef9c96e96197026887c0f092424679298aae8
change-id: 20260520-surface-sp9-5g-for-next-7897cbb0f42c

Best regards,
-- 
Jérôme de Bretagne <jerome.debretagne@gmail.com>



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

* [PATCH 01/11] drm/panel: edp: Add LG LP129WT232166 panel
  2026-05-20 16:40 [PATCH 00/11] Microsoft Surface Pro 9 5G update Jérôme de Bretagne via B4 Relay
@ 2026-05-20 16:40 ` Jérôme de Bretagne via B4 Relay
  2026-05-21 16:21   ` Doug Anderson
  2026-05-20 16:40 ` [PATCH 02/11] arm64: dts: qcom: sc8280xp-arcata: Enable backlight Jérôme de Bretagne via B4 Relay
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 28+ messages in thread
From: Jérôme de Bretagne via B4 Relay @ 2026-05-20 16:40 UTC (permalink / raw)
  To: Douglas Anderson, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski, Jérôme de Bretagne

From: Jérôme de Bretagne <jerome.debretagne@gmail.com>

Add an entry for the eDP LG LP129WT232166 panel used in
the Microsoft Surface Pro 9 5G.

edid-decode (hex):

00 ff ff ff ff ff ff 00 30 e4 b2 06 a1 25 10 00
00 1f 01 04 a5 1b 12 78 01 ef 70 a7 51 4c a8 26
0e 4f 53 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 fd 00 18 78 f1
f1 48 01 0a 20 20 20 20 20 20 00 00 00 fe 00 4c
47 44 5f 4d 50 31 2e 30 5f 0a 20 20 00 00 00 fe
00 4c 50 31 32 39 57 54 32 33 32 31 36 36 01 23

70 13 79 00 00 03 01 14 56 16 01 88 3f 0b 4f 00
07 80 1f 00 7f 07 55 00 47 00 07 00 03 01 14 56
16 01 08 3f 0b 4f 00 07 80 1f 00 7f 07 2b 08 47
00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 2c 90

Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
 drivers/gpu/drm/panel/panel-edp.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
index 679f4af5246d8a984387002c3fb0c6283cc21cb2..7eff79e80fa0578755a0b688cf792f58d8abcbe5 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -2080,6 +2080,7 @@ static const struct edp_panel_entry edp_panels[] = {
 	EDP_PANEL_ENTRY('L', 'G', 'D', 0x0567, &delay_200_500_e200_d200, "Unknown"),
 	EDP_PANEL_ENTRY('L', 'G', 'D', 0x05af, &delay_200_500_e200_d200, "Unknown"),
 	EDP_PANEL_ENTRY('L', 'G', 'D', 0x05f1, &delay_200_500_e200_d200, "Unknown"),
+	EDP_PANEL_ENTRY('L', 'G', 'D', 0x06b2, &delay_200_500_e200_d200, "LP129WT232166"),
 	EDP_PANEL_ENTRY('L', 'G', 'D', 0x0778, &delay_200_500_e200_d200, "134WT1"),
 
 	EDP_PANEL_ENTRY('S', 'H', 'P', 0x1511, &delay_200_500_e50, "LQ140M1JW48"),

-- 
2.47.3



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

* [PATCH 02/11] arm64: dts: qcom: sc8280xp-arcata: Enable backlight
  2026-05-20 16:40 [PATCH 00/11] Microsoft Surface Pro 9 5G update Jérôme de Bretagne via B4 Relay
  2026-05-20 16:40 ` [PATCH 01/11] drm/panel: edp: Add LG LP129WT232166 panel Jérôme de Bretagne via B4 Relay
@ 2026-05-20 16:40 ` Jérôme de Bretagne via B4 Relay
  2026-05-20 22:26   ` Jérôme de Bretagne
  2026-05-20 16:40 ` [PATCH 03/11] arm64: dts: qcom: sc8280xp-arcata: Enable the eDP display Jérôme de Bretagne via B4 Relay
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 28+ messages in thread
From: Jérôme de Bretagne via B4 Relay @ 2026-05-20 16:40 UTC (permalink / raw)
  To: Douglas Anderson, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski, Jérôme de Bretagne

From: Jérôme de Bretagne <jerome.debretagne@gmail.com>

Add backlight nodes and enable backlight so that it can be controlled
with the corresponding buttons found on Surface Pro Type Cover keyboards.

The nodes are almost identical to the ones from the ThinkPad X13s with
a different enable GPIO for the vreg_edp_bl node.

The difference was found by looking at the output of /sys/kernel/debug/gpio
on the ThinkPad X13s to see the properties of its enable gpio9:

  gpiochip1: GPIOs 742-751, parent: platform/c440000.spmi:pmic@1:gpio@8800, c440000.spmi:pmic@1:gpio@8800:
   ...
   gpio9 : out  high normal  vin-1 pull-down 10uA              push-pull  medium  atest-1 dtest-0
   ...

The same gpio9 on the Surface Pro 9 5G has different properties:

  gpiochip0: 10 GPIOs, parent: platform/c440000.spmi:pmic@1:gpio@8800, c440000.spmi:pmic@1:gpio@8800:
   ...
   gpio9 : in   high normal  vin-1 pull-up 30uA                push-pull  low     atest-1 dtest-0
   ...

Looking for a match on the Surface Pro 9 5G pointed to this only one:

  gpiochip2: 10 GPIOs, parent: platform/c440000.spmi:pmic@3:gpio@8800, c440000.spmi:pmic@3:gpio@8800:
   ...
   gpio6 : out  high normal  vin-1 pull-down 10uA              push-pull  medium  atest-1 dtest-0
   ...

Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
 .../boot/dts/qcom/sc8280xp-microsoft-arcata.dts    | 49 ++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
index f2b4470d4407fb5b6a3dbac8bc972c010c31bd06..14287092fb07ea15e527fd318f7ea2155448b26c 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
@@ -46,6 +46,16 @@ wcd938x: audio-codec {
 		#sound-dai-cells = <1>;
 	};
 
+	backlight: backlight {
+		compatible = "pwm-backlight";
+		pwms = <&pmc8280c_lpg 3 1000000>;
+		enable-gpios = <&pmc8280_1_gpios 8 GPIO_ACTIVE_HIGH>;
+		power-supply = <&vreg_edp_bl>;
+
+		pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
+		pinctrl-names = "default";
+	};
+
 	pmic-glink {
 		compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink";
 
@@ -127,6 +137,22 @@ pmic_glink_con1_sbu: endpoint {
 		};
 	};
 
+	vreg_edp_bl: regulator-edp-bl {
+		compatible = "regulator-fixed";
+
+		regulator-name = "VREG_EDP_BL";
+		regulator-min-microvolt = <3600000>;
+		regulator-max-microvolt = <3600000>;
+
+		gpio = <&pmc8280c_gpios 6 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-0 = <&edp_bl_reg_en>;
+		pinctrl-names = "default";
+
+		regulator-boot-on;
+	};
+
 	vreg_nvme: regulator-nvme {
 		compatible = "regulator-fixed";
 
@@ -553,6 +579,10 @@ &pcie4_phy {
 	status = "okay";
 };
 
+&pmc8280c_lpg {
+	status = "okay";
+};
+
 &pmk8280_pon_pwrkey {
 	status = "okay";
 };
@@ -853,6 +883,13 @@ &lpass_tlmm {
 	status = "okay";
 };
 
+&pmc8280_1_gpios {
+	edp_bl_en: edp-bl-en-state {
+		pins = "gpio8";
+		function = "normal";
+	};
+};
+
 &pmc8280_2_gpios {
 	wwan_sw_en: wwan-sw-en-state {
 		pins = "gpio1";
@@ -860,6 +897,18 @@ wwan_sw_en: wwan-sw-en-state {
 	};
 };
 
+&pmc8280c_gpios {
+	edp_bl_pwm: edp-bl-pwm-state {
+		pins = "gpio8";
+		function = "func1";
+	};
+
+	edp_bl_reg_en: edp-bl-reg-en-state {
+		pins = "gpio6";
+		function = "normal";
+	};
+};
+
 &pmr735a_gpios {
 	hastings_reg_en: hastings-reg-en-state {
 		pins = "gpio1";

-- 
2.47.3



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

* [PATCH 03/11] arm64: dts: qcom: sc8280xp-arcata: Enable the eDP display
  2026-05-20 16:40 [PATCH 00/11] Microsoft Surface Pro 9 5G update Jérôme de Bretagne via B4 Relay
  2026-05-20 16:40 ` [PATCH 01/11] drm/panel: edp: Add LG LP129WT232166 panel Jérôme de Bretagne via B4 Relay
  2026-05-20 16:40 ` [PATCH 02/11] arm64: dts: qcom: sc8280xp-arcata: Enable backlight Jérôme de Bretagne via B4 Relay
@ 2026-05-20 16:40 ` Jérôme de Bretagne via B4 Relay
  2026-05-21  8:50   ` Konrad Dybcio
  2026-05-20 16:40 ` [PATCH 04/11] arm64: dts: qcom: sc8280xp-arcata: add USB-C orientation GPIOs Jérôme de Bretagne via B4 Relay
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 28+ messages in thread
From: Jérôme de Bretagne via B4 Relay @ 2026-05-20 16:40 UTC (permalink / raw)
  To: Douglas Anderson, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski, Jérôme de Bretagne

From: Jérôme de Bretagne <jerome.debretagne@gmail.com>

Add the vreg_edp_3p3, edp_reg_en and mdss0_dp3 nodes to enable the
Surface Pro 9 5G eDP-based LCD display (LG LP129WT232166).

The enable GPIO 36 was found by decompiling AeoB dumps [1]:

                Package ()
                {
                    "CLOCK",
                    Package ()
                    {
                        "gcc_edp3_phy_clkref_en",
                        0x0000000000000001,
                    },
                },
                Package ()
                {
                    "FOOTSWITCH",
                    Package ()
                    {
                        "mdss_0_disp_cc_mdss_core_gdsc",
                        0x0000000000000001,
                        0x0000000000000001,
                    },
                },
                Package ()
                {
                    "PSTATE_ADJUST",
                    Package ()
                    {
                        0x0000000000000002,
                        0x0000000000000000,
                    },
                },
                Package ()
                {
                    "PSTATE_ADJUST",
                    Package ()
                    {
                        0x0000000000000003,
                        0x0000000000000001,
                    },
                },
                Package ()
                {
                    "PMICVREGVOTE",
                    Package ()
                    {
                        "PPP_RESOURCE_ID_LDO3_B",
                        0x0000000000000001,
                        0x0000000000124F80,
                        0x0000000000000001,
                        0x0000000000000007,
                        0x0000000000000000,
                        "HLOS_DRV",
                        "REQUIRED",
                    },
                },
                Package ()
                {
                    "PMICVREGVOTE",
                    Package ()
                    {
                        "PPP_RESOURCE_ID_LDO6_B",
                        0x0000000000000001,
                        0x00000000000D6D80,
                        0x0000000000000001,
                        0x0000000000000007,
                        0x0000000000000000,
                        "HLOS_DRV",
                        "REQUIRED",
                    },
                },
                Package ()
                {
                    "TLMMGPIO",
                    Package ()
                    {
                        0x0000000000000024,  <== GPIO 36
                        0x0000000000000001,
                        0x0000000000000000,
                        0x0000000000000001,
                        0x0000000000000000,
                        0x0000000000000000,
                    },
                },

[1] https://github.com/alexVinarskis/qcom-aeob-dumps/blob/master/microsoft-surface-pro-9-5G-1996/qcdxkmext8280_ARC_part2.json#L156-L168

Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
 .../boot/dts/qcom/sc8280xp-microsoft-arcata.dts    | 64 ++++++++++++++++++++--
 1 file changed, 59 insertions(+), 5 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
index 14287092fb07ea15e527fd318f7ea2155448b26c..7f1cc1899002529b7ac7340974c99f6ed493d410 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
@@ -137,6 +137,22 @@ pmic_glink_con1_sbu: endpoint {
 		};
 	};
 
+	vreg_edp_3p3: regulator-edp-3p3 {
+		compatible = "regulator-fixed";
+
+		regulator-name = "VREG_EDP_3P3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+
+		gpio = <&tlmm 36 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-0 = <&edp_reg_en>;
+		pinctrl-names = "default";
+
+		regulator-boot-on;
+	};
+
 	vreg_edp_bl: regulator-edp-bl {
 		compatible = "regulator-fixed";
 
@@ -361,7 +377,6 @@ vreg_l6b: ldo6 {
 			regulator-max-microvolt = <880000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-boot-on;
-			regulator-always-on;	// FIXME: VDD_A_EDP_0_0P9
 		};
 	};
 
@@ -465,10 +480,6 @@ &dispcc0 {
 	status = "okay";
 };
 
-&dispcc1 {
-	status = "okay";
-};
-
 &gpi_dma0 {
 	status = "okay";
 };
@@ -511,6 +522,42 @@ &mdss0_dp1_out {
 	remote-endpoint = <&usb_1_qmpphy_dp_in>;
 };
 
+&mdss0_dp3 {
+	compatible = "qcom,sc8280xp-edp";
+	/delete-property/ #sound-dai-cells;
+
+	data-lanes = <0 1 2 3>;
+
+	status = "okay";
+
+	aux-bus {
+		panel {
+			compatible = "edp-panel";
+
+			backlight = <&backlight>;
+			power-supply = <&vreg_edp_3p3>;
+
+			port {
+				edp_panel_in: endpoint {
+					remote-endpoint = <&mdss0_dp3_out>;
+				};
+			};
+		};
+	};
+};
+
+&mdss0_dp3_out {
+	remote-endpoint = <&edp_panel_in>;
+};
+
+&mdss0_dp3_phy {
+	compatible = "qcom,sc8280xp-edp-phy";
+	vdda-phy-supply = <&vreg_l6b>;
+	vdda-pll-supply = <&vreg_l3b>;
+
+	status = "okay";
+};
+
 &pcie2a {
 	perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
 	wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
@@ -932,6 +979,13 @@ hstp-sw-ctrl-pins {
 		};
 	};
 
+	edp_reg_en: edp-reg-en-state {
+		pins = "gpio36";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-disable;
+	};
+
 	nvme_reg_en: nvme-reg-en-state {
 		pins = "gpio135";
 		function = "gpio";

-- 
2.47.3



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

* [PATCH 04/11] arm64: dts: qcom: sc8280xp-arcata: add USB-C orientation GPIOs
  2026-05-20 16:40 [PATCH 00/11] Microsoft Surface Pro 9 5G update Jérôme de Bretagne via B4 Relay
                   ` (2 preceding siblings ...)
  2026-05-20 16:40 ` [PATCH 03/11] arm64: dts: qcom: sc8280xp-arcata: Enable the eDP display Jérôme de Bretagne via B4 Relay
@ 2026-05-20 16:40 ` Jérôme de Bretagne via B4 Relay
  2026-05-21  8:52   ` Konrad Dybcio
  2026-05-20 16:40 ` [PATCH 05/11] arm64: dts: qcom: sc8280xp-arcata: Fix top USB-C DP alt mode Jérôme de Bretagne via B4 Relay
                   ` (6 subsequent siblings)
  10 siblings, 1 reply; 28+ messages in thread
From: Jérôme de Bretagne via B4 Relay @ 2026-05-20 16:40 UTC (permalink / raw)
  To: Douglas Anderson, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski, Jérôme de Bretagne

From: Jérôme de Bretagne <jerome.debretagne@gmail.com>

Define the USB-C orientation GPIOs so that the USB-C ports orientation
is known without having to resort to the alt mode notifications.

Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
 arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
index 7f1cc1899002529b7ac7340974c99f6ed493d410..49c0ecfc6c055ef2cd85db022d9340ecb88b7fc4 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
@@ -61,6 +61,8 @@ pmic-glink {
 
 		#address-cells = <1>;
 		#size-cells = <0>;
+		orientation-gpios = <&tlmm 166 GPIO_ACTIVE_HIGH>,
+				    <&tlmm 49 GPIO_ACTIVE_HIGH>;
 
 		/* Left-side top port */
 		connector@0 {

-- 
2.47.3



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

* [PATCH 05/11] arm64: dts: qcom: sc8280xp-arcata: Fix top USB-C DP alt mode
  2026-05-20 16:40 [PATCH 00/11] Microsoft Surface Pro 9 5G update Jérôme de Bretagne via B4 Relay
                   ` (3 preceding siblings ...)
  2026-05-20 16:40 ` [PATCH 04/11] arm64: dts: qcom: sc8280xp-arcata: add USB-C orientation GPIOs Jérôme de Bretagne via B4 Relay
@ 2026-05-20 16:40 ` Jérôme de Bretagne via B4 Relay
  2026-05-21  8:53   ` Konrad Dybcio
  2026-05-20 16:40 ` [PATCH 06/11] arm64: dts: qcom: sc8280xp-arcata: Enable 4-lane DP support Jérôme de Bretagne via B4 Relay
                   ` (5 subsequent siblings)
  10 siblings, 1 reply; 28+ messages in thread
From: Jérôme de Bretagne via B4 Relay @ 2026-05-20 16:40 UTC (permalink / raw)
  To: Douglas Anderson, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski, Jérôme de Bretagne, Jens Glathe

From: Jérôme de Bretagne <jerome.debretagne@gmail.com>

The top USB-C port (usb0) didn't switch to DP alt mode, as reusing the
same GPIO 101 as on the SC8280XP CRD or Lenovo ThinkPad X13s was not
working on the Surface Pro 9 5G.

Investigation [1] by Jens on the Windows Dev Kit (WDK2023), the other
sc8280xp-based "blackrock" model from Microsoft, found a reference
to GPIO 100 in the DSDT in addition to 101. Switching to GPIO 100
fixed the issue on blackrock, as it does on arcata to enable
external screen when using the left-side top USB-C port.

[1] https://lore.kernel.org/all/20250609-blackrock-usb0-mux-v1-1-7903c3b071e4@oldschoolsolutions.biz/

Cc: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
Fixes: f6231a2eefd4 ("arm64: dts: qcom: sc8280xp: Add Microsoft Surface Pro 9 5G")
---
 arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
index 49c0ecfc6c055ef2cd85db022d9340ecb88b7fc4..50fabf8961fd9869a31f24a69da854348fc1d891 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
@@ -287,7 +287,7 @@ map1 {
 	usb0-sbu-mux {
 		compatible = "pericom,pi3usb102", "gpio-sbu-mux";
 
-		enable-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
+		enable-gpios = <&tlmm 100 GPIO_ACTIVE_LOW>;
 		select-gpios = <&tlmm 164 GPIO_ACTIVE_HIGH>;
 
 		pinctrl-0 = <&usb0_sbu_default>;
@@ -1101,7 +1101,7 @@ tx-pins {
 
 	usb0_sbu_default: usb0-sbu-state {
 		oe-n-pins {
-			pins = "gpio101";
+			pins = "gpio100";
 			function = "gpio";
 			bias-disable;
 			drive-strength = <16>;

-- 
2.47.3



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

* [PATCH 06/11] arm64: dts: qcom: sc8280xp-arcata: Enable 4-lane DP support
  2026-05-20 16:40 [PATCH 00/11] Microsoft Surface Pro 9 5G update Jérôme de Bretagne via B4 Relay
                   ` (4 preceding siblings ...)
  2026-05-20 16:40 ` [PATCH 05/11] arm64: dts: qcom: sc8280xp-arcata: Fix top USB-C DP alt mode Jérôme de Bretagne via B4 Relay
@ 2026-05-20 16:40 ` Jérôme de Bretagne via B4 Relay
  2026-05-22  9:36   ` Konrad Dybcio
  2026-05-20 16:40 ` [PATCH 07/11] arm64: dts: qcom: sc8280xp-arcata: Add volume up/down GPIO keys Jérôme de Bretagne via B4 Relay
                   ` (4 subsequent siblings)
  10 siblings, 1 reply; 28+ messages in thread
From: Jérôme de Bretagne via B4 Relay @ 2026-05-20 16:40 UTC (permalink / raw)
  To: Douglas Anderson, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski, Jérôme de Bretagne

From: Jérôme de Bretagne <jerome.debretagne@gmail.com>

Allow up to 4 lanes for the DisplayPort link from the PHYs to the
controllers and allow mode-switch events to reach the QMP Combo PHYs
for the 2 left-side USB-C ports.

Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
 arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
index 50fabf8961fd9869a31f24a69da854348fc1d891..2a6f0c9de7c85a4f0659237846b0430a0b021a40 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
@@ -511,7 +511,7 @@ &mdss0_dp0 {
 };
 
 &mdss0_dp0_out {
-	data-lanes = <0 1>;
+	data-lanes = <0 1 2 3>;
 	remote-endpoint = <&usb_0_qmpphy_dp_in>;
 };
 
@@ -520,7 +520,7 @@ &mdss0_dp1 {
 };
 
 &mdss0_dp1_out {
-	data-lanes = <0 1>;
+	data-lanes = <0 1 2 3>;
 	remote-endpoint = <&usb_1_qmpphy_dp_in>;
 };
 
@@ -857,6 +857,7 @@ &usb_0_qmpphy {
 	vdda-phy-supply = <&vreg_l9d>;
 	vdda-pll-supply = <&vreg_l4d>;
 
+	mode-switch;
 	orientation-switch;
 
 	status = "okay";
@@ -894,6 +895,7 @@ &usb_1_qmpphy {
 	vdda-phy-supply = <&vreg_l4b>;
 	vdda-pll-supply = <&vreg_l3b>;
 
+	mode-switch;
 	orientation-switch;
 
 	status = "okay";

-- 
2.47.3



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

* [PATCH 07/11] arm64: dts: qcom: sc8280xp-arcata: Add volume up/down GPIO keys
  2026-05-20 16:40 [PATCH 00/11] Microsoft Surface Pro 9 5G update Jérôme de Bretagne via B4 Relay
                   ` (5 preceding siblings ...)
  2026-05-20 16:40 ` [PATCH 06/11] arm64: dts: qcom: sc8280xp-arcata: Enable 4-lane DP support Jérôme de Bretagne via B4 Relay
@ 2026-05-20 16:40 ` Jérôme de Bretagne via B4 Relay
  2026-05-21  8:54   ` Konrad Dybcio
  2026-05-20 16:40 ` [PATCH 08/11] arm64: dts: qcom: sc8280xp-arcata: Add lid switch Jérôme de Bretagne via B4 Relay
                   ` (3 subsequent siblings)
  10 siblings, 1 reply; 28+ messages in thread
From: Jérôme de Bretagne via B4 Relay @ 2026-05-20 16:40 UTC (permalink / raw)
  To: Douglas Anderson, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski, Jérôme de Bretagne

From: Jérôme de Bretagne <jerome.debretagne@gmail.com>

Configure gpio6 to serve as volume down and gpio9 as volume up to enable
the volume up/down keys located at the top of the screen.

Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
 .../boot/dts/qcom/sc8280xp-microsoft-arcata.dts    | 42 ++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
index 2a6f0c9de7c85a4f0659237846b0430a0b021a40..a300069b5960dbba28601c418951869c94b63938 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
@@ -6,6 +6,7 @@
 /dts-v1/;
 
 #include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/gpio-keys.h>
 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 
 #include "sc8280xp.dtsi"
@@ -56,6 +57,31 @@ backlight: backlight {
 		pinctrl-names = "default";
 	};
 
+	gpio-keys {
+		compatible = "gpio-keys";
+
+		pinctrl-0 = <&vol_down_n>, <&vol_up_n>;
+		pinctrl-names = "default";
+
+		key-vol-down {
+			label = "Volume Down";
+			gpios = <&pmc8280_1_gpios 6 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_VOLUMEDOWN>;
+			debounce-interval = <15>;
+			linux,can-disable;
+			wakeup-source;
+		};
+
+		key-vol-up {
+			label = "Volume Up";
+			gpios = <&pmc8280_1_gpios 9 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_VOLUMEUP>;
+			debounce-interval = <15>;
+			linux,can-disable;
+			wakeup-source;
+		};
+	};
+
 	pmic-glink {
 		compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink";
 
@@ -939,6 +965,22 @@ edp_bl_en: edp-bl-en-state {
 		pins = "gpio8";
 		function = "normal";
 	};
+
+	vol_down_n: vol-down-n-state {
+		pins = "gpio6";
+		function = "normal";
+		power-source = <1>;
+		input-enable;
+		bias-pull-up;
+	};
+
+	vol_up_n: vol-up-n-state {
+		pins = "gpio9";
+		function = "normal";
+		power-source = <1>;
+		input-enable;
+		bias-pull-up;
+	};
 };
 
 &pmc8280_2_gpios {

-- 
2.47.3



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

* [PATCH 08/11] arm64: dts: qcom: sc8280xp-arcata: Add lid switch
  2026-05-20 16:40 [PATCH 00/11] Microsoft Surface Pro 9 5G update Jérôme de Bretagne via B4 Relay
                   ` (6 preceding siblings ...)
  2026-05-20 16:40 ` [PATCH 07/11] arm64: dts: qcom: sc8280xp-arcata: Add volume up/down GPIO keys Jérôme de Bretagne via B4 Relay
@ 2026-05-20 16:40 ` Jérôme de Bretagne via B4 Relay
  2026-05-21  8:54   ` Konrad Dybcio
  2026-05-20 16:40 ` [PATCH 09/11] arm64: dts: qcom: sc8280xp-arcata: model the PMU of the on-board wcn6855 Jérôme de Bretagne via B4 Relay
                   ` (2 subsequent siblings)
  10 siblings, 1 reply; 28+ messages in thread
From: Jérôme de Bretagne via B4 Relay @ 2026-05-20 16:40 UTC (permalink / raw)
  To: Douglas Anderson, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski, Jérôme de Bretagne

From: Jérôme de Bretagne <jerome.debretagne@gmail.com>

Enable the lid switch for the Microsoft Surface Pro 9 5G using
GPIO pin 180.

Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
 .../arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
index a300069b5960dbba28601c418951869c94b63938..4daff3a0ecf48ad2081a2fe98910adf0debef88f 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
@@ -7,6 +7,7 @@
 
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/gpio-keys.h>
+#include <dt-bindings/input/input.h>
 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 
 #include "sc8280xp.dtsi"
@@ -60,7 +61,7 @@ backlight: backlight {
 	gpio-keys {
 		compatible = "gpio-keys";
 
-		pinctrl-0 = <&vol_down_n>, <&vol_up_n>;
+		pinctrl-0 = <&hall_int_n_default>, <&vol_down_n>, <&vol_up_n>;
 		pinctrl-names = "default";
 
 		key-vol-down {
@@ -80,6 +81,15 @@ key-vol-up {
 			linux,can-disable;
 			wakeup-source;
 		};
+
+		switch-lid {
+			label = "lid";
+			gpios = <&tlmm 180 GPIO_ACTIVE_LOW>;
+			linux,input-type = <EV_SW>;
+			linux,code = <SW_LID>;
+			wakeup-source;
+			wakeup-event-action = <EV_ACT_DEASSERTED>;
+		};
 	};
 
 	pmic-glink {
@@ -1032,6 +1042,13 @@ edp_reg_en: edp-reg-en-state {
 		bias-disable;
 	};
 
+	hall_int_n_default: hall-int-n-state {
+		pins = "gpio180";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-disable;
+	};
+
 	nvme_reg_en: nvme-reg-en-state {
 		pins = "gpio135";
 		function = "gpio";

-- 
2.47.3



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

* [PATCH 09/11] arm64: dts: qcom: sc8280xp-arcata: model the PMU of the on-board wcn6855
  2026-05-20 16:40 [PATCH 00/11] Microsoft Surface Pro 9 5G update Jérôme de Bretagne via B4 Relay
                   ` (7 preceding siblings ...)
  2026-05-20 16:40 ` [PATCH 08/11] arm64: dts: qcom: sc8280xp-arcata: Add lid switch Jérôme de Bretagne via B4 Relay
@ 2026-05-20 16:40 ` Jérôme de Bretagne via B4 Relay
  2026-05-21  8:57   ` Konrad Dybcio
  2026-05-20 16:40 ` [PATCH 10/11] arm64: dts: qcom: sc8280xp-arcata: Switch to uefi rtc offset Jérôme de Bretagne via B4 Relay
  2026-05-20 16:40 ` [PATCH 11/11] arm64: dts: qcom: sc8280xp-arcata: Drop duplicate DMIC supplies Jérôme de Bretagne via B4 Relay
  10 siblings, 1 reply; 28+ messages in thread
From: Jérôme de Bretagne via B4 Relay @ 2026-05-20 16:40 UTC (permalink / raw)
  To: Douglas Anderson, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski, Jérôme de Bretagne,
	Bartosz Golaszewski

From: Jérôme de Bretagne <jerome.debretagne@gmail.com>

Align the Surface Pro 9 5G with the other sc8280xp-based models as done in
this patch series [1] from Bartosz.

Add a node for the PMU of the WCN6855 and rework the inputs of the wifi
and bluetooth nodes to consume the PMU's outputs.

With this we can drop the regulator-always-on properties from vreg_s11b
and vreg_s12b as they will now be enabled by the power sequencing
driver.

Use the fixed BT vddrfa1p7-supply supply name to align with bindings.

[1] https://lore.kernel.org/all/20241018-sc8280xp-pwrseq-v6-0-8da8310d9564@linaro.org/

Cc: Bartosz Golaszewski <brgl@kernel.org>
Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
 .../boot/dts/qcom/sc8280xp-microsoft-arcata.dts    | 103 ++++++++++++++++++---
 1 file changed, 89 insertions(+), 14 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
index 4daff3a0ecf48ad2081a2fe98910adf0debef88f..52d8e9527bd26f97305905650e2486a59e6d7157 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
@@ -357,6 +357,70 @@ usb1_sbu_mux: endpoint {
 			};
 		};
 	};
+
+	wcn6855-pmu {
+		compatible = "qcom,wcn6855-pmu";
+
+		pinctrl-0 = <&bt_default>, <&wlan_en>;
+		pinctrl-names = "default";
+
+		wlan-enable-gpios = <&tlmm 134 GPIO_ACTIVE_HIGH>;
+		bt-enable-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
+		swctrl-gpios = <&tlmm 132 GPIO_ACTIVE_HIGH>;
+
+		vddio-supply = <&vreg_s10b>;
+		vddaon-supply = <&vreg_s12b>;
+		vddpmu-supply = <&vreg_s12b>;
+		vddpmumx-supply = <&vreg_s12b>;
+		vddpmucx-supply = <&vreg_s12b>;
+		vddrfa0p95-supply = <&vreg_s12b>;
+		vddrfa1p3-supply = <&vreg_s11b>;
+		vddrfa1p9-supply = <&vreg_s1c>;
+		vddpcie1p3-supply = <&vreg_s11b>;
+		vddpcie1p9-supply = <&vreg_s1c>;
+
+		regulators {
+			vreg_pmu_rfa_cmn_0p8: ldo0 {
+				regulator-name = "vreg_pmu_rfa_cmn_0p8";
+			};
+
+			vreg_pmu_aon_0p8: ldo1 {
+				regulator-name = "vreg_pmu_aon_0p8";
+			};
+
+			vreg_pmu_wlcx_0p8: ldo2 {
+				regulator-name = "vreg_pmu_wlcx_0p8";
+			};
+
+			vreg_pmu_wlmx_0p8: ldo3 {
+				regulator-name = "vreg_pmu_wlmx_0p8";
+			};
+
+			vreg_pmu_btcmx_0p8: ldo4 {
+				regulator-name = "vreg_pmu_btcmx_0p8";
+			};
+
+			vreg_pmu_pcie_1p8: ldo5 {
+				regulator-name = "vreg_pmu_pcie_1p8";
+			};
+
+			vreg_pmu_pcie_0p9: ldo6 {
+				regulator-name = "vreg_pmu_pcie_0p9";
+			};
+
+			vreg_pmu_rfa_0p8: ldo7 {
+				regulator-name = "vreg_pmu_rfa_0p8";
+			};
+
+			vreg_pmu_rfa_1p2: ldo8 {
+				regulator-name = "vreg_pmu_rfa_1p2";
+			};
+
+			vreg_pmu_rfa_1p7: ldo9 {
+				regulator-name = "vreg_pmu_rfa_1p7";
+			};
+		};
+	};
 };
 
 &apps_rsc {
@@ -383,7 +447,6 @@ vreg_s11b: smps11 {
 			regulator-min-microvolt = <1272000>;
 			regulator-max-microvolt = <1272000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-			regulator-always-on;
 		};
 
 		vreg_s12b: smps12 {
@@ -391,7 +454,6 @@ vreg_s12b: smps12 {
 			regulator-min-microvolt = <984000>;
 			regulator-max-microvolt = <984000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-			regulator-always-on;
 		};
 
 		vreg_l3b: ldo3 {
@@ -653,6 +715,16 @@ wifi@0 {
 		compatible = "pci17cb,1103";
 		reg = <0x10000 0x0 0x0 0x0 0x0>;
 
+		vddrfacmn-supply = <&vreg_pmu_rfa_cmn_0p8>;
+		vddaon-supply = <&vreg_pmu_aon_0p8>;
+		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
+		vddwlmx-supply = <&vreg_pmu_wlmx_0p8>;
+		vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
+		vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
+		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
+		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
+		vddrfa1p8-supply = <&vreg_pmu_rfa_1p7>;
+
 		qcom,calibration-variant = "MS_SP9_5G";
 	};
 };
@@ -837,20 +909,16 @@ &uart2 {
 	bluetooth {
 		compatible = "qcom,wcn6855-bt";
 
-		vddio-supply = <&vreg_s10b>;
-		vddbtcxmx-supply = <&vreg_s12b>;
-		vddrfacmn-supply = <&vreg_s12b>;
-		vddrfa0p8-supply = <&vreg_s12b>;
-		vddrfa1p2-supply = <&vreg_s11b>;
-		vddrfa1p7-supply = <&vreg_s1c>;
+		vddrfacmn-supply = <&vreg_pmu_rfa_cmn_0p8>;
+		vddaon-supply = <&vreg_pmu_aon_0p8>;
+		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
+		vddwlmx-supply = <&vreg_pmu_wlmx_0p8>;
+		vddbtcmx-supply = <&vreg_pmu_btcmx_0p8>;
+		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
+		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
+		vddrfa1p7-supply = <&vreg_pmu_rfa_1p7>;
 
 		max-speed = <3200000>;
-
-		enable-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
-		swctrl-gpios = <&tlmm 132 GPIO_ACTIVE_HIGH>;
-
-		pinctrl-0 = <&bt_default>;
-		pinctrl-names = "default";
 	};
 };
 
@@ -1201,4 +1269,11 @@ reset-pins {
 			bias-disable;
 		};
 	};
+
+	wlan_en: wlan-en-state {
+		pins = "gpio134";
+		function = "gpio";
+		drive-strength = <8>;
+		bias-pull-down;
+	};
 };

-- 
2.47.3



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

* [PATCH 10/11] arm64: dts: qcom: sc8280xp-arcata: Switch to uefi rtc offset
  2026-05-20 16:40 [PATCH 00/11] Microsoft Surface Pro 9 5G update Jérôme de Bretagne via B4 Relay
                   ` (8 preceding siblings ...)
  2026-05-20 16:40 ` [PATCH 09/11] arm64: dts: qcom: sc8280xp-arcata: model the PMU of the on-board wcn6855 Jérôme de Bretagne via B4 Relay
@ 2026-05-20 16:40 ` Jérôme de Bretagne via B4 Relay
  2026-05-21  8:57   ` Konrad Dybcio
  2026-05-20 16:40 ` [PATCH 11/11] arm64: dts: qcom: sc8280xp-arcata: Drop duplicate DMIC supplies Jérôme de Bretagne via B4 Relay
  10 siblings, 1 reply; 28+ messages in thread
From: Jérôme de Bretagne via B4 Relay @ 2026-05-20 16:40 UTC (permalink / raw)
  To: Douglas Anderson, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski, Jérôme de Bretagne, Johan Hovold

From: Jérôme de Bretagne <jerome.debretagne@gmail.com>

Align with the reference implementation from the ThinkPad X13s:

Switch to using the Qualcomm specific UEFI variable that is used by the
UEFI firmware (and Windows) to store the RTC offset.

Use the new 'qcom,uefi-rtc-info' property to indicate that the offset is
stored in a UEFI variable so that the OS can determine whether to wait
for it to become available.

Cc: Johan Hovold <johan@kernel.org>
Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
 arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
index 52d8e9527bd26f97305905650e2486a59e6d7157..ae0a054f2f9d90c9341766528d6be0b9561a530f 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
@@ -749,20 +749,11 @@ &pmk8280_pon_resin {
 };
 
 &pmk8280_rtc {
-	nvmem-cells = <&rtc_offset>;
-	nvmem-cell-names = "offset";
+	qcom,uefi-rtc-info;
 
 	status = "okay";
 };
 
-&pmk8280_sdam_6 {
-	status = "okay";
-
-	rtc_offset: rtc-offset@bc {
-		reg = <0xbc 0x4>;
-	};
-};
-
 &qup0 {
 	status = "okay";
 };

-- 
2.47.3



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

* [PATCH 11/11] arm64: dts: qcom: sc8280xp-arcata: Drop duplicate DMIC supplies
  2026-05-20 16:40 [PATCH 00/11] Microsoft Surface Pro 9 5G update Jérôme de Bretagne via B4 Relay
                   ` (9 preceding siblings ...)
  2026-05-20 16:40 ` [PATCH 10/11] arm64: dts: qcom: sc8280xp-arcata: Switch to uefi rtc offset Jérôme de Bretagne via B4 Relay
@ 2026-05-20 16:40 ` Jérôme de Bretagne via B4 Relay
  2026-05-21  8:58   ` Konrad Dybcio
  10 siblings, 1 reply; 28+ messages in thread
From: Jérôme de Bretagne via B4 Relay @ 2026-05-20 16:40 UTC (permalink / raw)
  To: Douglas Anderson, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski, Jérôme de Bretagne,
	Stephan Gerhold

From: Jérôme de Bretagne <jerome.debretagne@gmail.com>

Align with the reference implementation from the ThinkPad X13s.

The audio-routing setup specifies two power supplies for each DMIC,
but only one of them can be active at the same time.

Drop the redundant routes to the pull-up "VA MIC BIASn" supplies as
done in commit a2e617f4e698 ("arm64: dts: qcom: sc8280xp-x13s: Drop
duplicate DMIC supplies").

There is no functional difference except that we skip briefly switching
to pull-up mode when shutting down the microphone.

Cc: Stephan Gerhold <stephan.gerhold@linaro.org>
Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
 arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
index ae0a054f2f9d90c9341766528d6be0b9561a530f..f938e68c69ea9276ca89d75b659dbea6a7a832f7 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
@@ -793,9 +793,6 @@ &sound {
 			"VA DMIC0", "MIC BIAS1",
 			"VA DMIC1", "MIC BIAS1",
 			"VA DMIC2", "MIC BIAS3",
-			"VA DMIC0", "VA MIC BIAS1",
-			"VA DMIC1", "VA MIC BIAS1",
-			"VA DMIC2", "VA MIC BIAS3",
 			"TX SWR_ADC1", "ADC2_OUTPUT";
 
 	wcd-playback-dai-link {

-- 
2.47.3



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

* Re: [PATCH 02/11] arm64: dts: qcom: sc8280xp-arcata: Enable backlight
  2026-05-20 16:40 ` [PATCH 02/11] arm64: dts: qcom: sc8280xp-arcata: Enable backlight Jérôme de Bretagne via B4 Relay
@ 2026-05-20 22:26   ` Jérôme de Bretagne
  2026-05-21  8:48     ` Konrad Dybcio
  0 siblings, 1 reply; 28+ messages in thread
From: Jérôme de Bretagne @ 2026-05-20 22:26 UTC (permalink / raw)
  To: Douglas Anderson, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree, Krzysztof Kozlowski

On 5/20/26 18:40, Jérôme de Bretagne via B4 Relay wrote:
> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> 
> Add backlight nodes and enable backlight so that it can be controlled
> with the corresponding buttons found on Surface Pro Type Cover keyboards.
> 
> The nodes are almost identical to the ones from the ThinkPad X13s with
> a different enable GPIO for the vreg_edp_bl node.
> 
> The difference was found by looking at the output of /sys/kernel/debug/gpio
> on the ThinkPad X13s to see the properties of its enable gpio9:
> 
>    gpiochip1: GPIOs 742-751, parent: platform/c440000.spmi:pmic@1:gpio@8800, c440000.spmi:pmic@1:gpio@8800:
>     ...
>     gpio9 : out  high normal  vin-1 pull-down 10uA              push-pull  medium  atest-1 dtest-0
>     ...
> 
> The same gpio9 on the Surface Pro 9 5G has different properties:
> 
>    gpiochip0: 10 GPIOs, parent: platform/c440000.spmi:pmic@1:gpio@8800, c440000.spmi:pmic@1:gpio@8800:
>     ...
>     gpio9 : in   high normal  vin-1 pull-up 30uA                push-pull  low     atest-1 dtest-0
>     ...
> 
> Looking for a match on the Surface Pro 9 5G pointed to this only one:
> 
>    gpiochip2: 10 GPIOs, parent: platform/c440000.spmi:pmic@3:gpio@8800, c440000.spmi:pmic@3:gpio@8800:
>     ...
>     gpio6 : out  high normal  vin-1 pull-down 10uA              push-pull  medium  atest-1 dtest-0
>     ...
> 
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> ---
>   .../boot/dts/qcom/sc8280xp-microsoft-arcata.dts    | 49 ++++++++++++++++++++++
>   1 file changed, 49 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
> index f2b4470d4407fb5b6a3dbac8bc972c010c31bd06..14287092fb07ea15e527fd318f7ea2155448b26c 100644
> --- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
> +++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
> @@ -46,6 +46,16 @@ wcd938x: audio-codec {
>   		#sound-dai-cells = <1>;
>   	};
>   
> +	backlight: backlight {
> +		compatible = "pwm-backlight";
> +		pwms = <&pmc8280c_lpg 3 1000000>;
> +		enable-gpios = <&pmc8280_1_gpios 8 GPIO_ACTIVE_HIGH>;
> +		power-supply = <&vreg_edp_bl>;
> +
> +		pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
> +		pinctrl-names = "default";
> +	};
> +


Investigating the feedback I got from an AI bot review [1], I plan to 
update this patch in v2. Let me know what you think.

I was skeptical at first but upon review I've tried the following patch:


diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts 
b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
index f938e68c69ea..82e0a01276a8 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
@@ -198,7 +198,7 @@ vreg_edp_bl: regulator-edp-bl {
                 regulator-min-microvolt = <3600000>;
                 regulator-max-microvolt = <3600000>;

-               gpio = <&pmc8280c_gpios 6 GPIO_ACTIVE_HIGH>;
+               gpio = <&pmc8280_2_gpios 6 GPIO_ACTIVE_HIGH>;
                 enable-active-high;

                 pinctrl-0 = <&edp_bl_reg_en>;
@@ -1050,6 +1050,11 @@ vol_up_n: vol-up-n-state {
  };

  &pmc8280_2_gpios {
+       edp_bl_reg_en: edp-bl-reg-en-state {
+               pins = "gpio6";
+               function = "normal";
+       };
+
         wwan_sw_en: wwan-sw-en-state {
                 pins = "gpio1";
                 function = "normal";
@@ -1061,11 +1066,6 @@ edp_bl_pwm: edp-bl-pwm-state {
                 pins = "gpio8";
                 function = "func1";
         };
-
-       edp_bl_reg_en: edp-bl-reg-en-state {
-               pins = "gpio6";
-               function = "normal";
-       };
  };

  &pmr735a_gpios {



and ... backlight still works! It can also be enabled/disabled with:
    /sys/class/backlight/backlight/bl_power
as expected.

I have no clue why both gpio6 on pmc8280_2 and gpio6 on pmc8280c can 
enable and disable the backlight. Is it a common scenario?

Anyway, if I follow my own investigation fully based on the X13s 
reference and the properties of its backlight enable GPIO, I should 
switch to pmc8280_2 to use the better match.

I will update this patch in v2.

Jérôme


[1] https://lore.kernel.org/all/20260520165709.E485C1F00893@smtp.kernel.org/


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

* Re: [PATCH 02/11] arm64: dts: qcom: sc8280xp-arcata: Enable backlight
  2026-05-20 22:26   ` Jérôme de Bretagne
@ 2026-05-21  8:48     ` Konrad Dybcio
  2026-05-21 17:57       ` Jérôme de Bretagne
  0 siblings, 1 reply; 28+ messages in thread
From: Konrad Dybcio @ 2026-05-21  8:48 UTC (permalink / raw)
  To: Jérôme de Bretagne, Douglas Anderson, Neil Armstrong,
	Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree, Krzysztof Kozlowski

On 5/21/26 12:26 AM, Jérôme de Bretagne wrote:
> On 5/20/26 18:40, Jérôme de Bretagne via B4 Relay wrote:
>> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
>>
>> Add backlight nodes and enable backlight so that it can be controlled
>> with the corresponding buttons found on Surface Pro Type Cover keyboards.
>>
>> The nodes are almost identical to the ones from the ThinkPad X13s with
>> a different enable GPIO for the vreg_edp_bl node.
>>
>> The difference was found by looking at the output of /sys/kernel/debug/gpio
>> on the ThinkPad X13s to see the properties of its enable gpio9:

[...]

> and ... backlight still works! It can also be enabled/disabled with:
>    /sys/class/backlight/backlight/bl_power
> as expected.
> 
> I have no clue why both gpio6 on pmc8280_2 and gpio6 on pmc8280c can enable and disable the backlight. Is it a common scenario?

Could it be that one of them is an ENABLE_BL pin, while the other one
enables the regulator?

Konrad

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

* Re: [PATCH 03/11] arm64: dts: qcom: sc8280xp-arcata: Enable the eDP display
  2026-05-20 16:40 ` [PATCH 03/11] arm64: dts: qcom: sc8280xp-arcata: Enable the eDP display Jérôme de Bretagne via B4 Relay
@ 2026-05-21  8:50   ` Konrad Dybcio
  2026-05-21 18:09     ` Jérôme de Bretagne
  0 siblings, 1 reply; 28+ messages in thread
From: Konrad Dybcio @ 2026-05-21  8:50 UTC (permalink / raw)
  To: jerome.debretagne, Douglas Anderson, Neil Armstrong,
	Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree, Krzysztof Kozlowski

On 5/20/26 6:40 PM, Jérôme de Bretagne via B4 Relay wrote:
> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> 
> Add the vreg_edp_3p3, edp_reg_en and mdss0_dp3 nodes to enable the
> Surface Pro 9 5G eDP-based LCD display (LG LP129WT232166).
> 
> The enable GPIO 36 was found by decompiling AeoB dumps [1]:

I'd like you to strip this from the commit message, as it
doesn't add much value and makes the git log unreasonably long

otherwise this lgtm

Konrad

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

* Re: [PATCH 04/11] arm64: dts: qcom: sc8280xp-arcata: add USB-C orientation GPIOs
  2026-05-20 16:40 ` [PATCH 04/11] arm64: dts: qcom: sc8280xp-arcata: add USB-C orientation GPIOs Jérôme de Bretagne via B4 Relay
@ 2026-05-21  8:52   ` Konrad Dybcio
  2026-05-21 18:04     ` Jérôme de Bretagne
  0 siblings, 1 reply; 28+ messages in thread
From: Konrad Dybcio @ 2026-05-21  8:52 UTC (permalink / raw)
  To: jerome.debretagne, Douglas Anderson, Neil Armstrong,
	Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree, Krzysztof Kozlowski

On 5/20/26 6:40 PM, Jérôme de Bretagne via B4 Relay wrote:
> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> 
> Define the USB-C orientation GPIOs so that the USB-C ports orientation
> is known without having to resort to the alt mode notifications.
> 
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> ---

The commit message is slightly misleading - there is no orientation
data otherwise

Konrad

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

* Re: [PATCH 05/11] arm64: dts: qcom: sc8280xp-arcata: Fix top USB-C DP alt mode
  2026-05-20 16:40 ` [PATCH 05/11] arm64: dts: qcom: sc8280xp-arcata: Fix top USB-C DP alt mode Jérôme de Bretagne via B4 Relay
@ 2026-05-21  8:53   ` Konrad Dybcio
  2026-05-21 17:59     ` Jérôme de Bretagne
  0 siblings, 1 reply; 28+ messages in thread
From: Konrad Dybcio @ 2026-05-21  8:53 UTC (permalink / raw)
  To: jerome.debretagne, Douglas Anderson, Neil Armstrong,
	Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski, Jens Glathe

On 5/20/26 6:40 PM, Jérôme de Bretagne via B4 Relay wrote:
> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> 
> The top USB-C port (usb0) didn't switch to DP alt mode, as reusing the
> same GPIO 101 as on the SC8280XP CRD or Lenovo ThinkPad X13s was not
> working on the Surface Pro 9 5G.
> 
> Investigation [1] by Jens on the Windows Dev Kit (WDK2023), the other
> sc8280xp-based "blackrock" model from Microsoft, found a reference
> to GPIO 100 in the DSDT in addition to 101. Switching to GPIO 100
> fixed the issue on blackrock, as it does on arcata to enable
> external screen when using the left-side top USB-C port.
> 
> [1] https://lore.kernel.org/all/20250609-blackrock-usb0-mux-v1-1-7903c3b071e4@oldschoolsolutions.biz/
> 
> Cc: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> Fixes: f6231a2eefd4 ("arm64: dts: qcom: sc8280xp: Add Microsoft Surface Pro 9 5G")

Fixes should go before your sign-off

otherwise

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

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

* Re: [PATCH 07/11] arm64: dts: qcom: sc8280xp-arcata: Add volume up/down GPIO keys
  2026-05-20 16:40 ` [PATCH 07/11] arm64: dts: qcom: sc8280xp-arcata: Add volume up/down GPIO keys Jérôme de Bretagne via B4 Relay
@ 2026-05-21  8:54   ` Konrad Dybcio
  0 siblings, 0 replies; 28+ messages in thread
From: Konrad Dybcio @ 2026-05-21  8:54 UTC (permalink / raw)
  To: jerome.debretagne, Douglas Anderson, Neil Armstrong,
	Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree, Krzysztof Kozlowski

On 5/20/26 6:40 PM, Jérôme de Bretagne via B4 Relay wrote:
> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> 
> Configure gpio6 to serve as volume down and gpio9 as volume up to enable
> the volume up/down keys located at the top of the screen.
> 
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

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

* Re: [PATCH 08/11] arm64: dts: qcom: sc8280xp-arcata: Add lid switch
  2026-05-20 16:40 ` [PATCH 08/11] arm64: dts: qcom: sc8280xp-arcata: Add lid switch Jérôme de Bretagne via B4 Relay
@ 2026-05-21  8:54   ` Konrad Dybcio
  0 siblings, 0 replies; 28+ messages in thread
From: Konrad Dybcio @ 2026-05-21  8:54 UTC (permalink / raw)
  To: jerome.debretagne, Douglas Anderson, Neil Armstrong,
	Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree, Krzysztof Kozlowski

On 5/20/26 6:40 PM, Jérôme de Bretagne via B4 Relay wrote:
> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> 
> Enable the lid switch for the Microsoft Surface Pro 9 5G using
> GPIO pin 180.
> 
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

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

* Re: [PATCH 09/11] arm64: dts: qcom: sc8280xp-arcata: model the PMU of the on-board wcn6855
  2026-05-20 16:40 ` [PATCH 09/11] arm64: dts: qcom: sc8280xp-arcata: model the PMU of the on-board wcn6855 Jérôme de Bretagne via B4 Relay
@ 2026-05-21  8:57   ` Konrad Dybcio
  0 siblings, 0 replies; 28+ messages in thread
From: Konrad Dybcio @ 2026-05-21  8:57 UTC (permalink / raw)
  To: jerome.debretagne, Douglas Anderson, Neil Armstrong,
	Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski, Bartosz Golaszewski

On 5/20/26 6:40 PM, Jérôme de Bretagne via B4 Relay wrote:
> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> 
> Align the Surface Pro 9 5G with the other sc8280xp-based models as done in
> this patch series [1] from Bartosz.
> 
> Add a node for the PMU of the WCN6855 and rework the inputs of the wifi
> and bluetooth nodes to consume the PMU's outputs.
> 
> With this we can drop the regulator-always-on properties from vreg_s11b
> and vreg_s12b as they will now be enabled by the power sequencing
> driver.
> 
> Use the fixed BT vddrfa1p7-supply supply name to align with bindings.
> 
> [1] https://lore.kernel.org/all/20241018-sc8280xp-pwrseq-v6-0-8da8310d9564@linaro.org/
> 
> Cc: Bartosz Golaszewski <brgl@kernel.org>
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

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

* Re: [PATCH 10/11] arm64: dts: qcom: sc8280xp-arcata: Switch to uefi rtc offset
  2026-05-20 16:40 ` [PATCH 10/11] arm64: dts: qcom: sc8280xp-arcata: Switch to uefi rtc offset Jérôme de Bretagne via B4 Relay
@ 2026-05-21  8:57   ` Konrad Dybcio
  0 siblings, 0 replies; 28+ messages in thread
From: Konrad Dybcio @ 2026-05-21  8:57 UTC (permalink / raw)
  To: jerome.debretagne, Douglas Anderson, Neil Armstrong,
	Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski, Johan Hovold

On 5/20/26 6:40 PM, Jérôme de Bretagne via B4 Relay wrote:
> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> 
> Align with the reference implementation from the ThinkPad X13s:
> 
> Switch to using the Qualcomm specific UEFI variable that is used by the
> UEFI firmware (and Windows) to store the RTC offset.
> 
> Use the new 'qcom,uefi-rtc-info' property to indicate that the offset is
> stored in a UEFI variable so that the OS can determine whether to wait
> for it to become available.
> 
> Cc: Johan Hovold <johan@kernel.org>
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

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

* Re: [PATCH 11/11] arm64: dts: qcom: sc8280xp-arcata: Drop duplicate DMIC supplies
  2026-05-20 16:40 ` [PATCH 11/11] arm64: dts: qcom: sc8280xp-arcata: Drop duplicate DMIC supplies Jérôme de Bretagne via B4 Relay
@ 2026-05-21  8:58   ` Konrad Dybcio
  0 siblings, 0 replies; 28+ messages in thread
From: Konrad Dybcio @ 2026-05-21  8:58 UTC (permalink / raw)
  To: jerome.debretagne, Douglas Anderson, Neil Armstrong,
	Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski, Stephan Gerhold

On 5/20/26 6:40 PM, Jérôme de Bretagne via B4 Relay wrote:
> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> 
> Align with the reference implementation from the ThinkPad X13s.
> 
> The audio-routing setup specifies two power supplies for each DMIC,
> but only one of them can be active at the same time.
> 
> Drop the redundant routes to the pull-up "VA MIC BIASn" supplies as
> done in commit a2e617f4e698 ("arm64: dts: qcom: sc8280xp-x13s: Drop
> duplicate DMIC supplies").
> 
> There is no functional difference except that we skip briefly switching
> to pull-up mode when shutting down the microphone.
> 
> Cc: Stephan Gerhold <stephan.gerhold@linaro.org>
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

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

* Re: [PATCH 01/11] drm/panel: edp: Add LG LP129WT232166 panel
  2026-05-20 16:40 ` [PATCH 01/11] drm/panel: edp: Add LG LP129WT232166 panel Jérôme de Bretagne via B4 Relay
@ 2026-05-21 16:21   ` Doug Anderson
  0 siblings, 0 replies; 28+ messages in thread
From: Doug Anderson @ 2026-05-21 16:21 UTC (permalink / raw)
  To: jerome.debretagne
  Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski

Hi,

On Wed, May 20, 2026 at 9:40 AM Jérôme de Bretagne via B4 Relay
<devnull+jerome.debretagne.gmail.com@kernel.org> wrote:
>
> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
>
> Add an entry for the eDP LG LP129WT232166 panel used in
> the Microsoft Surface Pro 9 5G.
>
> edid-decode (hex):
>
> 00 ff ff ff ff ff ff 00 30 e4 b2 06 a1 25 10 00
> 00 1f 01 04 a5 1b 12 78 01 ef 70 a7 51 4c a8 26
> 0e 4f 53 00 00 00 01 01 01 01 01 01 01 01 01 01
> 01 01 01 01 01 01 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 fd 00 18 78 f1
> f1 48 01 0a 20 20 20 20 20 20 00 00 00 fe 00 4c
> 47 44 5f 4d 50 31 2e 30 5f 0a 20 20 00 00 00 fe
> 00 4c 50 31 32 39 57 54 32 33 32 31 36 36 01 23
>
> 70 13 79 00 00 03 01 14 56 16 01 88 3f 0b 4f 00
> 07 80 1f 00 7f 07 55 00 47 00 07 00 03 01 14 56
> 16 01 08 3f 0b 4f 00 07 80 1f 00 7f 07 2b 08 47
> 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2c 90
>
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> ---
>  drivers/gpu/drm/panel/panel-edp.c | 1 +
>  1 file changed, 1 insertion(+)

Reviewed-by: Douglas Anderson <dianders@chromium.org>

Touched up the subject line and pushed to drm-misc-next

[01/11] drm/panel-edp: Add LG LP129WT232166 panel
        commit: 31ac8899d1a9284fb50bd42c409f224788220e27

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

* Re: [PATCH 02/11] arm64: dts: qcom: sc8280xp-arcata: Enable backlight
  2026-05-21  8:48     ` Konrad Dybcio
@ 2026-05-21 17:57       ` Jérôme de Bretagne
  0 siblings, 0 replies; 28+ messages in thread
From: Jérôme de Bretagne @ 2026-05-21 17:57 UTC (permalink / raw)
  To: Konrad Dybcio, Douglas Anderson, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree, Krzysztof Kozlowski

On 5/21/26 10:48, Konrad Dybcio wrote:
> On 5/21/26 12:26 AM, Jérôme de Bretagne wrote:
>> On 5/20/26 18:40, Jérôme de Bretagne via B4 Relay wrote:
>>> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
>>>
>>> Add backlight nodes and enable backlight so that it can be controlled
>>> with the corresponding buttons found on Surface Pro Type Cover keyboards.
>>>
>>> The nodes are almost identical to the ones from the ThinkPad X13s with
>>> a different enable GPIO for the vreg_edp_bl node.
>>>
>>> The difference was found by looking at the output of /sys/kernel/debug/gpio
>>> on the ThinkPad X13s to see the properties of its enable gpio9:
> 
> [...]
> 
>> and ... backlight still works! It can also be enabled/disabled with:
>>    /sys/class/backlight/backlight/bl_power
>> as expected.
>>
>> I have no clue why both gpio6 on pmc8280_2 and gpio6 on pmc8280c can enable and disable the backlight. Is it a common scenario?
> 
> Could it be that one of them is an ENABLE_BL pin, while the other one
> enables the regulator?
> 
> Konrad

I've looked at more device trees and seen that quite a few of them
simply don't have a "power-supply = <&vreg_edp_bl>" property in their
backlight node. Trying a similar approach, the backlight still works
so the gpio6 I was adding wasn't used (or even useful).

I will send a simpler patch in v2, removing the power-supply property
and the vreg_edp_bl & edp_bl_reg_en nodes.

Jérôme


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

* Re: [PATCH 05/11] arm64: dts: qcom: sc8280xp-arcata: Fix top USB-C DP alt mode
  2026-05-21  8:53   ` Konrad Dybcio
@ 2026-05-21 17:59     ` Jérôme de Bretagne
  0 siblings, 0 replies; 28+ messages in thread
From: Jérôme de Bretagne @ 2026-05-21 17:59 UTC (permalink / raw)
  To: Konrad Dybcio, Douglas Anderson, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree,
	Krzysztof Kozlowski, Jens Glathe

On 5/21/26 10:53, Konrad Dybcio wrote:
> On 5/20/26 6:40 PM, Jérôme de Bretagne via B4 Relay wrote:
>> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
>>
>> The top USB-C port (usb0) didn't switch to DP alt mode, as reusing the
>> same GPIO 101 as on the SC8280XP CRD or Lenovo ThinkPad X13s was not
>> working on the Surface Pro 9 5G.
>>
>> Investigation [1] by Jens on the Windows Dev Kit (WDK2023), the other
>> sc8280xp-based "blackrock" model from Microsoft, found a reference
>> to GPIO 100 in the DSDT in addition to 101. Switching to GPIO 100
>> fixed the issue on blackrock, as it does on arcata to enable
>> external screen when using the left-side top USB-C port.
>>
>> [1] https://lore.kernel.org/all/20250609-blackrock-usb0-mux-v1-1-7903c3b071e4@oldschoolsolutions.biz/
>>
>> Cc: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
>> Fixes: f6231a2eefd4 ("arm64: dts: qcom: sc8280xp: Add Microsoft Surface Pro 9 5G")
> 
> Fixes should go before your sign-off

Sure, I will change this in v2.

> otherwise
> 
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> 
> Konrad

Thank you,
Jérôme

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

* Re: [PATCH 04/11] arm64: dts: qcom: sc8280xp-arcata: add USB-C orientation GPIOs
  2026-05-21  8:52   ` Konrad Dybcio
@ 2026-05-21 18:04     ` Jérôme de Bretagne
  0 siblings, 0 replies; 28+ messages in thread
From: Jérôme de Bretagne @ 2026-05-21 18:04 UTC (permalink / raw)
  To: Konrad Dybcio, Douglas Anderson, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree, Krzysztof Kozlowski

On 5/21/26 10:52, Konrad Dybcio wrote:
> On 5/20/26 6:40 PM, Jérôme de Bretagne via B4 Relay wrote:
>> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
>>
>> Define the USB-C orientation GPIOs so that the USB-C ports orientation
>> is known without having to resort to the alt mode notifications.
>>
>> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
>> ---
> 
> The commit message is slightly misleading - there is no orientation
> data otherwise

I will update it in v2.

Jérôme

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

* Re: [PATCH 03/11] arm64: dts: qcom: sc8280xp-arcata: Enable the eDP display
  2026-05-21  8:50   ` Konrad Dybcio
@ 2026-05-21 18:09     ` Jérôme de Bretagne
  0 siblings, 0 replies; 28+ messages in thread
From: Jérôme de Bretagne @ 2026-05-21 18:09 UTC (permalink / raw)
  To: Konrad Dybcio, Douglas Anderson, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree, Krzysztof Kozlowski

On 5/21/26 10:50, Konrad Dybcio wrote:
> On 5/20/26 6:40 PM, Jérôme de Bretagne via B4 Relay wrote:
>> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
>>
>> Add the vreg_edp_3p3, edp_reg_en and mdss0_dp3 nodes to enable the
>> Surface Pro 9 5G eDP-based LCD display (LG LP129WT232166).
>>
>> The enable GPIO 36 was found by decompiling AeoB dumps [1]:
> 
> I'd like you to strip this from the commit message, as it
> doesn't add much value and makes the git log unreasonably long

I thought it could be useful for other people doing device bring-up
in the future. No problem to strip this in v2, the info is in the
mailing list from now on anyway.

> otherwise this lgtm
Thank you,
Jérôme


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

* Re: [PATCH 06/11] arm64: dts: qcom: sc8280xp-arcata: Enable 4-lane DP support
  2026-05-20 16:40 ` [PATCH 06/11] arm64: dts: qcom: sc8280xp-arcata: Enable 4-lane DP support Jérôme de Bretagne via B4 Relay
@ 2026-05-22  9:36   ` Konrad Dybcio
  0 siblings, 0 replies; 28+ messages in thread
From: Konrad Dybcio @ 2026-05-22  9:36 UTC (permalink / raw)
  To: jerome.debretagne, Douglas Anderson, Neil Armstrong,
	Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: dri-devel, linux-kernel, linux-arm-msm, devicetree, Krzysztof Kozlowski

On 5/20/26 6:40 PM, Jérôme de Bretagne via B4 Relay wrote:
> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> 
> Allow up to 4 lanes for the DisplayPort link from the PHYs to the
> controllers and allow mode-switch events to reach the QMP Combo PHYs
> for the 2 left-side USB-C ports.
> 
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

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

end of thread, other threads:[~2026-05-22  9:36 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-05-20 16:40 [PATCH 00/11] Microsoft Surface Pro 9 5G update Jérôme de Bretagne via B4 Relay
2026-05-20 16:40 ` [PATCH 01/11] drm/panel: edp: Add LG LP129WT232166 panel Jérôme de Bretagne via B4 Relay
2026-05-21 16:21   ` Doug Anderson
2026-05-20 16:40 ` [PATCH 02/11] arm64: dts: qcom: sc8280xp-arcata: Enable backlight Jérôme de Bretagne via B4 Relay
2026-05-20 22:26   ` Jérôme de Bretagne
2026-05-21  8:48     ` Konrad Dybcio
2026-05-21 17:57       ` Jérôme de Bretagne
2026-05-20 16:40 ` [PATCH 03/11] arm64: dts: qcom: sc8280xp-arcata: Enable the eDP display Jérôme de Bretagne via B4 Relay
2026-05-21  8:50   ` Konrad Dybcio
2026-05-21 18:09     ` Jérôme de Bretagne
2026-05-20 16:40 ` [PATCH 04/11] arm64: dts: qcom: sc8280xp-arcata: add USB-C orientation GPIOs Jérôme de Bretagne via B4 Relay
2026-05-21  8:52   ` Konrad Dybcio
2026-05-21 18:04     ` Jérôme de Bretagne
2026-05-20 16:40 ` [PATCH 05/11] arm64: dts: qcom: sc8280xp-arcata: Fix top USB-C DP alt mode Jérôme de Bretagne via B4 Relay
2026-05-21  8:53   ` Konrad Dybcio
2026-05-21 17:59     ` Jérôme de Bretagne
2026-05-20 16:40 ` [PATCH 06/11] arm64: dts: qcom: sc8280xp-arcata: Enable 4-lane DP support Jérôme de Bretagne via B4 Relay
2026-05-22  9:36   ` Konrad Dybcio
2026-05-20 16:40 ` [PATCH 07/11] arm64: dts: qcom: sc8280xp-arcata: Add volume up/down GPIO keys Jérôme de Bretagne via B4 Relay
2026-05-21  8:54   ` Konrad Dybcio
2026-05-20 16:40 ` [PATCH 08/11] arm64: dts: qcom: sc8280xp-arcata: Add lid switch Jérôme de Bretagne via B4 Relay
2026-05-21  8:54   ` Konrad Dybcio
2026-05-20 16:40 ` [PATCH 09/11] arm64: dts: qcom: sc8280xp-arcata: model the PMU of the on-board wcn6855 Jérôme de Bretagne via B4 Relay
2026-05-21  8:57   ` Konrad Dybcio
2026-05-20 16:40 ` [PATCH 10/11] arm64: dts: qcom: sc8280xp-arcata: Switch to uefi rtc offset Jérôme de Bretagne via B4 Relay
2026-05-21  8:57   ` Konrad Dybcio
2026-05-20 16:40 ` [PATCH 11/11] arm64: dts: qcom: sc8280xp-arcata: Drop duplicate DMIC supplies Jérôme de Bretagne via B4 Relay
2026-05-21  8:58   ` Konrad Dybcio

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®