devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/5] Microsoft Surface Pro 9 5G support
@ 2024-09-08 22:35 Jérôme de Bretagne
  2024-09-08 22:35 ` [PATCH v2 1/5] dt-bindings: arm: qcom: Document Microsoft Surface Pro 9 5G Jérôme de Bretagne
                   ` (5 more replies)
  0 siblings, 6 replies; 20+ messages in thread
From: Jérôme de Bretagne @ 2024-09-08 22:35 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Johan Hovold, linux-arm-msm, devicetree, linux-kernel,
	Maximilian Luz

This series brings support for the SC8280XP-based Microsoft Surface
Pro 9 5G.

Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
Changes in v2:
- Style fixes
- Rename the devicetree to sc8280xp-microsoft-arcata.dts
- Update the audio nodes to use codec@ instead of wcd9380-rx or -tx
- Document which node corresponds to which physical USB Type-C port
- Reordering to get property-0 followed by property-names consistently
- Add a dedicated Wi-Fi calibration variant
- Remove gpio-reserved-ranges in tlmm node as not needed to boot
- Add support for Surface Pro 9 5G in surface_aggregator_registry.c
- Switch to the upstream "microsoft,surface-sam" binding
- Fix uart18 clock from S1 to S2
- Include Acked-by: and Reviewed-by: tags
- Link to v1: https://lore.kernel.org/all/20240903224252.6207-1-jerome.debretagne@gmail.com/

---
Jérôme de Bretagne (5):
  dt-bindings: arm: qcom: Document Microsoft Surface Pro 9 5G
  firmware: qcom: scm: Allow QSEECOM on Microsoft Surface Pro 9 5G
  platform/surface: aggregator_registry: Add Surface Pro 9 5G
  arm64: dts: qcom: sc8280xp: Add uart18
  arm64: dts: qcom: sc8280xp: Add Microsoft Surface Pro 9 5G

 .../devicetree/bindings/arm/qcom.yaml         |    1 +
 arch/arm64/boot/dts/qcom/Makefile             |    1 +
 .../dts/qcom/sc8280xp-microsoft-arcata.dts    | 1032 +++++++++++++++++
 arch/arm64/boot/dts/qcom/sc8280xp.dtsi        |   48 +
 drivers/firmware/qcom/qcom_scm.c              |    1 +
 .../surface/surface_aggregator_registry.c     |   17 +
 6 files changed, 1100 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts

-- 
2.45.2


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

* [PATCH v2 1/5] dt-bindings: arm: qcom: Document Microsoft Surface Pro 9 5G
  2024-09-08 22:35 [PATCH v2 0/5] Microsoft Surface Pro 9 5G support Jérôme de Bretagne
@ 2024-09-08 22:35 ` Jérôme de Bretagne
  2024-09-08 22:35 ` [PATCH v2 2/5] firmware: qcom: scm: Allow QSEECOM on " Jérôme de Bretagne
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 20+ messages in thread
From: Jérôme de Bretagne @ 2024-09-08 22:35 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Johan Hovold, linux-arm-msm, devicetree, linux-kernel,
	Maximilian Luz, Krzysztof Kozlowski

Add compatible for the SC8280XP-based Microsoft Surface Pro 9 5G,
using its Arcata codename.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
 Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index f08e13b61172..114c7f5dc402 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -810,6 +810,7 @@ properties:
       - items:
           - enum:
               - lenovo,thinkpad-x13s
+              - microsoft,arcata
               - qcom,sc8280xp-crd
               - qcom,sc8280xp-qrd
           - const: qcom,sc8280xp
-- 
2.45.2


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

* [PATCH v2 2/5] firmware: qcom: scm: Allow QSEECOM on Microsoft Surface Pro 9 5G
  2024-09-08 22:35 [PATCH v2 0/5] Microsoft Surface Pro 9 5G support Jérôme de Bretagne
  2024-09-08 22:35 ` [PATCH v2 1/5] dt-bindings: arm: qcom: Document Microsoft Surface Pro 9 5G Jérôme de Bretagne
@ 2024-09-08 22:35 ` Jérôme de Bretagne
  2024-09-10 21:10   ` Maximilian Luz
  2024-09-08 22:35 ` [PATCH v2 3/5] platform/surface: aggregator_registry: Add " Jérôme de Bretagne
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 20+ messages in thread
From: Jérôme de Bretagne @ 2024-09-08 22:35 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Johan Hovold, linux-arm-msm, devicetree, linux-kernel,
	Maximilian Luz

Add the SC8280XP-based Microsoft Surface Pro 9 5G to the allowlist.

Reviewed-by: Konrad Dybcio <konradybcio@kernel.org>
Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
 drivers/firmware/qcom/qcom_scm.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_scm.c
index 00c379a3cceb..5c8d8d75fb0a 100644
--- a/drivers/firmware/qcom/qcom_scm.c
+++ b/drivers/firmware/qcom/qcom_scm.c
@@ -1725,6 +1725,7 @@ EXPORT_SYMBOL_GPL(qcom_scm_qseecom_app_send);
 static const struct of_device_id qcom_scm_qseecom_allowlist[] __maybe_unused = {
 	{ .compatible = "lenovo,flex-5g" },
 	{ .compatible = "lenovo,thinkpad-x13s", },
+	{ .compatible = "microsoft,arcata", },
 	{ .compatible = "qcom,sc8180x-primus" },
 	{ .compatible = "qcom,x1e80100-crd" },
 	{ .compatible = "qcom,x1e80100-qcp" },
-- 
2.45.2


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

* [PATCH v2 3/5] platform/surface: aggregator_registry: Add Surface Pro 9 5G
  2024-09-08 22:35 [PATCH v2 0/5] Microsoft Surface Pro 9 5G support Jérôme de Bretagne
  2024-09-08 22:35 ` [PATCH v2 1/5] dt-bindings: arm: qcom: Document Microsoft Surface Pro 9 5G Jérôme de Bretagne
  2024-09-08 22:35 ` [PATCH v2 2/5] firmware: qcom: scm: Allow QSEECOM on " Jérôme de Bretagne
@ 2024-09-08 22:35 ` Jérôme de Bretagne
  2024-09-10 21:29   ` Maximilian Luz
  2024-09-08 22:35 ` [PATCH v2 4/5] arm64: dts: qcom: sc8280xp: Add uart18 Jérôme de Bretagne
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 20+ messages in thread
From: Jérôme de Bretagne @ 2024-09-08 22:35 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Johan Hovold, linux-arm-msm, devicetree, linux-kernel,
	Maximilian Luz

Add SAM client device nodes for the Surface Pro 9 5G, with the usual
battery/AC and HID nodes for keyboard and touchpad support.

Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
 .../surface/surface_aggregator_registry.c       | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
index 25c8aa2131d6..8b34d7e465c2 100644
--- a/drivers/platform/surface/surface_aggregator_registry.c
+++ b/drivers/platform/surface/surface_aggregator_registry.c
@@ -390,6 +390,21 @@ static const struct software_node *ssam_node_group_sp9[] = {
 	NULL,
 };
 
+/* Devices for Surface Pro 9 5G. */
+static const struct software_node *ssam_node_group_sp9_5G[] = {
+	&ssam_node_root,
+	&ssam_node_hub_kip,
+	&ssam_node_bat_ac,
+	&ssam_node_bat_main,
+	&ssam_node_tmp_sensors,
+	&ssam_node_hid_kip_keyboard,
+	&ssam_node_hid_kip_penstash,
+	&ssam_node_hid_kip_touchpad,
+	&ssam_node_hid_kip_fwupd,
+	&ssam_node_hid_sam_sensors,
+	&ssam_node_kip_tablet_switch,
+	NULL,
+};
 
 /* -- SSAM platform/meta-hub driver. ---------------------------------------- */
 
@@ -462,6 +477,8 @@ static const struct acpi_device_id ssam_platform_hub_acpi_match[] = {
 MODULE_DEVICE_TABLE(acpi, ssam_platform_hub_acpi_match);
 
 static const struct of_device_id ssam_platform_hub_of_match[] __maybe_unused = {
+	/* Surface Pro 9 5G */
+	{ .compatible = "microsoft,arcata", (void *)ssam_node_group_sp9_5G },
 	/* Surface Laptop 7 */
 	{ .compatible = "microsoft,romulus13", (void *)ssam_node_group_sl7 },
 	{ .compatible = "microsoft,romulus15", (void *)ssam_node_group_sl7 },
-- 
2.45.2


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

* [PATCH v2 4/5] arm64: dts: qcom: sc8280xp: Add uart18
  2024-09-08 22:35 [PATCH v2 0/5] Microsoft Surface Pro 9 5G support Jérôme de Bretagne
                   ` (2 preceding siblings ...)
  2024-09-08 22:35 ` [PATCH v2 3/5] platform/surface: aggregator_registry: Add " Jérôme de Bretagne
@ 2024-09-08 22:35 ` Jérôme de Bretagne
  2024-09-08 22:35 ` [PATCH v2 5/5] arm64: dts: qcom: sc8280xp: Add Microsoft Surface Pro 9 5G Jérôme de Bretagne
  2024-10-07 14:25 ` (subset) [PATCH v2 0/5] Microsoft Surface Pro 9 5G support Bjorn Andersson
  5 siblings, 0 replies; 20+ messages in thread
From: Jérôme de Bretagne @ 2024-09-08 22:35 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Johan Hovold, linux-arm-msm, devicetree, linux-kernel,
	Maximilian Luz

Add the node describing uart18 for sc8280xp devices.

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

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
index 14c3b1d6ad47..1e520113db07 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
@@ -1013,6 +1013,24 @@ spi18: spi@888000 {
 				status = "disabled";
 			};
 
+			uart18: serial@888000 {
+				compatible = "qcom,geni-uart";
+				reg = <0 0x00888000 0 0x4000>;
+				clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
+				clock-names = "se";
+				interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
+				operating-points-v2 = <&qup_opp_table_100mhz>;
+				power-domains = <&rpmhpd SC8280XP_CX>;
+				interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
+						<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>;
+				interconnect-names = "qup-core", "qup-config";
+
+				pinctrl-0 = <&qup_uart18_default>;
+				pinctrl-names = "default";
+
+				status = "disabled";
+			};
+
 			i2c19: i2c@88c000 {
 				compatible = "qcom,geni-i2c";
 				reg = <0 0x0088c000 0 0x4000>;
@@ -4957,6 +4975,36 @@ cci3_i2c1_sleep: cci3-i2c1-sleep-pins {
 					bias-pull-down;
 				};
 			};
+
+			qup_uart18_default: qup-uart18-default-state {
+				cts-pins {
+					pins = "gpio66";
+					function = "qup18";
+					drive-strength = <2>;
+					bias-disable;
+				};
+
+				rts-pins {
+					pins = "gpio67";
+					function = "qup18";
+					drive-strength = <2>;
+					bias-disable;
+				};
+
+				tx-pins {
+					pins = "gpio68";
+					function = "qup18";
+					drive-strength = <2>;
+					bias-disable;
+				};
+
+				rx-pins {
+					pins = "gpio69";
+					function = "qup18";
+					drive-strength = <2>;
+					bias-disable;
+				};
+			};
 		};
 
 		apps_smmu: iommu@15000000 {
-- 
2.45.2


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

* [PATCH v2 5/5] arm64: dts: qcom: sc8280xp: Add Microsoft Surface Pro 9 5G
  2024-09-08 22:35 [PATCH v2 0/5] Microsoft Surface Pro 9 5G support Jérôme de Bretagne
                   ` (3 preceding siblings ...)
  2024-09-08 22:35 ` [PATCH v2 4/5] arm64: dts: qcom: sc8280xp: Add uart18 Jérôme de Bretagne
@ 2024-09-08 22:35 ` Jérôme de Bretagne
  2024-10-10  8:52   ` Johan Hovold
  2024-10-07 14:25 ` (subset) [PATCH v2 0/5] Microsoft Surface Pro 9 5G support Bjorn Andersson
  5 siblings, 1 reply; 20+ messages in thread
From: Jérôme de Bretagne @ 2024-09-08 22:35 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Johan Hovold, linux-arm-msm, devicetree, linux-kernel,
	Maximilian Luz, Krzysztof Kozlowski

Add an initial devicetree for the Microsoft Surface Pro 9 5G, based
on SC8280XP.

It enables the support for Wi-Fi, NVMe, the two USB Type-C ports,
Bluetooth, 5G cellular modem, audio output (via Bluetooth headsets
or USB audio), external display via DisplayPort over Type-C (only
the bottom USB Type-C port is working so far), charging, the Surface
Aggregator Module (SAM) to get keyboard and touchpad working with
Surface Type Cover accessories.

Some key features not supported yet:
- built-in display (but software fallback is working with efifb
  when blacklisting the msm module)
- built-in display touchscreen
- external display with the top USB Type-C port
- speakers and microphones
- physical volume up and down keys
- LID switch detection

This devicetree is based on the other SC8280XP ones, for the Lenovo
ThinkPad X13s and the Qualcomm CRD.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
 arch/arm64/boot/dts/qcom/Makefile             |    1 +
 .../dts/qcom/sc8280xp-microsoft-arcata.dts    | 1032 +++++++++++++++++
 2 files changed, 1033 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 0e5c810304fb..feebd1af5fe6 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -184,6 +184,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sc8180x-lenovo-flex-5g.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sc8180x-primus.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sc8280xp-crd.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sc8280xp-lenovo-thinkpad-x13s.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= sc8280xp-microsoft-arcata.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sda660-inforce-ifc6560.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sdm450-lenovo-tbx605f.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sdm450-motorola-ali.dtb
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
new file mode 100644
index 000000000000..a31742471f51
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts
@@ -0,0 +1,1032 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2024, Jérôme de Bretagne <jerome.debretagne@gmail.com>
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+
+#include "sc8280xp.dtsi"
+#include "sc8280xp-pmics.dtsi"
+
+/ {
+	model = "Microsoft Surface Pro 9 5G";
+	compatible = "microsoft,arcata", "qcom,sc8280xp";
+
+	aliases {
+		serial0 = &uart18;
+		serial1 = &uart2;
+	};
+
+	wcd938x: audio-codec {
+		compatible = "qcom,wcd9380-codec";
+
+		pinctrl-0 = <&wcd_default>;
+		pinctrl-names = "default";
+
+		reset-gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
+
+		vdd-buck-supply = <&vreg_s10b>;
+		vdd-rxtx-supply = <&vreg_s10b>;
+		vdd-io-supply = <&vreg_s10b>;
+		vdd-mic-bias-supply = <&vreg_bob>;
+
+		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>;
+
+		#sound-dai-cells = <1>;
+	};
+
+	pmic-glink {
+		compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink";
+
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		/* Left-side top port */
+		connector@0 {
+			compatible = "usb-c-connector";
+			reg = <0>;
+			power-role = "dual";
+			data-role = "dual";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@0 {
+					reg = <0>;
+
+					pmic_glink_con0_hs: endpoint {
+						remote-endpoint = <&usb_0_dwc3_hs>;
+					};
+				};
+
+				port@1 {
+					reg = <1>;
+
+					pmic_glink_con0_ss: endpoint {
+						remote-endpoint = <&usb_0_qmpphy_out>;
+					};
+				};
+
+				port@2 {
+					reg = <2>;
+
+					pmic_glink_con0_sbu: endpoint {
+						remote-endpoint = <&usb0_sbu_mux>;
+					};
+				};
+			};
+		};
+
+		/* Left-side bottom port */
+		connector@1 {
+			compatible = "usb-c-connector";
+			reg = <1>;
+			power-role = "dual";
+			data-role = "dual";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@0 {
+					reg = <0>;
+
+					pmic_glink_con1_hs: endpoint {
+						remote-endpoint = <&usb_1_dwc3_hs>;
+					};
+				};
+
+				port@1 {
+					reg = <1>;
+
+					pmic_glink_con1_ss: endpoint {
+						remote-endpoint = <&usb_1_qmpphy_out>;
+					};
+				};
+
+				port@2 {
+					reg = <2>;
+
+					pmic_glink_con1_sbu: endpoint {
+						remote-endpoint = <&usb1_sbu_mux>;
+					};
+				};
+			};
+		};
+	};
+
+	vreg_nvme: regulator-nvme {
+		compatible = "regulator-fixed";
+
+		regulator-name = "VCC3_SSD";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+
+		gpio = <&tlmm 135 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-0 = <&nvme_reg_en>;
+		pinctrl-names = "default";
+
+		regulator-boot-on;
+	};
+
+	vreg_vph_pwr: regulator-vph-pwr {
+		compatible = "regulator-fixed";
+
+		regulator-name = "VPH_VCC3R9";
+		regulator-min-microvolt = <3900000>;
+		regulator-max-microvolt = <3900000>;
+
+		regulator-always-on;
+	};
+
+	vreg_wlan: regulator-wlan {
+		compatible = "regulator-fixed";
+
+		regulator-name = "VCC_WLAN_3R9";
+		regulator-min-microvolt = <3900000>;
+		regulator-max-microvolt = <3900000>;
+
+		gpio = <&pmr735a_gpios 1 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-0 = <&hastings_reg_en>;
+		pinctrl-names = "default";
+
+		regulator-boot-on;
+	};
+
+	vreg_wwan: regulator-wwan {
+		compatible = "regulator-fixed";
+
+		regulator-name = "VCC3B_WAN";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+
+		gpio = <&pmc8280_2_gpios 1 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-0 = <&wwan_sw_en>;
+		pinctrl-names = "default";
+
+		regulator-boot-on;
+	};
+
+	reserved-memory {
+		gpu_mem: gpu-mem@8bf00000 {
+			reg = <0 0x8bf00000 0 0x2000>;
+			no-map;
+		};
+
+		linux,cma {
+			compatible = "shared-dma-pool";
+			size = <0x0 0x8000000>;
+			reusable;
+			linux,cma-default;
+		};
+	};
+
+	thermal-zones {
+		skin-temp-thermal {
+			polling-delay-passive = <250>;
+
+			thermal-sensors = <&pmk8280_adc_tm 5>;
+
+			trips {
+				skin_temp_alert0: trip-point0 {
+					temperature = <55000>;
+					hysteresis = <1000>;
+					type = "passive";
+				};
+
+				skin_temp_alert1: trip-point1 {
+					temperature = <58000>;
+					hysteresis = <1000>;
+					type = "passive";
+				};
+
+				skin-temp-crit {
+					temperature = <73000>;
+					hysteresis = <1000>;
+					type = "critical";
+				};
+			};
+
+			cooling-maps {
+				map0 {
+					trip = <&skin_temp_alert0>;
+					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+				};
+
+				map1 {
+					trip = <&skin_temp_alert1>;
+					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+				};
+			};
+		};
+	};
+
+	usb0-sbu-mux {
+		compatible = "pericom,pi3usb102", "gpio-sbu-mux";
+
+		enable-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
+		select-gpios = <&tlmm 164 GPIO_ACTIVE_HIGH>;
+
+		pinctrl-0 = <&usb0_sbu_default>;
+		pinctrl-names = "default";
+
+		mode-switch;
+		orientation-switch;
+
+		port {
+			usb0_sbu_mux: endpoint {
+				remote-endpoint = <&pmic_glink_con0_sbu>;
+			};
+		};
+	};
+
+	usb1-sbu-mux {
+		compatible = "pericom,pi3usb102", "gpio-sbu-mux";
+
+		enable-gpios = <&tlmm 48 GPIO_ACTIVE_LOW>;
+		select-gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
+
+		pinctrl-0 = <&usb1_sbu_default>;
+		pinctrl-names = "default";
+
+		mode-switch;
+		orientation-switch;
+
+		port {
+			usb1_sbu_mux: endpoint {
+				remote-endpoint = <&pmic_glink_con1_sbu>;
+			};
+		};
+	};
+};
+
+&apps_rsc {
+	regulators-0 {
+		compatible = "qcom,pm8350-rpmh-regulators";
+		qcom,pmic-id = "b";
+
+		vdd-l1-l4-supply = <&vreg_s12b>;
+		vdd-l2-l7-supply = <&vreg_bob>;
+		vdd-l3-l5-supply = <&vreg_s11b>;
+		vdd-l6-l9-l10-supply = <&vreg_s12b>;
+		vdd-l8-supply = <&vreg_s12b>;
+
+		vreg_s10b: smps10 {
+			regulator-name = "vreg_s10b";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
+		};
+
+		vreg_s11b: smps11 {
+			regulator-name = "vreg_s11b";
+			regulator-min-microvolt = <1272000>;
+			regulator-max-microvolt = <1272000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
+		};
+
+		vreg_s12b: smps12 {
+			regulator-name = "vreg_s12b";
+			regulator-min-microvolt = <984000>;
+			regulator-max-microvolt = <984000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
+		};
+
+		vreg_l3b: ldo3 {
+			regulator-name = "vreg_l3b";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-boot-on;
+		};
+
+		vreg_l4b: ldo4 {
+			regulator-name = "vreg_l4b";
+			regulator-min-microvolt = <912000>;
+			regulator-max-microvolt = <912000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l6b: ldo6 {
+			regulator-name = "vreg_l6b";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <880000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-boot-on;
+			regulator-always-on;	// FIXME: VDD_A_EDP_0_0P9
+		};
+	};
+
+	regulators-1 {
+		compatible = "qcom,pm8350c-rpmh-regulators";
+		qcom,pmic-id = "c";
+
+		vdd-bob-supply = <&vreg_vph_pwr>;
+		vdd-l1-l12-supply = <&vreg_s1c>;
+		vdd-l2-l8-supply = <&vreg_s1c>;
+		vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
+		vdd-l6-l9-l11-supply = <&vreg_bob>;
+		vdd-l10-supply = <&vreg_s11b>;
+
+		vreg_s1c: smps1 {
+			regulator-name = "vreg_s1c";
+			regulator-min-microvolt = <1880000>;
+			regulator-max-microvolt = <1900000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
+		};
+
+		vreg_l1c: ldo1 {
+			regulator-name = "vreg_l1c";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l12c: ldo12 {
+			regulator-name = "vreg_l12c";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l13c: ldo13 {
+			regulator-name = "vreg_l13c";
+			regulator-min-microvolt = <3072000>;
+			regulator-max-microvolt = <3072000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_bob: bob {
+			regulator-name = "vreg_bob";
+			regulator-min-microvolt = <3008000>;
+			regulator-max-microvolt = <3960000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+			regulator-always-on;
+		};
+	};
+
+	regulators-2 {
+		compatible = "qcom,pm8350-rpmh-regulators";
+		qcom,pmic-id = "d";
+
+		vdd-l1-l4-supply = <&vreg_s11b>;
+		vdd-l2-l7-supply = <&vreg_bob>;
+		vdd-l3-l5-supply = <&vreg_s11b>;
+		vdd-l6-l9-l10-supply = <&vreg_s12b>;
+		vdd-l8-supply = <&vreg_s12b>;
+
+		vreg_l3d: ldo3 {
+			regulator-name = "vreg_l3d";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l4d: ldo4 {
+			regulator-name = "vreg_l4d";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l6d: ldo6 {
+			regulator-name = "vreg_l6d";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <880000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l7d: ldo7 {
+			regulator-name = "vreg_l7d";
+			regulator-min-microvolt = <3072000>;
+			regulator-max-microvolt = <3072000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l9d: ldo9 {
+			regulator-name = "vreg_l9d";
+			regulator-min-microvolt = <912000>;
+			regulator-max-microvolt = <912000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+};
+
+&dispcc0 {
+	status = "okay";
+};
+
+&dispcc1 {
+	status = "okay";
+};
+
+&gpu {
+	status = "okay";
+
+	zap-shader {
+		memory-region = <&gpu_mem>;
+		firmware-name = "qcom/sc8280xp/MICROSOFT/SurfacePro9/qcdxkmsuc8280.mbn";
+	};
+};
+
+&mdss0 {
+	status = "okay";
+};
+
+&mdss0_dp0 {
+	status = "okay";
+};
+
+&mdss0_dp0_out {
+	data-lanes = <0 1>;
+	remote-endpoint = <&usb_0_qmpphy_dp_in>;
+};
+
+&mdss0_dp1 {
+	status = "okay";
+};
+
+&mdss0_dp1_out {
+	data-lanes = <0 1>;
+	remote-endpoint = <&usb_1_qmpphy_dp_in>;
+};
+
+&pcie2a {
+	perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
+	wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
+
+	vddpe-3v3-supply = <&vreg_nvme>;
+
+	pinctrl-0 = <&pcie2a_default>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
+
+&pcie2a_phy {
+	vdda-phy-supply = <&vreg_l6d>;
+	vdda-pll-supply = <&vreg_l4d>;
+
+	status = "okay";
+};
+
+&pcie3a {
+	perst-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
+	wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
+
+	vddpe-3v3-supply = <&vreg_wwan>;
+
+	pinctrl-0 = <&pcie3a_default>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
+
+&pcie3a_phy {
+	vdda-phy-supply = <&vreg_l6d>;
+	vdda-pll-supply = <&vreg_l4d>;
+
+	status = "okay";
+};
+
+&pcie4 {
+	max-link-speed = <2>;
+
+	perst-gpios = <&tlmm 141 GPIO_ACTIVE_LOW>;
+	wake-gpios = <&tlmm 139 GPIO_ACTIVE_LOW>;
+
+	vddpe-3v3-supply = <&vreg_wlan>;
+
+	pinctrl-0 = <&pcie4_default>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
+
+&pcie4_port0 {
+	wifi@0 {
+		compatible = "pci17cb,1103";
+		reg = <0x10000 0x0 0x0 0x0 0x0>;
+
+		qcom,ath11k-calibration-variant = "MS_SP9_5G";
+	};
+};
+
+&pcie4_phy {
+	vdda-phy-supply = <&vreg_l6d>;
+	vdda-pll-supply = <&vreg_l4d>;
+
+	status = "okay";
+};
+
+&pmk8280_pon_pwrkey {
+	status = "okay";
+};
+
+&pmk8280_pon_resin {
+	status = "okay";
+};
+
+&pmk8280_rtc {
+	nvmem-cells = <&rtc_offset>;
+	nvmem-cell-names = "offset";
+
+	status = "okay";
+};
+
+&pmk8280_sdam_6 {
+	status = "okay";
+
+	rtc_offset: rtc-offset@bc {
+		reg = <0xbc 0x4>;
+	};
+};
+
+&qup0 {
+	status = "okay";
+};
+
+&qup1 {
+	status = "okay";
+};
+
+&qup2 {
+	status = "okay";
+};
+
+&remoteproc_adsp {
+	firmware-name = "qcom/sc8280xp/MICROSOFT/SurfacePro9/qcadsp8280.mbn";
+
+	status = "okay";
+};
+
+&remoteproc_nsp0 {
+	firmware-name = "qcom/sc8280xp/MICROSOFT/SurfacePro9/qccdsp8280.mbn";
+
+	status = "okay";
+};
+
+&rxmacro {
+	status = "okay";
+};
+
+&sound {
+	compatible = "qcom,sc8280xp-sndcard";
+	model = "SC8280XP-MICROSOFT-SURFACE-PRO-9-5G";
+	audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
+			"SpkrRight IN", "WSA_SPK2 OUT",
+			"IN1_HPHL", "HPHL_OUT",
+			"IN2_HPHR", "HPHR_OUT",
+			"AMIC2", "MIC BIAS2",
+			"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 {
+		link-name = "WCD Playback";
+
+		cpu {
+			sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
+		};
+
+		codec {
+			sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 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 0>, <&txmacro 0>;
+		};
+
+		platform {
+			sound-dai = <&q6apm>;
+		};
+	};
+
+	wsa-dai-link {
+		link-name = "WSA Playback";
+
+		cpu {
+			sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
+		};
+
+		codec {
+			sound-dai = <&swr0 0>, <&wsamacro 0>;
+		};
+
+		platform {
+			sound-dai = <&q6apm>;
+		};
+	};
+
+	va-dai-link {
+		link-name = "VA Capture";
+
+		cpu {
+			sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
+		};
+
+		platform {
+			sound-dai = <&q6apm>;
+		};
+
+		codec {
+			sound-dai = <&vamacro 0>;
+		};
+	};
+};
+
+&swr0 {
+	status = "okay";
+};
+
+&swr1 {
+	status = "okay";
+
+	wcd_rx: codec@0,4 {
+		compatible = "sdw20217010d00";
+		reg = <0 4>;
+		qcom,rx-port-mapping = <1 2 3 4 5>;
+	};
+};
+
+&swr2 {
+	status = "okay";
+
+	wcd_tx: codec@0,3 {
+		compatible = "sdw20217010d00";
+		reg = <0 3>;
+		qcom,tx-port-mapping = <1 1 2 3>;
+	};
+};
+
+&txmacro {
+	status = "okay";
+};
+
+&uart2 {
+	pinctrl-0 = <&uart2_default>;
+	pinctrl-names = "default";
+
+	status = "okay";
+
+	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>;
+
+		max-speed = <3200000>;
+
+		enable-gpios = <&tlmm 133 GPIO_ACTIVE_HIGH>;
+		swctrl-gpios = <&tlmm 132 GPIO_ACTIVE_HIGH>;
+
+		pinctrl-0 = <&bt_default>;
+		pinctrl-names = "default";
+	};
+};
+
+&uart18 {
+	status = "okay";
+
+	embedded-controller {
+		compatible = "microsoft,surface-sam";
+
+		interrupts-extended = <&tlmm 85 IRQ_TYPE_EDGE_RISING>;
+
+		current-speed = <4000000>;
+
+		pinctrl-0 = <&ssam_state>;
+		pinctrl-names = "default";
+	};
+};
+
+&usb_0 {
+	status = "okay";
+};
+
+&usb_0_dwc3 {
+	dr_mode = "host";
+};
+
+&usb_0_dwc3_hs {
+	remote-endpoint = <&pmic_glink_con0_hs>;
+};
+
+&usb_0_hsphy {
+	vdda-pll-supply = <&vreg_l9d>;
+	vdda18-supply = <&vreg_l1c>;
+	vdda33-supply = <&vreg_l7d>;
+
+	status = "okay";
+};
+
+&usb_0_qmpphy {
+	vdda-phy-supply = <&vreg_l9d>;
+	vdda-pll-supply = <&vreg_l4d>;
+
+	orientation-switch;
+
+	status = "okay";
+};
+
+&usb_0_qmpphy_dp_in {
+	remote-endpoint = <&mdss0_dp0_out>;
+};
+
+&usb_0_qmpphy_out {
+	remote-endpoint = <&pmic_glink_con0_ss>;
+};
+
+&usb_1 {
+	status = "okay";
+};
+
+&usb_1_dwc3 {
+	dr_mode = "host";
+};
+
+&usb_1_dwc3_hs {
+	remote-endpoint = <&pmic_glink_con1_hs>;
+};
+
+&usb_1_hsphy {
+	vdda-pll-supply = <&vreg_l4b>;
+	vdda18-supply = <&vreg_l1c>;
+	vdda33-supply = <&vreg_l13c>;
+
+	status = "okay";
+};
+
+&usb_1_qmpphy {
+	vdda-phy-supply = <&vreg_l4b>;
+	vdda-pll-supply = <&vreg_l3b>;
+
+	orientation-switch;
+
+	status = "okay";
+};
+
+&usb_1_qmpphy_dp_in {
+	remote-endpoint = <&mdss0_dp1_out>;
+};
+
+&usb_1_qmpphy_out {
+	remote-endpoint = <&pmic_glink_con1_ss>;
+};
+
+&vamacro {
+	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
+	pinctrl-names = "default";
+
+	vdd-micb-supply = <&vreg_s10b>;
+
+	qcom,dmic-sample-rate = <4800000>;
+
+	status = "okay";
+};
+
+&wsamacro {
+	status = "okay";
+};
+
+&xo_board_clk {
+	clock-frequency = <38400000>;
+};
+
+/* PINCTRL */
+
+&lpass_tlmm {
+	status = "okay";
+};
+
+&pmc8280_2_gpios {
+	wwan_sw_en: wwan-sw-en-state {
+		pins = "gpio1";
+		function = "normal";
+	};
+};
+
+&pmr735a_gpios {
+	hastings_reg_en: hastings-reg-en-state {
+		pins = "gpio1";
+		function = "normal";
+	};
+};
+
+&tlmm {
+	bt_default: bt-default-state {
+		hstp-bt-en-pins {
+			pins = "gpio133";
+			function = "gpio";
+			drive-strength = <16>;
+			bias-disable;
+		};
+
+		hstp-sw-ctrl-pins {
+			pins = "gpio132";
+			function = "gpio";
+			bias-pull-down;
+		};
+	};
+
+	nvme_reg_en: nvme-reg-en-state {
+		pins = "gpio135";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-disable;
+	};
+
+	pcie2a_default: pcie2a-default-state {
+		clkreq-n-pins {
+			pins = "gpio142";
+			function = "pcie2a_clkreq";
+			drive-strength = <2>;
+			bias-pull-up;
+		};
+
+		perst-n-pins {
+			pins = "gpio143";
+			function = "gpio";
+			drive-strength = <2>;
+			bias-disable;
+		};
+
+		wake-n-pins {
+			pins = "gpio145";
+			function = "gpio";
+			drive-strength = <2>;
+			bias-pull-up;
+	       };
+	};
+
+	pcie3a_default: pcie3a-default-state {
+		clkreq-n-pins {
+			pins = "gpio150";
+			function = "pcie3a_clkreq";
+			drive-strength = <2>;
+			bias-pull-up;
+		};
+
+		perst-n-pins {
+			pins = "gpio151";
+			function = "gpio";
+			drive-strength = <2>;
+			bias-disable;
+		};
+
+		wake-n-pins {
+			pins = "gpio148";
+			function = "gpio";
+			drive-strength = <2>;
+			bias-pull-up;
+		};
+	};
+
+	pcie4_default: pcie4-default-state {
+		clkreq-n-pins {
+			pins = "gpio140";
+			function = "pcie4_clkreq";
+			drive-strength = <2>;
+			bias-pull-up;
+		};
+
+		perst-n-pins {
+			pins = "gpio141";
+			function = "gpio";
+			drive-strength = <2>;
+			bias-disable;
+		};
+
+		wake-n-pins {
+			pins = "gpio139";
+			function = "gpio";
+			drive-strength = <2>;
+			bias-pull-up;
+		};
+	};
+
+
+	ssam_state: ssam-state-state {
+		pins = "gpio85";
+		function = "gpio";
+		bias-disable;
+	};
+
+	uart2_default: uart2-default-state {
+		cts-pins {
+			pins = "gpio121";
+			function = "qup2";
+			bias-bus-hold;
+		};
+
+		rts-pins {
+			pins = "gpio122";
+			function = "qup2";
+			drive-strength = <2>;
+			bias-disable;
+		};
+
+		rx-pins {
+			pins = "gpio124";
+			function = "qup2";
+			bias-pull-up;
+		};
+
+		tx-pins {
+			pins = "gpio123";
+			function = "qup2";
+			drive-strength = <2>;
+			bias-disable;
+		};
+	};
+
+	usb0_sbu_default: usb0-sbu-state {
+		oe-n-pins {
+			pins = "gpio101";
+			function = "gpio";
+			bias-disable;
+			drive-strength = <16>;
+			output-high;
+		};
+
+		sel-pins {
+			pins = "gpio164";
+			function = "gpio";
+			bias-disable;
+			drive-strength = <16>;
+		};
+	};
+
+	usb1_sbu_default: usb1-sbu-state {
+		oe-n-pins {
+			pins = "gpio48";
+			function = "gpio";
+			bias-disable;
+			drive-strength = <16>;
+			output-high;
+		};
+
+		sel-pins {
+			pins = "gpio47";
+			function = "gpio";
+			bias-disable;
+			drive-strength = <16>;
+		};
+	};
+
+	wcd_default: wcd-default-state {
+		reset-pins {
+			pins = "gpio106";
+			function = "gpio";
+			bias-disable;
+		};
+	};
+};
-- 
2.45.2


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

* Re: [PATCH v2 2/5] firmware: qcom: scm: Allow QSEECOM on Microsoft Surface Pro 9 5G
  2024-09-08 22:35 ` [PATCH v2 2/5] firmware: qcom: scm: Allow QSEECOM on " Jérôme de Bretagne
@ 2024-09-10 21:10   ` Maximilian Luz
  0 siblings, 0 replies; 20+ messages in thread
From: Maximilian Luz @ 2024-09-10 21:10 UTC (permalink / raw)
  To: Jérôme de Bretagne, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Johan Hovold, linux-arm-msm, devicetree, linux-kernel

On 9/9/24 12:35 AM, Jérôme de Bretagne wrote:
> Add the SC8280XP-based Microsoft Surface Pro 9 5G to the allowlist.
> 
> Reviewed-by: Konrad Dybcio <konradybcio@kernel.org>
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> ---
>   drivers/firmware/qcom/qcom_scm.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_scm.c
> index 00c379a3cceb..5c8d8d75fb0a 100644
> --- a/drivers/firmware/qcom/qcom_scm.c
> +++ b/drivers/firmware/qcom/qcom_scm.c
> @@ -1725,6 +1725,7 @@ EXPORT_SYMBOL_GPL(qcom_scm_qseecom_app_send);
>   static const struct of_device_id qcom_scm_qseecom_allowlist[] __maybe_unused = {
>   	{ .compatible = "lenovo,flex-5g" },
>   	{ .compatible = "lenovo,thinkpad-x13s", },
> +	{ .compatible = "microsoft,arcata", },
>   	{ .compatible = "qcom,sc8180x-primus" },
>   	{ .compatible = "qcom,x1e80100-crd" },
>   	{ .compatible = "qcom,x1e80100-qcp" },

Looks good to me.

Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>

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

* Re: [PATCH v2 3/5] platform/surface: aggregator_registry: Add Surface Pro 9 5G
  2024-09-08 22:35 ` [PATCH v2 3/5] platform/surface: aggregator_registry: Add " Jérôme de Bretagne
@ 2024-09-10 21:29   ` Maximilian Luz
  2024-10-07 18:44     ` Jérôme de Bretagne
  0 siblings, 1 reply; 20+ messages in thread
From: Maximilian Luz @ 2024-09-10 21:29 UTC (permalink / raw)
  To: Jérôme de Bretagne, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Johan Hovold, linux-arm-msm, devicetree, linux-kernel

Looks good. Two very small nit-picks below, if this goes for a v3:

On 9/9/24 12:35 AM, Jérôme de Bretagne wrote:
> Add SAM client device nodes for the Surface Pro 9 5G, with the usual
> battery/AC and HID nodes for keyboard and touchpad support.
> 
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> ---
>   .../surface/surface_aggregator_registry.c       | 17 +++++++++++++++++
>   1 file changed, 17 insertions(+)
> 
> diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
> index 25c8aa2131d6..8b34d7e465c2 100644
> --- a/drivers/platform/surface/surface_aggregator_registry.c
> +++ b/drivers/platform/surface/surface_aggregator_registry.c
> @@ -390,6 +390,21 @@ static const struct software_node *ssam_node_group_sp9[] = {
>   	NULL,
>   };
>   
> +/* Devices for Surface Pro 9 5G. */

Would be nice if you could change the comment on the SP9 node group to
"Surface Pro 9 (Intel/x86)" and the comment here to "Surface Pro 9 5G
(ARM/QCOM)" or something along those lines to make things a bit more
clear.

> +static const struct software_node *ssam_node_group_sp9_5G[] = {

(This is really just me being a bit obsessive:) It would be nice to have
all-lowercase variable names (regarding the 5G).

> +	&ssam_node_root,
> +	&ssam_node_hub_kip,
> +	&ssam_node_bat_ac,
> +	&ssam_node_bat_main,
> +	&ssam_node_tmp_sensors,
> +	&ssam_node_hid_kip_keyboard,
> +	&ssam_node_hid_kip_penstash,
> +	&ssam_node_hid_kip_touchpad,
> +	&ssam_node_hid_kip_fwupd,
> +	&ssam_node_hid_sam_sensors,
> +	&ssam_node_kip_tablet_switch,
> +	NULL,
> +};
>   
>   /* -- SSAM platform/meta-hub driver. ---------------------------------------- */
>   
> @@ -462,6 +477,8 @@ static const struct acpi_device_id ssam_platform_hub_acpi_match[] = {
>   MODULE_DEVICE_TABLE(acpi, ssam_platform_hub_acpi_match);
>   
>   static const struct of_device_id ssam_platform_hub_of_match[] __maybe_unused = {
> +	/* Surface Pro 9 5G */
> +	{ .compatible = "microsoft,arcata", (void *)ssam_node_group_sp9_5G },
>   	/* Surface Laptop 7 */
>   	{ .compatible = "microsoft,romulus13", (void *)ssam_node_group_sl7 },
>   	{ .compatible = "microsoft,romulus15", (void *)ssam_node_group_sl7 },

Thanks!

Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>

On a related note: I'm wondering whether we should also already add the
ACPI IDs for the as-of-now ARM-only devices. Technically, things won't
work with ACPI right now, but it's not because of the SAM driver stack.
Or maybe at least add them to the comments as a way of documenting it.

Best regards,
Max

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

* Re: (subset) [PATCH v2 0/5] Microsoft Surface Pro 9 5G support
  2024-09-08 22:35 [PATCH v2 0/5] Microsoft Surface Pro 9 5G support Jérôme de Bretagne
                   ` (4 preceding siblings ...)
  2024-09-08 22:35 ` [PATCH v2 5/5] arm64: dts: qcom: sc8280xp: Add Microsoft Surface Pro 9 5G Jérôme de Bretagne
@ 2024-10-07 14:25 ` Bjorn Andersson
  2024-10-07 14:42   ` Jérôme de Bretagne
  5 siblings, 1 reply; 20+ messages in thread
From: Bjorn Andersson @ 2024-10-07 14:25 UTC (permalink / raw)
  To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Jérôme de Bretagne
  Cc: Johan Hovold, linux-arm-msm, devicetree, linux-kernel,
	Maximilian Luz


On Mon, 09 Sep 2024 00:35:00 +0200, Jérôme de Bretagne wrote:
> This series brings support for the SC8280XP-based Microsoft Surface
> Pro 9 5G.
> 
> 

Applied, thanks!

[1/5] dt-bindings: arm: qcom: Document Microsoft Surface Pro 9 5G
      commit: e221af165910b8967f7c2788c34826f332f2cc7e
[4/5] arm64: dts: qcom: sc8280xp: Add uart18
      commit: 1e70551123d014b3a1c4b85da54d247243750e7c
[5/5] arm64: dts: qcom: sc8280xp: Add Microsoft Surface Pro 9 5G
      commit: f6231a2eefd430b8b8798911f023891ea51d1d09

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

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

* Re: (subset) [PATCH v2 0/5] Microsoft Surface Pro 9 5G support
  2024-10-07 14:25 ` (subset) [PATCH v2 0/5] Microsoft Surface Pro 9 5G support Bjorn Andersson
@ 2024-10-07 14:42   ` Jérôme de Bretagne
  0 siblings, 0 replies; 20+ messages in thread
From: Jérôme de Bretagne @ 2024-10-07 14:42 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Johan Hovold, linux-arm-msm, devicetree, linux-kernel,
	Maximilian Luz

On Mon, 07 Oct 2024 16:26, Bjorn Andersson <andersson@kernel.org> wrote:
>
> On Mon, 09 Sep 2024 00:35:00 +0200, Jérôme de Bretagne wrote:
> > This series brings support for the SC8280XP-based Microsoft Surface
> > Pro 9 5G.
> >
>
> Applied, thanks!

Thanks, Bjorn!

> [1/5] dt-bindings: arm: qcom: Document Microsoft Surface Pro 9 5G
>       commit: e221af165910b8967f7c2788c34826f332f2cc7e
> [4/5] arm64: dts: qcom: sc8280xp: Add uart18
>       commit: 1e70551123d014b3a1c4b85da54d247243750e7c
> [5/5] arm64: dts: qcom: sc8280xp: Add Microsoft Surface Pro 9 5G
>       commit: f6231a2eefd430b8b8798911f023891ea51d1d09
>
> Best regards,
> --
> Bjorn Andersson <andersson@kernel.org>

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

* Re: [PATCH v2 3/5] platform/surface: aggregator_registry: Add Surface Pro 9 5G
  2024-09-10 21:29   ` Maximilian Luz
@ 2024-10-07 18:44     ` Jérôme de Bretagne
  2024-10-07 18:53       ` Hans de Goede
  0 siblings, 1 reply; 20+ messages in thread
From: Jérôme de Bretagne @ 2024-10-07 18:44 UTC (permalink / raw)
  To: Maximilian Luz, Hans de Goede, Ilpo Järvinen
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Johan Hovold, linux-arm-msm, devicetree,
	linux-kernel, platform-driver-x86

Hi,

I'm replying with Hans and Ilpo, who I initially forgot for this
patch, sorry about that.

Le mar. 10 sept. 2024 à 23:29, Maximilian Luz
<luzmaximilian@gmail.com> a écrit :
>
> Looks good. Two very small nit-picks below, if this goes for a v3:

Atm I'm not planning for a v3 as Bjorn has applied the other v2
patches earlier today.
Feel free to include the 2 small suggestions when applying this patch maybe?

> On 9/9/24 12:35 AM, Jérôme de Bretagne wrote:
> > Add SAM client device nodes for the Surface Pro 9 5G, with the usual
> > battery/AC and HID nodes for keyboard and touchpad support.
> >
> > Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> > ---
> >   .../surface/surface_aggregator_registry.c       | 17 +++++++++++++++++
> >   1 file changed, 17 insertions(+)
> >
> > diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
> > index 25c8aa2131d6..8b34d7e465c2 100644
> > --- a/drivers/platform/surface/surface_aggregator_registry.c
> > +++ b/drivers/platform/surface/surface_aggregator_registry.c
> > @@ -390,6 +390,21 @@ static const struct software_node *ssam_node_group_sp9[] = {
> >       NULL,
> >   };
> >
> > +/* Devices for Surface Pro 9 5G. */
>
> Would be nice if you could change the comment on the SP9 node group to
> "Surface Pro 9 (Intel/x86)" and the comment here to "Surface Pro 9 5G
> (ARM/QCOM)" or something along those lines to make things a bit more
> clear.
>
> > +static const struct software_node *ssam_node_group_sp9_5G[] = {
>
> (This is really just me being a bit obsessive:) It would be nice to have
> all-lowercase variable names (regarding the 5G).

:)

> > +     &ssam_node_root,
> > +     &ssam_node_hub_kip,
> > +     &ssam_node_bat_ac,
> > +     &ssam_node_bat_main,
> > +     &ssam_node_tmp_sensors,
> > +     &ssam_node_hid_kip_keyboard,
> > +     &ssam_node_hid_kip_penstash,
> > +     &ssam_node_hid_kip_touchpad,
> > +     &ssam_node_hid_kip_fwupd,
> > +     &ssam_node_hid_sam_sensors,
> > +     &ssam_node_kip_tablet_switch,
> > +     NULL,
> > +};
> >
> >   /* -- SSAM platform/meta-hub driver. ---------------------------------------- */
> >
> > @@ -462,6 +477,8 @@ static const struct acpi_device_id ssam_platform_hub_acpi_match[] = {
> >   MODULE_DEVICE_TABLE(acpi, ssam_platform_hub_acpi_match);
> >
> >   static const struct of_device_id ssam_platform_hub_of_match[] __maybe_unused = {
> > +     /* Surface Pro 9 5G */
> > +     { .compatible = "microsoft,arcata", (void *)ssam_node_group_sp9_5G },
> >       /* Surface Laptop 7 */
> >       { .compatible = "microsoft,romulus13", (void *)ssam_node_group_sl7 },
> >       { .compatible = "microsoft,romulus15", (void *)ssam_node_group_sl7 },
>
> Thanks!
>
> Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>

Thanks for your review and all the work about SSAM for Surface owners!

Regards,
Jérôme

> On a related note: I'm wondering whether we should also already add the
> ACPI IDs for the as-of-now ARM-only devices. Technically, things won't
> work with ACPI right now, but it's not because of the SAM driver stack.
> Or maybe at least add them to the comments as a way of documenting it.
>
> Best regards,
> Max

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

* Re: [PATCH v2 3/5] platform/surface: aggregator_registry: Add Surface Pro 9 5G
  2024-10-07 18:44     ` Jérôme de Bretagne
@ 2024-10-07 18:53       ` Hans de Goede
  2024-10-07 19:59         ` Jérôme de Bretagne
  2024-10-22  8:56         ` Ilpo Järvinen
  0 siblings, 2 replies; 20+ messages in thread
From: Hans de Goede @ 2024-10-07 18:53 UTC (permalink / raw)
  To: Jérôme de Bretagne, Maximilian Luz, Ilpo Järvinen
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Johan Hovold, linux-arm-msm, devicetree,
	linux-kernel, platform-driver-x86

Hi Jérôme,

On 7-Oct-24 8:44 PM, Jérôme de Bretagne wrote:
> Hi,
> 
> I'm replying with Hans and Ilpo, who I initially forgot for this
> patch, sorry about that.

No worries thank you for forwarding Maximilian's review.

> Le mar. 10 sept. 2024 à 23:29, Maximilian Luz
> <luzmaximilian@gmail.com> a écrit :
>>
>> Looks good. Two very small nit-picks below, if this goes for a v3:
> 
> Atm I'm not planning for a v3 as Bjorn has applied the other v2
> patches earlier today.
> Feel free to include the 2 small suggestions when applying this patch maybe?
> 
>> On 9/9/24 12:35 AM, Jérôme de Bretagne wrote:
>>> Add SAM client device nodes for the Surface Pro 9 5G, with the usual
>>> battery/AC and HID nodes for keyboard and touchpad support.
>>>
>>> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
>>> ---
>>>   .../surface/surface_aggregator_registry.c       | 17 +++++++++++++++++
>>>   1 file changed, 17 insertions(+)
>>>
>>> diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
>>> index 25c8aa2131d6..8b34d7e465c2 100644
>>> --- a/drivers/platform/surface/surface_aggregator_registry.c
>>> +++ b/drivers/platform/surface/surface_aggregator_registry.c
>>> @@ -390,6 +390,21 @@ static const struct software_node *ssam_node_group_sp9[] = {
>>>       NULL,
>>>   };
>>>
>>> +/* Devices for Surface Pro 9 5G. */
>>
>> Would be nice if you could change the comment on the SP9 node group to
>> "Surface Pro 9 (Intel/x86)" and the comment here to "Surface Pro 9 5G
>> (ARM/QCOM)" or something along those lines to make things a bit more
>> clear.
>>
>>> +static const struct software_node *ssam_node_group_sp9_5G[] = {
>>
>> (This is really just me being a bit obsessive:) It would be nice to have
>> all-lowercase variable names (regarding the 5G).
> 
> :)
> 
>>> +     &ssam_node_root,
>>> +     &ssam_node_hub_kip,
>>> +     &ssam_node_bat_ac,
>>> +     &ssam_node_bat_main,
>>> +     &ssam_node_tmp_sensors,
>>> +     &ssam_node_hid_kip_keyboard,
>>> +     &ssam_node_hid_kip_penstash,
>>> +     &ssam_node_hid_kip_touchpad,
>>> +     &ssam_node_hid_kip_fwupd,
>>> +     &ssam_node_hid_sam_sensors,
>>> +     &ssam_node_kip_tablet_switch,
>>> +     NULL,
>>> +};
>>>
>>>   /* -- SSAM platform/meta-hub driver. ---------------------------------------- */
>>>
>>> @@ -462,6 +477,8 @@ static const struct acpi_device_id ssam_platform_hub_acpi_match[] = {
>>>   MODULE_DEVICE_TABLE(acpi, ssam_platform_hub_acpi_match);
>>>
>>>   static const struct of_device_id ssam_platform_hub_of_match[] __maybe_unused = {
>>> +     /* Surface Pro 9 5G */
>>> +     { .compatible = "microsoft,arcata", (void *)ssam_node_group_sp9_5G },
>>>       /* Surface Laptop 7 */
>>>       { .compatible = "microsoft,romulus13", (void *)ssam_node_group_sl7 },
>>>       { .compatible = "microsoft,romulus15", (void *)ssam_node_group_sl7 },
>>
>> Thanks!
>>
>> Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>
> 
> Thanks for your review and all the work about SSAM for Surface owners!

FWIW I agree with Maximilian's remarks and I would really like to
see these applied to clearly differentiate the x86 and ARM versions.

Normally I would pick up a patch like this which just adds hw-ids as
a fix for 6.12-rc# and squash in the suggested changes.

But looking at the test of the series this is more 6.13 material
since the rest is landing in 6.13, right ?

Patches for linux-next / 6.13 are managed by Ilpo this cycle.

So I'll leave it up to Ilpo if he will squash in the suggested changes
or if he wants a new version (of just this patch, no need for a v3
of the already applied patches).

Regards,

Hans




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

* Re: [PATCH v2 3/5] platform/surface: aggregator_registry: Add Surface Pro 9 5G
  2024-10-07 18:53       ` Hans de Goede
@ 2024-10-07 19:59         ` Jérôme de Bretagne
  2024-10-22  8:56         ` Ilpo Järvinen
  1 sibling, 0 replies; 20+ messages in thread
From: Jérôme de Bretagne @ 2024-10-07 19:59 UTC (permalink / raw)
  To: Hans de Goede
  Cc: Maximilian Luz, Ilpo Järvinen, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Johan Hovold, linux-arm-msm, devicetree, linux-kernel,
	platform-driver-x86

Le lun. 7 oct. 2024 à 20:54, Hans de Goede <hdegoede@redhat.com> a écrit :
>
> Hi Jérôme,
>
> On 7-Oct-24 8:44 PM, Jérôme de Bretagne wrote:
> > Hi,
> >
> > I'm replying with Hans and Ilpo, who I initially forgot for this
> > patch, sorry about that.
>
> No worries thank you for forwarding Maximilian's review.
>
> > Le mar. 10 sept. 2024 à 23:29, Maximilian Luz
> > <luzmaximilian@gmail.com> a écrit :
> >>
> >> Looks good. Two very small nit-picks below, if this goes for a v3:
> >
> > Atm I'm not planning for a v3 as Bjorn has applied the other v2
> > patches earlier today.
> > Feel free to include the 2 small suggestions when applying this patch maybe?
> >
> >> On 9/9/24 12:35 AM, Jérôme de Bretagne wrote:
> >>> Add SAM client device nodes for the Surface Pro 9 5G, with the usual
> >>> battery/AC and HID nodes for keyboard and touchpad support.
> >>>
> >>> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> >>> ---
> >>>   .../surface/surface_aggregator_registry.c       | 17 +++++++++++++++++
> >>>   1 file changed, 17 insertions(+)
> >>>
> >>> diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
> >>> index 25c8aa2131d6..8b34d7e465c2 100644
> >>> --- a/drivers/platform/surface/surface_aggregator_registry.c
> >>> +++ b/drivers/platform/surface/surface_aggregator_registry.c
> >>> @@ -390,6 +390,21 @@ static const struct software_node *ssam_node_group_sp9[] = {
> >>>       NULL,
> >>>   };
> >>>
> >>> +/* Devices for Surface Pro 9 5G. */
> >>
> >> Would be nice if you could change the comment on the SP9 node group to
> >> "Surface Pro 9 (Intel/x86)" and the comment here to "Surface Pro 9 5G
> >> (ARM/QCOM)" or something along those lines to make things a bit more
> >> clear.
> >>
> >>> +static const struct software_node *ssam_node_group_sp9_5G[] = {
> >>
> >> (This is really just me being a bit obsessive:) It would be nice to have
> >> all-lowercase variable names (regarding the 5G).
> >
> > :)
> >
> >>> +     &ssam_node_root,
> >>> +     &ssam_node_hub_kip,
> >>> +     &ssam_node_bat_ac,
> >>> +     &ssam_node_bat_main,
> >>> +     &ssam_node_tmp_sensors,
> >>> +     &ssam_node_hid_kip_keyboard,
> >>> +     &ssam_node_hid_kip_penstash,
> >>> +     &ssam_node_hid_kip_touchpad,
> >>> +     &ssam_node_hid_kip_fwupd,
> >>> +     &ssam_node_hid_sam_sensors,
> >>> +     &ssam_node_kip_tablet_switch,
> >>> +     NULL,
> >>> +};
> >>>
> >>>   /* -- SSAM platform/meta-hub driver. ---------------------------------------- */
> >>>
> >>> @@ -462,6 +477,8 @@ static const struct acpi_device_id ssam_platform_hub_acpi_match[] = {
> >>>   MODULE_DEVICE_TABLE(acpi, ssam_platform_hub_acpi_match);
> >>>
> >>>   static const struct of_device_id ssam_platform_hub_of_match[] __maybe_unused = {
> >>> +     /* Surface Pro 9 5G */
> >>> +     { .compatible = "microsoft,arcata", (void *)ssam_node_group_sp9_5G },
> >>>       /* Surface Laptop 7 */
> >>>       { .compatible = "microsoft,romulus13", (void *)ssam_node_group_sl7 },
> >>>       { .compatible = "microsoft,romulus15", (void *)ssam_node_group_sl7 },
> >>
> >> Thanks!
> >>
> >> Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>
> >
> > Thanks for your review and all the work about SSAM for Surface owners!
>
> FWIW I agree with Maximilian's remarks and I would really like to
> see these applied to clearly differentiate the x86 and ARM versions.

I stuck to the official names but they can be confusing as-is.

> Normally I would pick up a patch like this which just adds hw-ids as
> a fix for 6.12-rc# and squash in the suggested changes.
>
> But looking at the test of the series this is more 6.13 material
> since the rest is landing in 6.13, right ?

The rest is in arm64-for-6.13 and drivers-for-6.13 in Bjorn's tree indeed.

> Patches for linux-next / 6.13 are managed by Ilpo this cycle.
>
> So I'll leave it up to Ilpo if he will squash in the suggested changes
> or if he wants a new version (of just this patch, no need for a v3
> of the already applied patches).
>
> Regards,
>
> Hans

Sure, let's see what Ilpo prefers.

Regards,
Jérôme

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

* Re: [PATCH v2 5/5] arm64: dts: qcom: sc8280xp: Add Microsoft Surface Pro 9 5G
  2024-09-08 22:35 ` [PATCH v2 5/5] arm64: dts: qcom: sc8280xp: Add Microsoft Surface Pro 9 5G Jérôme de Bretagne
@ 2024-10-10  8:52   ` Johan Hovold
  2024-10-10 21:17     ` Jérôme de Bretagne
  0 siblings, 1 reply; 20+ messages in thread
From: Johan Hovold @ 2024-10-10  8:52 UTC (permalink / raw)
  To: Jérôme de Bretagne
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Johan Hovold, linux-arm-msm, devicetree,
	linux-kernel, Maximilian Luz, Krzysztof Kozlowski

On Mon, Sep 09, 2024 at 12:35:05AM +0200, Jérôme de Bretagne wrote:
> Add an initial devicetree for the Microsoft Surface Pro 9 5G, based
> on SC8280XP.
> 
> It enables the support for Wi-Fi, NVMe, the two USB Type-C ports,
> Bluetooth, 5G cellular modem, audio output (via Bluetooth headsets
> or USB audio), external display via DisplayPort over Type-C (only
> the bottom USB Type-C port is working so far), charging, the Surface
> Aggregator Module (SAM) to get keyboard and touchpad working with
> Surface Type Cover accessories.
> 
> Some key features not supported yet:
> - built-in display (but software fallback is working with efifb
>   when blacklisting the msm module)
> - built-in display touchscreen
> - external display with the top USB Type-C port
> - speakers and microphones
> - physical volume up and down keys
> - LID switch detection
> 
> This devicetree is based on the other SC8280XP ones, for the Lenovo
> ThinkPad X13s and the Qualcomm CRD.
> 
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>

> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2024, Jérôme de Bretagne <jerome.debretagne@gmail.com>
> + */

You mention it in the commit message, but since a lot of this is copied
from the X13s (and CRD) devicetrees you should probably make that clear
here as well and include the relevant copyright notices. For example by
adding:

	Based on ...

	Copyright ...

Johan

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

* Re: [PATCH v2 5/5] arm64: dts: qcom: sc8280xp: Add Microsoft Surface Pro 9 5G
  2024-10-10  8:52   ` Johan Hovold
@ 2024-10-10 21:17     ` Jérôme de Bretagne
  2024-10-11  6:36       ` Johan Hovold
  0 siblings, 1 reply; 20+ messages in thread
From: Jérôme de Bretagne @ 2024-10-10 21:17 UTC (permalink / raw)
  To: Johan Hovold
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Johan Hovold, linux-arm-msm, devicetree,
	linux-kernel, Maximilian Luz, Krzysztof Kozlowski

Le jeu. 10 oct. 2024 à 10:52, Johan Hovold <johan@kernel.org> a écrit :
>
> On Mon, Sep 09, 2024 at 12:35:05AM +0200, Jérôme de Bretagne wrote:
> > Add an initial devicetree for the Microsoft Surface Pro 9 5G, based
> > on SC8280XP.
> >
> > It enables the support for Wi-Fi, NVMe, the two USB Type-C ports,
> > Bluetooth, 5G cellular modem, audio output (via Bluetooth headsets
> > or USB audio), external display via DisplayPort over Type-C (only
> > the bottom USB Type-C port is working so far), charging, the Surface
> > Aggregator Module (SAM) to get keyboard and touchpad working with
> > Surface Type Cover accessories.
> >
> > Some key features not supported yet:
> > - built-in display (but software fallback is working with efifb
> >   when blacklisting the msm module)
> > - built-in display touchscreen
> > - external display with the top USB Type-C port
> > - speakers and microphones
> > - physical volume up and down keys
> > - LID switch detection
> >
> > This devicetree is based on the other SC8280XP ones, for the Lenovo
> > ThinkPad X13s and the Qualcomm CRD.
> >
> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> > Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
>
> > +// SPDX-License-Identifier: BSD-3-Clause
> > +/*
> > + * Copyright (c) 2024, Jérôme de Bretagne <jerome.debretagne@gmail.com>
> > + */
>
> You mention it in the commit message, but since a lot of this is copied
> from the X13s (and CRD) devicetrees you should probably make that clear
> here as well and include the relevant copyright notices. For example by
> adding:
>
>         Based on ...
>
>         Copyright ...
>
> Johan

Thank you for the suggestion, so it would look like this?

+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Based on sc8280xp-crd.dts and sc8280xp-lenovo-thinkpad-x13s.dts
+ *
+ * Copyright (c) 2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022, Linaro Limited
+ * Copyright (c) 2024, Jérôme de Bretagne <...>
+ */

Bjorn,

How do you want me to add this to the patchset?
Should I send a separate fix-up patch?
Or should I create a newer v3 patchset?

Thank you,
Jérôme

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

* Re: [PATCH v2 5/5] arm64: dts: qcom: sc8280xp: Add Microsoft Surface Pro 9 5G
  2024-10-10 21:17     ` Jérôme de Bretagne
@ 2024-10-11  6:36       ` Johan Hovold
  0 siblings, 0 replies; 20+ messages in thread
From: Johan Hovold @ 2024-10-11  6:36 UTC (permalink / raw)
  To: Jérôme de Bretagne
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Johan Hovold, linux-arm-msm, devicetree,
	linux-kernel, Maximilian Luz, Krzysztof Kozlowski

On Thu, Oct 10, 2024 at 11:17:35PM +0200, Jérôme de Bretagne wrote:
> Le jeu. 10 oct. 2024 à 10:52, Johan Hovold <johan@kernel.org> a écrit :
> > On Mon, Sep 09, 2024 at 12:35:05AM +0200, Jérôme de Bretagne wrote:

> > You mention it in the commit message, but since a lot of this is copied
> > from the X13s (and CRD) devicetrees you should probably make that clear
> > here as well and include the relevant copyright notices. For example by
> > adding:
> >
> >         Based on ...
> >
> >         Copyright ...

> Thank you for the suggestion, so it would look like this?

You can still keep your copyright notice first, and I meant something
like:

	/*
	 * Microsoft Surface Pro 9 5G devicetree
	 *
	 * Copyright (c) 2024, Jérôme de Bretagne <...>
	 *
	 * Based on sc8280xp-crd.dts and sc8280xp-lenovo-thinkpad-x13s.dts:
	 *
	 * Copyright (c) 2021, The Linux Foundation. All rights reserved.
	 * Copyright (c) 2022, Linaro Limited
	 */

> How do you want me to add this to the patchset?
> Should I send a separate fix-up patch?
> Or should I create a newer v3 patchset?

Ah, sorry, I missed that Bjorn had already picked this one up. Either
leave it as is, or send an incremental (fix-up) patch.

Johan

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

* Re: [PATCH v2 3/5] platform/surface: aggregator_registry: Add Surface Pro 9 5G
  2024-10-07 18:53       ` Hans de Goede
  2024-10-07 19:59         ` Jérôme de Bretagne
@ 2024-10-22  8:56         ` Ilpo Järvinen
  2024-10-23 17:25           ` Maximilian Luz
  1 sibling, 1 reply; 20+ messages in thread
From: Ilpo Järvinen @ 2024-10-22  8:56 UTC (permalink / raw)
  To: Hans de Goede
  Cc: Jérôme de Bretagne, Maximilian Luz, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Johan Hovold, linux-arm-msm, devicetree, LKML,
	platform-driver-x86

[-- Attachment #1: Type: text/plain, Size: 4160 bytes --]

On Mon, 7 Oct 2024, Hans de Goede wrote:

> Hi Jérôme,
> 
> On 7-Oct-24 8:44 PM, Jérôme de Bretagne wrote:
> > Hi,
> > 
> > I'm replying with Hans and Ilpo, who I initially forgot for this
> > patch, sorry about that.
> 
> No worries thank you for forwarding Maximilian's review.
> 
> > Le mar. 10 sept. 2024 à 23:29, Maximilian Luz
> > <luzmaximilian@gmail.com> a écrit :
> >>
> >> Looks good. Two very small nit-picks below, if this goes for a v3:
> > 
> > Atm I'm not planning for a v3 as Bjorn has applied the other v2
> > patches earlier today.
> > Feel free to include the 2 small suggestions when applying this patch maybe?
> > 
> >> On 9/9/24 12:35 AM, Jérôme de Bretagne wrote:
> >>> Add SAM client device nodes for the Surface Pro 9 5G, with the usual
> >>> battery/AC and HID nodes for keyboard and touchpad support.
> >>>
> >>> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> >>> ---
> >>>   .../surface/surface_aggregator_registry.c       | 17 +++++++++++++++++
> >>>   1 file changed, 17 insertions(+)
> >>>
> >>> diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
> >>> index 25c8aa2131d6..8b34d7e465c2 100644
> >>> --- a/drivers/platform/surface/surface_aggregator_registry.c
> >>> +++ b/drivers/platform/surface/surface_aggregator_registry.c
> >>> @@ -390,6 +390,21 @@ static const struct software_node *ssam_node_group_sp9[] = {
> >>>       NULL,
> >>>   };
> >>>
> >>> +/* Devices for Surface Pro 9 5G. */
> >>
> >> Would be nice if you could change the comment on the SP9 node group to
> >> "Surface Pro 9 (Intel/x86)" and the comment here to "Surface Pro 9 5G
> >> (ARM/QCOM)" or something along those lines to make things a bit more
> >> clear.
> >>
> >>> +static const struct software_node *ssam_node_group_sp9_5G[] = {
> >>
> >> (This is really just me being a bit obsessive:) It would be nice to have
> >> all-lowercase variable names (regarding the 5G).
> > 
> > :)
> > 
> >>> +     &ssam_node_root,
> >>> +     &ssam_node_hub_kip,
> >>> +     &ssam_node_bat_ac,
> >>> +     &ssam_node_bat_main,
> >>> +     &ssam_node_tmp_sensors,
> >>> +     &ssam_node_hid_kip_keyboard,
> >>> +     &ssam_node_hid_kip_penstash,
> >>> +     &ssam_node_hid_kip_touchpad,
> >>> +     &ssam_node_hid_kip_fwupd,
> >>> +     &ssam_node_hid_sam_sensors,
> >>> +     &ssam_node_kip_tablet_switch,
> >>> +     NULL,
> >>> +};
> >>>
> >>>   /* -- SSAM platform/meta-hub driver. ---------------------------------------- */
> >>>
> >>> @@ -462,6 +477,8 @@ static const struct acpi_device_id ssam_platform_hub_acpi_match[] = {
> >>>   MODULE_DEVICE_TABLE(acpi, ssam_platform_hub_acpi_match);
> >>>
> >>>   static const struct of_device_id ssam_platform_hub_of_match[] __maybe_unused = {
> >>> +     /* Surface Pro 9 5G */
> >>> +     { .compatible = "microsoft,arcata", (void *)ssam_node_group_sp9_5G },
> >>>       /* Surface Laptop 7 */
> >>>       { .compatible = "microsoft,romulus13", (void *)ssam_node_group_sl7 },
> >>>       { .compatible = "microsoft,romulus15", (void *)ssam_node_group_sl7 },
> >>
> >> Thanks!
> >>
> >> Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>
> > 
> > Thanks for your review and all the work about SSAM for Surface owners!
> 
> FWIW I agree with Maximilian's remarks and I would really like to
> see these applied to clearly differentiate the x86 and ARM versions.
> 
> Normally I would pick up a patch like this which just adds hw-ids as
> a fix for 6.12-rc# and squash in the suggested changes.
> 
> But looking at the test of the series this is more 6.13 material
> since the rest is landing in 6.13, right ?
> 
> Patches for linux-next / 6.13 are managed by Ilpo this cycle.
> 
> So I'll leave it up to Ilpo if he will squash in the suggested changes
> or if he wants a new version (of just this patch, no need for a v3
> of the already applied patches).

Hi all,

I've now applied patch 3 to review-ilpo branch in pdx86 repo.

I'd appreciate if somebody confirms I got those comment edits right.

-- 
 i.

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

* Re: [PATCH v2 3/5] platform/surface: aggregator_registry: Add Surface Pro 9 5G
  2024-10-22  8:56         ` Ilpo Järvinen
@ 2024-10-23 17:25           ` Maximilian Luz
  2024-10-23 21:10             ` Jérôme de Bretagne
  2024-10-24  7:44             ` Ilpo Järvinen
  0 siblings, 2 replies; 20+ messages in thread
From: Maximilian Luz @ 2024-10-23 17:25 UTC (permalink / raw)
  To: Ilpo Järvinen, Hans de Goede
  Cc: Jérôme de Bretagne, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Johan Hovold,
	linux-arm-msm, devicetree, LKML, platform-driver-x86

On 10/22/24 10:56 AM, Ilpo Järvinen wrote:

[...]

> Hi all,
> 
> I've now applied patch 3 to review-ilpo branch in pdx86 repo.
> 
> I'd appreciate if somebody confirms I got those comment edits right.
> 

Hi Ilpo,

looks good to me. Thanks for fixing this up!

Best regards,
Max

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

* Re: [PATCH v2 3/5] platform/surface: aggregator_registry: Add Surface Pro 9 5G
  2024-10-23 17:25           ` Maximilian Luz
@ 2024-10-23 21:10             ` Jérôme de Bretagne
  2024-10-24  7:44             ` Ilpo Järvinen
  1 sibling, 0 replies; 20+ messages in thread
From: Jérôme de Bretagne @ 2024-10-23 21:10 UTC (permalink / raw)
  To: Maximilian Luz
  Cc: Ilpo Järvinen, Hans de Goede, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Johan Hovold,
	linux-arm-msm, devicetree, LKML, platform-driver-x86

On 10/23/24 7:25 PM, Maximilian Luz wrote:
>
> On 10/22/24 10:56 AM, Ilpo Järvinen wrote:
>
> [...]
>
> > Hi all,
> >
> > I've now applied patch 3 to review-ilpo branch in pdx86 repo.
> >
> > I'd appreciate if somebody confirms I got those comment edits right.
> >
>
> Hi Ilpo,
>
> looks good to me. Thanks for fixing this up!
>
> Best regards,
> Max

Hi Ilpo, hi Max,

It looks good to me too.

Thank you both,
Jérôme

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

* Re: [PATCH v2 3/5] platform/surface: aggregator_registry: Add Surface Pro 9 5G
  2024-10-23 17:25           ` Maximilian Luz
  2024-10-23 21:10             ` Jérôme de Bretagne
@ 2024-10-24  7:44             ` Ilpo Järvinen
  1 sibling, 0 replies; 20+ messages in thread
From: Ilpo Järvinen @ 2024-10-24  7:44 UTC (permalink / raw)
  To: Maximilian Luz
  Cc: Hans de Goede, Jérôme de Bretagne, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Johan Hovold, linux-arm-msm, devicetree, LKML,
	platform-driver-x86

[-- Attachment #1: Type: text/plain, Size: 397 bytes --]

On Wed, 23 Oct 2024, Maximilian Luz wrote:

> On 10/22/24 10:56 AM, Ilpo Järvinen wrote:
> 
> [...]
> 
> > Hi all,
> > 
> > I've now applied patch 3 to review-ilpo branch in pdx86 repo.
> > 
> > I'd appreciate if somebody confirms I got those comment edits right.
> > 
> 
> Hi Ilpo,
> 
> looks good to me. Thanks for fixing this up!

Great! Thanks for confirmation.

-- 
 i.

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

end of thread, other threads:[~2024-10-24  7:44 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-08 22:35 [PATCH v2 0/5] Microsoft Surface Pro 9 5G support Jérôme de Bretagne
2024-09-08 22:35 ` [PATCH v2 1/5] dt-bindings: arm: qcom: Document Microsoft Surface Pro 9 5G Jérôme de Bretagne
2024-09-08 22:35 ` [PATCH v2 2/5] firmware: qcom: scm: Allow QSEECOM on " Jérôme de Bretagne
2024-09-10 21:10   ` Maximilian Luz
2024-09-08 22:35 ` [PATCH v2 3/5] platform/surface: aggregator_registry: Add " Jérôme de Bretagne
2024-09-10 21:29   ` Maximilian Luz
2024-10-07 18:44     ` Jérôme de Bretagne
2024-10-07 18:53       ` Hans de Goede
2024-10-07 19:59         ` Jérôme de Bretagne
2024-10-22  8:56         ` Ilpo Järvinen
2024-10-23 17:25           ` Maximilian Luz
2024-10-23 21:10             ` Jérôme de Bretagne
2024-10-24  7:44             ` Ilpo Järvinen
2024-09-08 22:35 ` [PATCH v2 4/5] arm64: dts: qcom: sc8280xp: Add uart18 Jérôme de Bretagne
2024-09-08 22:35 ` [PATCH v2 5/5] arm64: dts: qcom: sc8280xp: Add Microsoft Surface Pro 9 5G Jérôme de Bretagne
2024-10-10  8:52   ` Johan Hovold
2024-10-10 21:17     ` Jérôme de Bretagne
2024-10-11  6:36       ` Johan Hovold
2024-10-07 14:25 ` (subset) [PATCH v2 0/5] Microsoft Surface Pro 9 5G support Bjorn Andersson
2024-10-07 14:42   ` Jérôme de Bretagne

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).