devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/3] X1E Dell XPS 9345 support
@ 2024-10-03 21:10 Aleksandrs Vinarskis
  2024-10-03 21:10 ` [PATCH v4 1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345 Aleksandrs Vinarskis
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Aleksandrs Vinarskis @ 2024-10-03 21:10 UTC (permalink / raw)
  To: Bjorn Andersson, Krzysztof Kozlowski, Dmitry Baryshkov,
	linux-arm-msm, devicetree, linux-kernel
  Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	robdclark, peterdekraker, Bryan.Kemp, tudor.laurentiu.oss,
	Aleksandrs Vinarskis

Introduce support for the mentioned laptop.

Very similar to other X1E laptops, device tree was derived by analyzing dtsi of
existing models and ACPI tables of this laptop [1]. Most notable difference were
* TZ protected SPI19.
* Keyboard only working after suspend/resume sequence, will do a follow up patch
to i2c-hid.
* Lots of small deviations in LDOs voltages.

Successfully tested with Debian 12 and Gnome. Firmware for GPU/aDSP/cDSP was
extracted from Windows, WiFi firmware from upstream linux-firmware.

Quite a few things alraedy work, details in patches, quite a few still in WIP or
TODOs. Since fixing these may take me a while due to lack of documentation,
sending current progress as its very much usable.

[1] https://github.com/aarch64-laptops/build/blob/master/misc/dell-xps-9345/acpi/DSDT.dsl

--------

Changes to V3:
* Rename device from `tributo-13` to `xps13-9345`
* Update commit description - identify EC over i2c, likely camera model
* Update cover letter - no hacks needed when build on top of linux-next
* v3 link: https://lore.kernel.org/all/20240927094544.6966-1-alex.vinarskis@gmail.com/

--------

Changes to V2:
* Fix uart21 missing alias
* Fix redundant mdss_dp3 defines
* Fix touchscreen i2c address
* Update commit description - OLED panel reported working
* Update commit description - touchscreen reported working
* Update commit description - battery info reported working
* Update commit description - add keyboard patches link
* v2 link: https://lore.kernel.org/all/20240921163455.12577-1-alex.vinarskis@gmail.com/

--------

Changes to V1:
* Fix misalignments due to wrong tab/space conversion
* Fix regulator namings
* Fix reasonable warnings from `scripts/checkpatch.pl`
* Restructure all (sub)nodes alphabetically
* v1 link: https://lore.kernel.org/all/20240919170018.13672-1-alex.vinarskis@gmail.com/

Aleksandrs Vinarskis (3):
  dt-bindings: arm: qcom: Add Dell XPS 13 9345
  firmware: qcom: scm: Allow QSEECOM on Dell XPS 13 9345
  arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345

 .../devicetree/bindings/arm/qcom.yaml         |   1 +
 arch/arm64/boot/dts/qcom/Makefile             |   1 +
 .../dts/qcom/x1e80100-dell-xps13-9345.dts     | 863 ++++++++++++++++++
 drivers/firmware/qcom/qcom_scm.c              |   1 +
 4 files changed, 866 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts

-- 
2.43.0


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

* [PATCH v4 1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345
  2024-10-03 21:10 [PATCH v4 0/3] X1E Dell XPS 9345 support Aleksandrs Vinarskis
@ 2024-10-03 21:10 ` Aleksandrs Vinarskis
  2024-10-08 21:07   ` Stefan Schmidt
  2024-10-03 21:10 ` [PATCH v4 2/3] firmware: qcom: scm: Allow QSEECOM on " Aleksandrs Vinarskis
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 13+ messages in thread
From: Aleksandrs Vinarskis @ 2024-10-03 21:10 UTC (permalink / raw)
  To: Bjorn Andersson, Krzysztof Kozlowski, Dmitry Baryshkov,
	linux-arm-msm, devicetree, linux-kernel
  Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	robdclark, peterdekraker, Bryan.Kemp, tudor.laurentiu.oss,
	Aleksandrs Vinarskis

Document the X1E80100-based Dell XPS 13 9345 laptop, platform
codenamed 'Tributo'/'Tributo R'.

Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
 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 5cb54d69af0b..7c01fe30dabc 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -1058,6 +1058,7 @@ properties:
       - items:
           - enum:
               - asus,vivobook-s15
+              - dell,xps13-9345
               - lenovo,yoga-slim7x
               - microsoft,romulus13
               - microsoft,romulus15
-- 
2.43.0


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

* [PATCH v4 2/3] firmware: qcom: scm: Allow QSEECOM on Dell XPS 13 9345
  2024-10-03 21:10 [PATCH v4 0/3] X1E Dell XPS 9345 support Aleksandrs Vinarskis
  2024-10-03 21:10 ` [PATCH v4 1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345 Aleksandrs Vinarskis
@ 2024-10-03 21:10 ` Aleksandrs Vinarskis
  2024-10-08 21:08   ` Stefan Schmidt
  2024-10-03 21:10 ` [PATCH v4 3/3] arm64: dts: qcom: Add support for X1-based " Aleksandrs Vinarskis
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 13+ messages in thread
From: Aleksandrs Vinarskis @ 2024-10-03 21:10 UTC (permalink / raw)
  To: Bjorn Andersson, Krzysztof Kozlowski, Dmitry Baryshkov,
	linux-arm-msm, devicetree, linux-kernel
  Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	robdclark, peterdekraker, Bryan.Kemp, tudor.laurentiu.oss,
	Aleksandrs Vinarskis

Allow particular machine accessing eg. efivars.

Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 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 10986cb11ec0..2495c08a52f5 100644
--- a/drivers/firmware/qcom/qcom_scm.c
+++ b/drivers/firmware/qcom/qcom_scm.c
@@ -1731,6 +1731,7 @@ EXPORT_SYMBOL_GPL(qcom_scm_qseecom_app_send);
  + any potential issues with this, only allow validated machines for now.
  */
 static const struct of_device_id qcom_scm_qseecom_allowlist[] __maybe_unused = {
+	{ .compatible = "dell,xps13-9345" },
 	{ .compatible = "lenovo,flex-5g" },
 	{ .compatible = "lenovo,thinkpad-t14s" },
 	{ .compatible = "lenovo,thinkpad-x13s", },
-- 
2.43.0


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

* [PATCH v4 3/3] arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345
  2024-10-03 21:10 [PATCH v4 0/3] X1E Dell XPS 9345 support Aleksandrs Vinarskis
  2024-10-03 21:10 ` [PATCH v4 1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345 Aleksandrs Vinarskis
  2024-10-03 21:10 ` [PATCH v4 2/3] firmware: qcom: scm: Allow QSEECOM on " Aleksandrs Vinarskis
@ 2024-10-03 21:10 ` Aleksandrs Vinarskis
  2024-10-08 21:09   ` Stefan Schmidt
  2024-10-05  0:45 ` [PATCH v4 0/3] X1E Dell XPS 9345 support Rob Herring (Arm)
  2024-10-16 15:32 ` (subset) " Bjorn Andersson
  4 siblings, 1 reply; 13+ messages in thread
From: Aleksandrs Vinarskis @ 2024-10-03 21:10 UTC (permalink / raw)
  To: Bjorn Andersson, Krzysztof Kozlowski, Dmitry Baryshkov,
	linux-arm-msm, devicetree, linux-kernel
  Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	robdclark, peterdekraker, Bryan.Kemp, tudor.laurentiu.oss,
	Aleksandrs Vinarskis

Initial support for Dell XPS 9345 13" 2024 (Codenamed 'Tributo') based
on X1E80100.

Working:
* Touchpad
* Keyboard (only post suspend&resume, i2c-hid patch required [1])
* Touchscreen
* eDP (low-res IPS, OLED) with brightness control
* NVME
* USB Type-C ports in USB2/USB3 (one orientation)
* WiFi
* GPU/aDSP/cDSP firmware loading (requires binaries from Windows)
* Lid switch
* Sleep/suspend, nothing visibly broken on resume

Not working:
* Speakers (WIP, pin guessing, x4 WSA8845)
* Microphones (WIP, pin guessing, dual array)
* Fingerprint Reader (WIP, USB MP with ptn3222)
* USB as DP/USB3 (WIP, PS8830 based)
* Camera (Likely OV01A10)
* EC over i2c

Should be working, but cannot be tested due to lack of hw:
* higher res IPS panel

[1] https://lore.kernel.org/all/20240925100303.9112-1-alex.vinarskis@gmail.com/

Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
---
 arch/arm64/boot/dts/qcom/Makefile             |   1 +
 .../dts/qcom/x1e80100-dell-xps13-9345.dts     | 863 ++++++++++++++++++
 2 files changed, 864 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index ae002c7cf126..a67663e1f5fc 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -271,6 +271,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sm8650-qrd.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= x1e78100-lenovo-thinkpad-t14s.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= x1e80100-asus-vivobook-s15.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= x1e80100-crd.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= x1e80100-dell-xps13-9345.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= x1e80100-lenovo-yoga-slim7x.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= x1e80100-microsoft-romulus13.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= x1e80100-microsoft-romulus15.dtb
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
new file mode 100644
index 000000000000..6f78b61f8da3
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
@@ -0,0 +1,863 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2024 Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/gpio-keys.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+
+#include "x1e80100.dtsi"
+#include "x1e80100-pmics.dtsi"
+
+/ {
+	model = "Dell XPS 13 9345";
+	compatible = "dell,xps13-9345", "qcom,x1e80100";
+	chassis-type = "laptop";
+
+	aliases {
+		serial0 = &uart21;
+	};
+
+	gpio-keys {
+		compatible = "gpio-keys";
+
+		pinctrl-0 = <&hall_int_n_default>;
+		pinctrl-names = "default";
+
+		switch-lid {
+			gpios = <&tlmm 92 GPIO_ACTIVE_LOW>;
+			linux,input-type = <EV_SW>;
+			linux,code = <SW_LID>;
+			wakeup-source;
+			wakeup-event-action = <EV_ACT_DEASSERTED>;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&cam_indicator_en>;
+
+		led-camera-indicator {
+			label = "white:camera-indicator";
+			function = LED_FUNCTION_INDICATOR;
+			color = <LED_COLOR_ID_WHITE>;
+			gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
+			linux,default-trigger = "none";
+			default-state = "off";
+			/* Reuse as a panic indicator until we get a "camera on" trigger */
+			panic-indicator;
+		};
+	};
+
+	pmic-glink {
+		compatible = "qcom,x1e80100-pmic-glink",
+			     "qcom,sm8550-pmic-glink",
+			     "qcom,pmic-glink";
+		orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
+				    <&tlmm 123 GPIO_ACTIVE_HIGH>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		/* Right-side USB Type-C 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_ss0_hs_in: endpoint {
+						remote-endpoint = <&usb_1_ss0_dwc3_hs>;
+					};
+				};
+
+				port@1 {
+					reg = <1>;
+
+					pmic_glink_ss0_ss_in: endpoint {
+						remote-endpoint = <&usb_1_ss0_qmpphy_out>;
+					};
+				};
+			};
+		};
+
+		/* Left-side USB Type-C 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_ss1_hs_in: endpoint {
+						remote-endpoint = <&usb_1_ss1_dwc3_hs>;
+					};
+				};
+
+				port@1 {
+					reg = <1>;
+
+					pmic_glink_ss1_ss_in: endpoint {
+						remote-endpoint = <&usb_1_ss1_qmpphy_out>;
+					};
+				};
+			};
+		};
+	};
+
+	reserved-memory {
+		linux,cma {
+			compatible = "shared-dma-pool";
+			size = <0x0 0x8000000>;
+			reusable;
+			linux,cma-default;
+		};
+	};
+
+	vreg_edp_3p3: regulator-edp-3p3 {
+		compatible = "regulator-fixed";
+
+		regulator-name = "VREG_EDP_3P3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+
+		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-0 = <&edp_reg_en>;
+		pinctrl-names = "default";
+
+		regulator-boot-on;
+	};
+
+	vreg_nvme: regulator-nvme {
+		compatible = "regulator-fixed";
+
+		regulator-name = "VREG_NVME_3P3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+
+		gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-0 = <&nvme_reg_en>;
+		pinctrl-names = "default";
+	};
+
+	vreg_vph_pwr: regulator-vph-pwr {
+		compatible = "regulator-fixed";
+
+		regulator-name = "vph_pwr";
+		regulator-min-microvolt = <3700000>;
+		regulator-max-microvolt = <3700000>;
+
+		regulator-always-on;
+		regulator-boot-on;
+	};
+};
+
+&apps_rsc {
+	regulators-0 {
+		compatible = "qcom,pm8550-rpmh-regulators";
+		qcom,pmic-id = "b";
+		vdd-bob1-supply = <&vreg_vph_pwr>;
+		vdd-bob2-supply = <&vreg_vph_pwr>;
+		vdd-l1-l4-l10-supply = <&vreg_s4c_1p8>;
+		vdd-l2-l13-l14-supply = <&vreg_bob1>;
+		vdd-l5-l16-supply = <&vreg_bob1>;
+		vdd-l6-l7-supply = <&vreg_bob2>;
+		vdd-l8-l9-supply = <&vreg_bob1>;
+		vdd-l12-supply = <&vreg_s5j_1p2>;
+		vdd-l15-supply = <&vreg_s4c_1p8>;
+		vdd-l17-supply = <&vreg_bob2>;
+
+		vreg_bob1: bob1 {
+			regulator-name = "vreg_bob1";
+			regulator-min-microvolt = <3008000>;
+			regulator-max-microvolt = <3960000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_bob2: bob2 {
+			regulator-name = "vreg_bob2";
+			regulator-min-microvolt = <2504000>;
+			regulator-max-microvolt = <3008000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l2b_3p0: ldo2 {
+			regulator-name = "vreg_l2b_3p0";
+			regulator-min-microvolt = <3072000>;
+			regulator-max-microvolt = <3072000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l4b_1p8: ldo4 {
+			regulator-name = "vreg_l4b_1p8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l6b_1p8: ldo6 {
+			regulator-name = "vreg_l6b_1p8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <2960000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l8b_3p0: ldo8 {
+			regulator-name = "vreg_l8b_3p0";
+			regulator-min-microvolt = <3072000>;
+			regulator-max-microvolt = <3072000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l9b_2p9: ldo9 {
+			regulator-name = "vreg_l9b_2p9";
+			regulator-min-microvolt = <2960000>;
+			regulator-max-microvolt = <2960000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l12b_1p2: ldo12 {
+			regulator-name = "vreg_l12b_1p2";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l13b_3p0: ldo13 {
+			regulator-name = "vreg_l13b_3p0";
+			regulator-min-microvolt = <3072000>;
+			regulator-max-microvolt = <3072000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l14b_3p0: ldo14 {
+			regulator-name = "vreg_l14b_3p0";
+			regulator-min-microvolt = <3072000>;
+			regulator-max-microvolt = <3072000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l15b_1p8: ldo15 {
+			regulator-name = "vreg_l15b_1p8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l17b_2p5: ldo17 {
+			regulator-name = "vreg_l17b_2p5";
+			regulator-min-microvolt = <2504000>;
+			regulator-max-microvolt = <2504000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	regulators-1 {
+		compatible = "qcom,pm8550ve-rpmh-regulators";
+		qcom,pmic-id = "c";
+		vdd-l1-supply = <&vreg_s5j_1p2>;
+		vdd-l2-supply = <&vreg_s1f_0p7>;
+		vdd-l3-supply = <&vreg_s1f_0p7>;
+
+		vreg_s4c_1p8: smps4 {
+			regulator-name = "vreg_s4c_1p8";
+			regulator-min-microvolt = <1856000>;
+			regulator-max-microvolt = <2000000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l1c_1p2: ldo1 {
+			regulator-name = "vreg_l1c_1p2";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l2c_0p8: ldo2 {
+			regulator-name = "vreg_l2c_0p8";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <880000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3c_0p9: ldo3 {
+			regulator-name = "vreg_l3c_0p9";
+			regulator-min-microvolt = <920000>;
+			regulator-max-microvolt = <920000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	regulators-2 {
+		compatible = "qcom,pmc8380-rpmh-regulators";
+		qcom,pmic-id = "d";
+		vdd-l1-supply = <&vreg_s1f_0p7>;
+		vdd-l2-supply = <&vreg_s1f_0p7>;
+		vdd-l3-supply = <&vreg_s4c_1p8>;
+		vdd-s1-supply = <&vreg_vph_pwr>;
+
+		vreg_l1d_0p8: ldo1 {
+			regulator-name = "vreg_l1d_0p8";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <880000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l2d_0p9: ldo2 {
+			regulator-name = "vreg_l2d_0p9";
+			regulator-min-microvolt = <912000>;
+			regulator-max-microvolt = <912000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3d_1p8: ldo3 {
+			regulator-name = "vreg_l3d_1p8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	regulators-3 {
+		compatible = "qcom,pmc8380-rpmh-regulators";
+		qcom,pmic-id = "e";
+		vdd-l2-supply = <&vreg_s1f_0p7>;
+		vdd-l3-supply = <&vreg_s5j_1p2>;
+
+		vreg_l2e_0p8: ldo2 {
+			regulator-name = "vreg_l2e_0p8";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <880000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3e_1p2: ldo3 {
+			regulator-name = "vreg_l3e_1p2";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	regulators-4 {
+		compatible = "qcom,pmc8380-rpmh-regulators";
+		qcom,pmic-id = "f";
+		vdd-l1-supply = <&vreg_s5j_1p2>;
+		vdd-l2-supply = <&vreg_s5j_1p2>;
+		vdd-l3-supply = <&vreg_s5j_1p2>;
+		vdd-s1-supply = <&vreg_vph_pwr>;
+
+		vreg_s1f_0p7: smps1 {
+			regulator-name = "vreg_s1f_0p7";
+			regulator-min-microvolt = <700000>;
+			regulator-max-microvolt = <1100000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	regulators-6 {
+		compatible = "qcom,pm8550ve-rpmh-regulators";
+		qcom,pmic-id = "i";
+		vdd-l1-supply = <&vreg_s4c_1p8>;
+		vdd-l2-supply = <&vreg_s5j_1p2>;
+		vdd-l3-supply = <&vreg_s1f_0p7>;
+		vdd-s1-supply = <&vreg_vph_pwr>;
+		vdd-s2-supply = <&vreg_vph_pwr>;
+
+		vreg_s1i_0p9: smps1 {
+			regulator-name = "vreg_s1i_0p9";
+			regulator-min-microvolt = <900000>;
+			regulator-max-microvolt = <920000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_s2i_1p0: smps2 {
+			regulator-name = "vreg_s2i_1p0";
+			regulator-min-microvolt = <1000000>;
+			regulator-max-microvolt = <1100000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l1i_1p8: ldo1 {
+			regulator-name = "vreg_l1i_1p8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l2i_1p2: ldo2 {
+			regulator-name = "vreg_l2i_1p2";
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3i_0p8: ldo3 {
+			regulator-name = "vreg_l3i_0p8";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <880000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	regulators-7 {
+		compatible = "qcom,pm8550ve-rpmh-regulators";
+		qcom,pmic-id = "j";
+		vdd-l1-supply = <&vreg_s1f_0p7>;
+		vdd-l2-supply = <&vreg_s5j_1p2>;
+		vdd-l3-supply = <&vreg_s1f_0p7>;
+		vdd-s5-supply = <&vreg_vph_pwr>;
+
+		vreg_s5j_1p2: smps5 {
+			regulator-name = "vreg_s5j_1p2";
+			regulator-min-microvolt = <1256000>;
+			regulator-max-microvolt = <1304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l1j_0p9: ldo1 {
+			regulator-name = "vreg_l1j_0p9";
+			regulator-min-microvolt = <912000>;
+			regulator-max-microvolt = <912000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l2j_1p2: ldo2 {
+			regulator-name = "vreg_l2j_1p2";
+			regulator-min-microvolt = <1256000>;
+			regulator-max-microvolt = <1256000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3j_0p8: ldo3 {
+			regulator-name = "vreg_l3j_0p8";
+			regulator-min-microvolt = <880000>;
+			regulator-max-microvolt = <880000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+};
+
+&gpu {
+	status = "okay";
+
+	zap-shader {
+		firmware-name = "qcom/x1e80100/dell/xps13-9345/qcdxkmsuc8380.mbn";
+	};
+};
+
+&i2c0 {
+	clock-frequency = <400000>;
+	status = "okay";
+
+	keyboard@5 {
+		compatible = "hid-over-i2c";
+		reg = <0x5>;
+
+		hid-descr-addr = <0x20>;
+		interrupts-extended = <&tlmm 67 IRQ_TYPE_LEVEL_LOW>;
+
+		pinctrl-0 = <&kybd_default>;
+		pinctrl-names = "default";
+
+		wakeup-source;
+	};
+};
+
+&i2c3 {
+	clock-frequency = <400000>;
+	status = "disabled";
+	/* PS8830 Retimer @0x8 */
+	/* Unknown device @0x9 */
+};
+
+&i2c5 {
+	clock-frequency = <100000>;
+	status = "disabled";
+	/* EC @0x3b */
+};
+
+&i2c7 {
+	clock-frequency = <400000>;
+	status = "disabled";
+	/* PS8830 Retimer @0x8 */
+	/* Unknown device @0x9 */
+};
+
+&i2c8 {
+	clock-frequency = <400000>;
+
+	status = "okay";
+
+	touchscreen@10 {
+		compatible = "hid-over-i2c";
+		reg = <0x10>;
+
+		hid-descr-addr = <0x1>;
+		interrupts-extended = <&tlmm 51 IRQ_TYPE_LEVEL_LOW>;
+
+		pinctrl-0 = <&ts0_default>;
+		pinctrl-names = "default";
+	};
+};
+
+&i2c9 {
+	clock-frequency = <400000>;
+	status = "disabled";
+	/* USB3 retimer device @0x4f */
+};
+
+&i2c17 {
+	clock-frequency = <400000>;
+	status = "okay";
+
+	touchpad@2c {
+		compatible = "hid-over-i2c";
+		reg = <0x2c>;
+
+		hid-descr-addr = <0x20>;
+		interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
+
+		pinctrl-0 = <&tpad_default>;
+		pinctrl-names = "default";
+
+		wakeup-source;
+	};
+};
+
+&mdss {
+	status = "okay";
+};
+
+&mdss_dp3 {
+	/delete-property/ #sound-dai-cells;
+
+	status = "okay";
+
+	aux-bus {
+		panel {
+			/* 1920x1200 IPS panel is SHP1593, PNP09FF compatible */
+			compatible = "edp-panel";
+			power-supply = <&vreg_edp_3p3>;
+
+			port {
+				edp_panel_in: endpoint {
+					remote-endpoint = <&mdss_dp3_out>;
+				};
+			};
+		};
+	};
+
+	ports {
+		port@1 {
+			reg = <1>;
+
+			mdss_dp3_out: endpoint {
+				data-lanes = <0 1 2 3>;
+				link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+
+				remote-endpoint = <&edp_panel_in>;
+			};
+		};
+	};
+};
+
+&mdss_dp3_phy {
+	vdda-phy-supply = <&vreg_l3j_0p8>;
+	vdda-pll-supply = <&vreg_l2j_1p2>;
+
+	status = "okay";
+};
+
+&pcie4 {
+	perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
+	wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
+
+	pinctrl-0 = <&pcie4_default>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
+
+&pcie4_phy {
+	vdda-phy-supply = <&vreg_l3i_0p8>;
+	vdda-pll-supply = <&vreg_l3e_1p2>;
+
+	status = "okay";
+};
+
+&pcie6a {
+	perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
+	wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
+
+	vddpe-3v3-supply = <&vreg_nvme>;
+
+	pinctrl-0 = <&pcie6a_default>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
+
+&pcie6a_phy {
+	vdda-phy-supply = <&vreg_l1d_0p8>;
+	vdda-pll-supply = <&vreg_l2j_1p2>;
+
+	status = "okay";
+};
+
+&qupv3_0 {
+	status = "okay";
+};
+
+&qupv3_1 {
+	status = "okay";
+};
+
+&qupv3_2 {
+	status = "okay";
+};
+
+&remoteproc_adsp {
+	firmware-name = "qcom/x1e80100/dell/xps13-9345/qcadsp8380.mbn",
+			"qcom/x1e80100/dell/xps13-9345/adsp_dtbs.elf";
+
+	status = "okay";
+};
+
+&remoteproc_cdsp {
+	firmware-name = "qcom/x1e80100/dell/xps13-9345/qccdsp8380.mbn",
+			"qcom/x1e80100/dell/xps13-9345/cdsp_dtbs.elf";
+
+	status = "okay";
+};
+
+&smb2360_0_eusb2_repeater {
+	vdd18-supply = <&vreg_l3d_1p8>;
+	vdd3-supply = <&vreg_l2b_3p0>;
+};
+
+&smb2360_1_eusb2_repeater {
+	vdd18-supply = <&vreg_l3d_1p8>;
+	vdd3-supply = <&vreg_l14b_3p0>;
+};
+
+&tlmm {
+	gpio-reserved-ranges = <44 4>,  /* SPI11 (TPM) */
+			       <76 4>,  /* SPI19 (TZ Protected) */
+			       <238 1>; /* UFS Reset */
+
+	cam_indicator_en: cam-indicator-en-state {
+		pins = "gpio110";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-disable;
+	};
+
+	edp_reg_en: edp-reg-en-state {
+		pins = "gpio70";
+		function = "gpio";
+		drive-strength = <16>;
+		bias-disable;
+	};
+
+	hall_int_n_default: hall-int-n-state {
+		pins = "gpio92";
+		function = "gpio";
+
+		bias-disable;
+	};
+
+	kybd_default: kybd-default-state {
+		pins = "gpio67";
+		function = "gpio";
+		bias-pull-up;
+	};
+
+	nvme_reg_en: nvme-reg-en-state {
+		pins = "gpio18";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-disable;
+	};
+
+	pcie4_default: pcie4-default-state {
+		clkreq-n-pins {
+			pins = "gpio147";
+			function = "pcie4_clk";
+			drive-strength = <2>;
+			bias-pull-up;
+		};
+
+		perst-n-pins {
+			pins = "gpio146";
+			function = "gpio";
+			drive-strength = <2>;
+			bias-disable;
+		};
+
+		wake-n-pins {
+			pins = "gpio148";
+			function = "gpio";
+			drive-strength = <2>;
+			bias-pull-up;
+		};
+	};
+
+	pcie6a_default: pcie6a-default-state {
+		clkreq-n-pins {
+			pins = "gpio153";
+			function = "pcie6a_clk";
+			drive-strength = <2>;
+			bias-pull-up;
+		};
+
+		perst-n-pins {
+			pins = "gpio152";
+			function = "gpio";
+			drive-strength = <2>;
+			bias-disable;
+		};
+
+		wake-n-pins {
+			pins = "gpio154";
+			function = "gpio";
+			drive-strength = <2>;
+			bias-pull-up;
+		};
+	};
+
+	tpad_default: tpad-default-state {
+		disable-pins {
+			pins = "gpio38";
+			function = "gpio";
+			output-high;
+		};
+
+		int-n-pins {
+			pins = "gpio3";
+			function = "gpio";
+			bias-pull-up;
+		};
+
+		reset-n-pins {
+			pins = "gpio52";
+			function = "gpio";
+			bias-disable;
+		};
+	};
+
+	ts0_default: ts0-default-state {
+		disable-pins {
+			pins = "gpio75";
+			function = "gpio";
+			output-high;
+		};
+
+		int-n-pins {
+			pins = "gpio51";
+			function = "gpio";
+			bias-pull-up;
+		};
+
+		reset-n-pins {
+			/* Technically should be High-Z input */
+			pins = "gpio48";
+			function = "gpio";
+			output-low;
+			drive-strength = <2>;
+		};
+	};
+};
+
+&uart21 {
+	compatible = "qcom,geni-debug-uart";
+	status = "okay";
+};
+
+&usb_1_ss0_hsphy {
+	vdd-supply = <&vreg_l3j_0p8>;
+	vdda12-supply = <&vreg_l2j_1p2>;
+
+	phys = <&smb2360_0_eusb2_repeater>;
+
+	status = "okay";
+};
+
+&usb_1_ss0_qmpphy {
+	vdda-phy-supply = <&vreg_l3e_1p2>;
+	vdda-pll-supply = <&vreg_l1j_0p9>;
+
+	status = "okay";
+};
+
+&usb_1_ss0 {
+	status = "okay";
+};
+
+&usb_1_ss0_dwc3 {
+	dr_mode = "host";
+};
+
+&usb_1_ss0_dwc3_hs {
+	remote-endpoint = <&pmic_glink_ss0_hs_in>;
+};
+
+&usb_1_ss0_qmpphy_out {
+	remote-endpoint = <&pmic_glink_ss0_ss_in>;
+};
+
+&usb_1_ss1_hsphy {
+	vdd-supply = <&vreg_l3j_0p8>;
+	vdda12-supply = <&vreg_l2j_1p2>;
+
+	phys = <&smb2360_1_eusb2_repeater>;
+
+	status = "okay";
+};
+
+&usb_1_ss1_qmpphy {
+	vdda-phy-supply = <&vreg_l3e_1p2>;
+	vdda-pll-supply = <&vreg_l2d_0p9>;
+
+	status = "okay";
+};
+
+&usb_1_ss1 {
+	status = "okay";
+};
+
+&usb_1_ss1_dwc3 {
+	dr_mode = "host";
+};
+
+&usb_1_ss1_dwc3_hs {
+	remote-endpoint = <&pmic_glink_ss1_hs_in>;
+};
+
+&usb_1_ss1_qmpphy_out {
+	remote-endpoint = <&pmic_glink_ss1_ss_in>;
+};
-- 
2.43.0


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

* Re: [PATCH v4 0/3] X1E Dell XPS 9345 support
  2024-10-03 21:10 [PATCH v4 0/3] X1E Dell XPS 9345 support Aleksandrs Vinarskis
                   ` (2 preceding siblings ...)
  2024-10-03 21:10 ` [PATCH v4 3/3] arm64: dts: qcom: Add support for X1-based " Aleksandrs Vinarskis
@ 2024-10-05  0:45 ` Rob Herring (Arm)
  2024-10-16 15:32 ` (subset) " Bjorn Andersson
  4 siblings, 0 replies; 13+ messages in thread
From: Rob Herring (Arm) @ 2024-10-05  0:45 UTC (permalink / raw)
  To: Aleksandrs Vinarskis
  Cc: devicetree, peterdekraker, Konrad Dybcio, Krzysztof Kozlowski,
	Bryan.Kemp, tudor.laurentiu.oss, linux-kernel, linux-arm-msm,
	robdclark, Conor Dooley, Krzysztof Kozlowski, Dmitry Baryshkov,
	Bjorn Andersson


On Thu, 03 Oct 2024 23:10:06 +0200, Aleksandrs Vinarskis wrote:
> Introduce support for the mentioned laptop.
> 
> Very similar to other X1E laptops, device tree was derived by analyzing dtsi of
> existing models and ACPI tables of this laptop [1]. Most notable difference were
> * TZ protected SPI19.
> * Keyboard only working after suspend/resume sequence, will do a follow up patch
> to i2c-hid.
> * Lots of small deviations in LDOs voltages.
> 
> Successfully tested with Debian 12 and Gnome. Firmware for GPU/aDSP/cDSP was
> extracted from Windows, WiFi firmware from upstream linux-firmware.
> 
> Quite a few things alraedy work, details in patches, quite a few still in WIP or
> TODOs. Since fixing these may take me a while due to lack of documentation,
> sending current progress as its very much usable.
> 
> [1] https://github.com/aarch64-laptops/build/blob/master/misc/dell-xps-9345/acpi/DSDT.dsl
> 
> --------
> 
> Changes to V3:
> * Rename device from `tributo-13` to `xps13-9345`
> * Update commit description - identify EC over i2c, likely camera model
> * Update cover letter - no hacks needed when build on top of linux-next
> * v3 link: https://lore.kernel.org/all/20240927094544.6966-1-alex.vinarskis@gmail.com/
> 
> --------
> 
> Changes to V2:
> * Fix uart21 missing alias
> * Fix redundant mdss_dp3 defines
> * Fix touchscreen i2c address
> * Update commit description - OLED panel reported working
> * Update commit description - touchscreen reported working
> * Update commit description - battery info reported working
> * Update commit description - add keyboard patches link
> * v2 link: https://lore.kernel.org/all/20240921163455.12577-1-alex.vinarskis@gmail.com/
> 
> --------
> 
> Changes to V1:
> * Fix misalignments due to wrong tab/space conversion
> * Fix regulator namings
> * Fix reasonable warnings from `scripts/checkpatch.pl`
> * Restructure all (sub)nodes alphabetically
> * v1 link: https://lore.kernel.org/all/20240919170018.13672-1-alex.vinarskis@gmail.com/
> 
> Aleksandrs Vinarskis (3):
>   dt-bindings: arm: qcom: Add Dell XPS 13 9345
>   firmware: qcom: scm: Allow QSEECOM on Dell XPS 13 9345
>   arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345
> 
>  .../devicetree/bindings/arm/qcom.yaml         |   1 +
>  arch/arm64/boot/dts/qcom/Makefile             |   1 +
>  .../dts/qcom/x1e80100-dell-xps13-9345.dts     | 863 ++++++++++++++++++
>  drivers/firmware/qcom/qcom_scm.c              |   1 +
>  4 files changed, 866 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
> 
> --
> 2.43.0
> 
> 
> 


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

  pip3 install dtschema --upgrade


New warnings running 'make CHECK_DTBS=y qcom/x1e80100-dell-xps13-9345.dtb' for 20241003211139.9296-1-alex.vinarskis@gmail.com:

arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dtb: domain-idle-states: cluster-sleep-0: 'idle-state-name' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml#
arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dtb: domain-idle-states: cluster-sleep-1: 'idle-state-name' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml#
arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dtb: usb@a2f8800: interrupt-names: ['pwr_event', 'dp_hs_phy_irq', 'dm_hs_phy_irq'] is too short
	from schema $id: http://devicetree.org/schemas/usb/qcom,dwc3.yaml#






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

* Re: [PATCH v4 1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345
  2024-10-03 21:10 ` [PATCH v4 1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345 Aleksandrs Vinarskis
@ 2024-10-08 21:07   ` Stefan Schmidt
  2024-10-09  6:55     ` Krzysztof Kozlowski
  0 siblings, 1 reply; 13+ messages in thread
From: Stefan Schmidt @ 2024-10-08 21:07 UTC (permalink / raw)
  To: Aleksandrs Vinarskis
  Cc: Bjorn Andersson, Krzysztof Kozlowski, Dmitry Baryshkov,
	linux-arm-msm, devicetree, linux-kernel, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, robdclark,
	peterdekraker, Bryan.Kemp, tudor.laurentiu.oss

Hello Aleksandrs,

[Again in plain text]

On Thu, 3 Oct 2024 at 23:12, Aleksandrs Vinarskis
<alex.vinarskis@gmail.com> wrote:
>
> Document the X1E80100-based Dell XPS 13 9345 laptop, platform
> codenamed 'Tributo'/'Tributo R'.
>
> Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> ---
>  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 5cb54d69af0b..7c01fe30dabc 100644
> --- a/Documentation/devicetree/bindings/arm/qcom.yaml
> +++ b/Documentation/devicetree/bindings/arm/qcom.yaml
> @@ -1058,6 +1058,7 @@ properties:
>        - items:
>            - enum:
>                - asus,vivobook-s15
> +              - dell,xps13-9345
>                - lenovo,yoga-slim7x
>                - microsoft,romulus13
>                - microsoft,romulus15
> --
> 2.43.0

Tested-by: Stefan Schmidt <stefan.schmidt@linaro.org>

regards
Stefan Schmidt

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

* Re: [PATCH v4 2/3] firmware: qcom: scm: Allow QSEECOM on Dell XPS 13 9345
  2024-10-03 21:10 ` [PATCH v4 2/3] firmware: qcom: scm: Allow QSEECOM on " Aleksandrs Vinarskis
@ 2024-10-08 21:08   ` Stefan Schmidt
  0 siblings, 0 replies; 13+ messages in thread
From: Stefan Schmidt @ 2024-10-08 21:08 UTC (permalink / raw)
  To: Aleksandrs Vinarskis
  Cc: Bjorn Andersson, Krzysztof Kozlowski, Dmitry Baryshkov,
	linux-arm-msm, devicetree, linux-kernel, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, robdclark,
	peterdekraker, Bryan.Kemp, tudor.laurentiu.oss

Hello Aleksandrs,

[Again in plain text]

On Thu, 3 Oct 2024 at 23:12, Aleksandrs Vinarskis
<alex.vinarskis@gmail.com> wrote:
>
> Allow particular machine accessing eg. efivars.
>
> Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  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 10986cb11ec0..2495c08a52f5 100644
> --- a/drivers/firmware/qcom/qcom_scm.c
> +++ b/drivers/firmware/qcom/qcom_scm.c
> @@ -1731,6 +1731,7 @@ EXPORT_SYMBOL_GPL(qcom_scm_qseecom_app_send);
>   + any potential issues with this, only allow validated machines for now.
>   */
>  static const struct of_device_id qcom_scm_qseecom_allowlist[] __maybe_unused = {
> +       { .compatible = "dell,xps13-9345" },
>         { .compatible = "lenovo,flex-5g" },
>         { .compatible = "lenovo,thinkpad-t14s" },
>         { .compatible = "lenovo,thinkpad-x13s", },
> --
> 2.43.0

Tested-by: Stefan Schmidt <stefan.schmidt@linaro.org>

regards
Stefan Schmidt

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

* Re: [PATCH v4 3/3] arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345
  2024-10-03 21:10 ` [PATCH v4 3/3] arm64: dts: qcom: Add support for X1-based " Aleksandrs Vinarskis
@ 2024-10-08 21:09   ` Stefan Schmidt
  2024-10-09  8:55     ` Aleksandrs Vinarskis
  0 siblings, 1 reply; 13+ messages in thread
From: Stefan Schmidt @ 2024-10-08 21:09 UTC (permalink / raw)
  To: Aleksandrs Vinarskis
  Cc: Bjorn Andersson, Krzysztof Kozlowski, Dmitry Baryshkov,
	linux-arm-msm, devicetree, linux-kernel, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, robdclark,
	peterdekraker, Bryan.Kemp, tudor.laurentiu.oss

Hello Aleksandrs,

[Again in plain text]

On Thu, 3 Oct 2024 at 23:13, Aleksandrs Vinarskis
<alex.vinarskis@gmail.com> wrote:
>
> Initial support for Dell XPS 9345 13" 2024 (Codenamed 'Tributo') based
> on X1E80100.
>
> Working:
> * Touchpad
> * Keyboard (only post suspend&resume, i2c-hid patch required [1])
> * Touchscreen
> * eDP (low-res IPS, OLED) with brightness control
> * NVME
> * USB Type-C ports in USB2/USB3 (one orientation)
> * WiFi
> * GPU/aDSP/cDSP firmware loading (requires binaries from Windows)
> * Lid switch
> * Sleep/suspend, nothing visibly broken on resume
>
> Not working:
> * Speakers (WIP, pin guessing, x4 WSA8845)
> * Microphones (WIP, pin guessing, dual array)
> * Fingerprint Reader (WIP, USB MP with ptn3222)
> * USB as DP/USB3 (WIP, PS8830 based)
> * Camera (Likely OV01A10)
> * EC over i2c
>
> Should be working, but cannot be tested due to lack of hw:
> * higher res IPS panel
>
> [1] https://lore.kernel.org/all/20240925100303.9112-1-alex.vinarskis@gmail.com/
>
> Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
> ---
>  arch/arm64/boot/dts/qcom/Makefile             |   1 +
>  .../dts/qcom/x1e80100-dell-xps13-9345.dts     | 863 ++++++++++++++++++
>  2 files changed, 864 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts

Tested-by: Stefan Schmidt <stefan.schmidt@linaro.org>

regards
Stefan Schmidt

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

* Re: [PATCH v4 1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345
  2024-10-08 21:07   ` Stefan Schmidt
@ 2024-10-09  6:55     ` Krzysztof Kozlowski
  2024-10-09  8:54       ` Stefan Schmidt
  0 siblings, 1 reply; 13+ messages in thread
From: Krzysztof Kozlowski @ 2024-10-09  6:55 UTC (permalink / raw)
  To: Stefan Schmidt, Aleksandrs Vinarskis
  Cc: Bjorn Andersson, Dmitry Baryshkov, linux-arm-msm, devicetree,
	linux-kernel, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, robdclark, peterdekraker, Bryan.Kemp,
	tudor.laurentiu.oss

On 08/10/2024 23:07, Stefan Schmidt wrote:
> Hello Aleksandrs,
> 
> [Again in plain text]
> 
> On Thu, 3 Oct 2024 at 23:12, Aleksandrs Vinarskis
> <alex.vinarskis@gmail.com> wrote:
>>
>> Document the X1E80100-based Dell XPS 13 9345 laptop, platform
>> codenamed 'Tributo'/'Tributo R'.
>>
>> Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
>> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>> ---
>>  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 5cb54d69af0b..7c01fe30dabc 100644
>> --- a/Documentation/devicetree/bindings/arm/qcom.yaml
>> +++ b/Documentation/devicetree/bindings/arm/qcom.yaml
>> @@ -1058,6 +1058,7 @@ properties:
>>        - items:
>>            - enum:
>>                - asus,vivobook-s15
>> +              - dell,xps13-9345
>>                - lenovo,yoga-slim7x
>>                - microsoft,romulus13
>>                - microsoft,romulus15
>> --
>> 2.43.0
> 
> Tested-by: Stefan Schmidt <stefan.schmidt@linaro.org>

How do you test bindings? Running static checks in kernel tree is the
same as compiling software and adding tested-by.

Best regards,
Krzysztof


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

* Re: [PATCH v4 1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345
  2024-10-09  6:55     ` Krzysztof Kozlowski
@ 2024-10-09  8:54       ` Stefan Schmidt
  0 siblings, 0 replies; 13+ messages in thread
From: Stefan Schmidt @ 2024-10-09  8:54 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Aleksandrs Vinarskis, Bjorn Andersson, Dmitry Baryshkov,
	linux-arm-msm, devicetree, linux-kernel, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, robdclark,
	peterdekraker, Bryan.Kemp, tudor.laurentiu.oss

Hello,

On Wed, 9 Oct 2024 at 08:55, Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 08/10/2024 23:07, Stefan Schmidt wrote:
> > Hello Aleksandrs,
> >
> > [Again in plain text]
> >
> > On Thu, 3 Oct 2024 at 23:12, Aleksandrs Vinarskis
> > <alex.vinarskis@gmail.com> wrote:
> >>
> >> Document the X1E80100-based Dell XPS 13 9345 laptop, platform
> >> codenamed 'Tributo'/'Tributo R'.
> >>
> >> Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
> >> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> >> ---
> >>  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 5cb54d69af0b..7c01fe30dabc 100644
> >> --- a/Documentation/devicetree/bindings/arm/qcom.yaml
> >> +++ b/Documentation/devicetree/bindings/arm/qcom.yaml
> >> @@ -1058,6 +1058,7 @@ properties:
> >>        - items:
> >>            - enum:
> >>                - asus,vivobook-s15
> >> +              - dell,xps13-9345
> >>                - lenovo,yoga-slim7x
> >>                - microsoft,romulus13
> >>                - microsoft,romulus15
> >> --
> >> 2.43.0
> >
> > Tested-by: Stefan Schmidt <stefan.schmidt@linaro.org>
>
> How do you test bindings? Running static checks in kernel tree is the
> same as compiling software and adding tested-by.

I took the whole patchset in when testing it on the actual hardware,
so I gave the tested-by for the whole series as well.
That being said, the binding patch here does indeed not benefit from
any on device testing. Feel free to drop it.

regards
Stefan Schmidt

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

* Re: [PATCH v4 3/3] arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345
  2024-10-08 21:09   ` Stefan Schmidt
@ 2024-10-09  8:55     ` Aleksandrs Vinarskis
  2024-10-09  8:59       ` Stefan Schmidt
  0 siblings, 1 reply; 13+ messages in thread
From: Aleksandrs Vinarskis @ 2024-10-09  8:55 UTC (permalink / raw)
  To: Stefan Schmidt
  Cc: Bjorn Andersson, Krzysztof Kozlowski, Dmitry Baryshkov,
	linux-arm-msm, devicetree, linux-kernel, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, robdclark,
	peterdekraker, Bryan.Kemp, tudor.laurentiu.oss

On Tue, 8 Oct 2024 at 23:09, Stefan Schmidt <stefan.schmidt@linaro.org> wrote:
>
> Hello Aleksandrs,
>
> [Again in plain text]
>
> On Thu, 3 Oct 2024 at 23:13, Aleksandrs Vinarskis
> <alex.vinarskis@gmail.com> wrote:
> >
> > Initial support for Dell XPS 9345 13" 2024 (Codenamed 'Tributo') based
> > on X1E80100.
> >
> > Working:
> > * Touchpad
> > * Keyboard (only post suspend&resume, i2c-hid patch required [1])
> > * Touchscreen
> > * eDP (low-res IPS, OLED) with brightness control
> > * NVME
> > * USB Type-C ports in USB2/USB3 (one orientation)
> > * WiFi
> > * GPU/aDSP/cDSP firmware loading (requires binaries from Windows)
> > * Lid switch
> > * Sleep/suspend, nothing visibly broken on resume
> >
> > Not working:
> > * Speakers (WIP, pin guessing, x4 WSA8845)
> > * Microphones (WIP, pin guessing, dual array)
> > * Fingerprint Reader (WIP, USB MP with ptn3222)
> > * USB as DP/USB3 (WIP, PS8830 based)
> > * Camera (Likely OV01A10)
> > * EC over i2c
> >
> > Should be working, but cannot be tested due to lack of hw:
> > * higher res IPS panel
> >
> > [1] https://lore.kernel.org/all/20240925100303.9112-1-alex.vinarskis@gmail.com/
> >
> > Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
> > ---
> >  arch/arm64/boot/dts/qcom/Makefile             |   1 +
> >  .../dts/qcom/x1e80100-dell-xps13-9345.dts     | 863 ++++++++++++++++++
> >  2 files changed, 864 insertions(+)
> >  create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
>
> Tested-by: Stefan Schmidt <stefan.schmidt@linaro.org>

Hi,

Thanks for taking your time to test this.
For the record, which variant did you test it on (low res
IPS/OLED/high res IPS)?

Regards,
Alex

>
> regards
> Stefan Schmidt

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

* Re: [PATCH v4 3/3] arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345
  2024-10-09  8:55     ` Aleksandrs Vinarskis
@ 2024-10-09  8:59       ` Stefan Schmidt
  0 siblings, 0 replies; 13+ messages in thread
From: Stefan Schmidt @ 2024-10-09  8:59 UTC (permalink / raw)
  To: Aleksandrs Vinarskis
  Cc: Bjorn Andersson, Krzysztof Kozlowski, Dmitry Baryshkov,
	linux-arm-msm, devicetree, linux-kernel, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, robdclark,
	peterdekraker, Bryan.Kemp, tudor.laurentiu.oss

Hello,

On Wed, 9 Oct 2024 at 10:55, Aleksandrs Vinarskis
<alex.vinarskis@gmail.com> wrote:
>
> Thanks for taking your time to test this.
> For the record, which variant did you test it on (low res
> IPS/OLED/high res IPS)?

OLED

regards
Stefan Schmidt

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

* Re: (subset) [PATCH v4 0/3] X1E Dell XPS 9345 support
  2024-10-03 21:10 [PATCH v4 0/3] X1E Dell XPS 9345 support Aleksandrs Vinarskis
                   ` (3 preceding siblings ...)
  2024-10-05  0:45 ` [PATCH v4 0/3] X1E Dell XPS 9345 support Rob Herring (Arm)
@ 2024-10-16 15:32 ` Bjorn Andersson
  4 siblings, 0 replies; 13+ messages in thread
From: Bjorn Andersson @ 2024-10-16 15:32 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Dmitry Baryshkov, linux-arm-msm, devicetree,
	linux-kernel, Aleksandrs Vinarskis
  Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	robdclark, peterdekraker, Bryan.Kemp, tudor.laurentiu.oss


On Thu, 03 Oct 2024 23:10:06 +0200, Aleksandrs Vinarskis wrote:
> Introduce support for the mentioned laptop.
> 
> Very similar to other X1E laptops, device tree was derived by analyzing dtsi of
> existing models and ACPI tables of this laptop [1]. Most notable difference were
> * TZ protected SPI19.
> * Keyboard only working after suspend/resume sequence, will do a follow up patch
> to i2c-hid.
> * Lots of small deviations in LDOs voltages.
> 
> [...]

Applied, thanks!

[1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345
      commit: 1aa50217d7fd1b9932d3552a20c2f7fd58d77cfa
[3/3] arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345
      commit: f5b788d0e8cdaac7df6ec9a24926672965d87dfc

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

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

end of thread, other threads:[~2024-10-16 15:32 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-03 21:10 [PATCH v4 0/3] X1E Dell XPS 9345 support Aleksandrs Vinarskis
2024-10-03 21:10 ` [PATCH v4 1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345 Aleksandrs Vinarskis
2024-10-08 21:07   ` Stefan Schmidt
2024-10-09  6:55     ` Krzysztof Kozlowski
2024-10-09  8:54       ` Stefan Schmidt
2024-10-03 21:10 ` [PATCH v4 2/3] firmware: qcom: scm: Allow QSEECOM on " Aleksandrs Vinarskis
2024-10-08 21:08   ` Stefan Schmidt
2024-10-03 21:10 ` [PATCH v4 3/3] arm64: dts: qcom: Add support for X1-based " Aleksandrs Vinarskis
2024-10-08 21:09   ` Stefan Schmidt
2024-10-09  8:55     ` Aleksandrs Vinarskis
2024-10-09  8:59       ` Stefan Schmidt
2024-10-05  0:45 ` [PATCH v4 0/3] X1E Dell XPS 9345 support Rob Herring (Arm)
2024-10-16 15:32 ` (subset) " Bjorn Andersson

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