* [PATCH v1 0/3] X1E Dell XPS 9345 support
@ 2024-09-19 16:59 Aleksandrs Vinarskis
2024-09-19 16:59 ` [PATCH v1 1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345 Aleksandrs Vinarskis
` (3 more replies)
0 siblings, 4 replies; 12+ messages in thread
From: Aleksandrs Vinarskis @ 2024-09-19 16:59 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,
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, although this required additional
patches, namely harcode GPU chipid, apply [2] and _revert_ [3] - same as in Abel
Vesa's branches. Without last two the boot process is terminated by TZ. 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
[2] https://lore.kernel.org/all/20240830-x1e80100-bypass-pdc-v1-1-d4c00be0c3e3@linaro.org/
[3] https://lore.kernel.org/all/20240708-x1e80100-pd-mapper-v1-1-854386af4cf5@linaro.org/
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-tributo-13.dts | 860 ++++++++++++++++++
drivers/firmware/qcom/qcom_scm.c | 1 +
4 files changed, 863 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts
--
2.43.0
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH v1 1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345 2024-09-19 16:59 [PATCH v1 0/3] X1E Dell XPS 9345 support Aleksandrs Vinarskis @ 2024-09-19 16:59 ` Aleksandrs Vinarskis 2024-09-20 12:53 ` Krzysztof Kozlowski 2024-09-19 16:59 ` [PATCH v1 2/3] firmware: qcom: scm: Allow QSEECOM on " Aleksandrs Vinarskis ` (2 subsequent siblings) 3 siblings, 1 reply; 12+ messages in thread From: Aleksandrs Vinarskis @ 2024-09-19 16:59 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, Aleksandrs Vinarskis Document the X1E80100-based Dell XPS laptop. Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@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 5cb54d69af0b..a1ae01a9d581 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,tributo-13 - lenovo,yoga-slim7x - microsoft,romulus13 - microsoft,romulus15 -- 2.43.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v1 1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345 2024-09-19 16:59 ` [PATCH v1 1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345 Aleksandrs Vinarskis @ 2024-09-20 12:53 ` Krzysztof Kozlowski 0 siblings, 0 replies; 12+ messages in thread From: Krzysztof Kozlowski @ 2024-09-20 12:53 UTC (permalink / raw) To: Aleksandrs Vinarskis, Bjorn Andersson, Dmitry Baryshkov, linux-arm-msm, devicetree, linux-kernel Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley On 19/09/2024 18:59, Aleksandrs Vinarskis wrote: > Document the X1E80100-based Dell XPS laptop. XPS 13 9435, codenamed (?) Tributo 13? Otherwise I don't get the connection between compatible and above. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v1 2/3] firmware: qcom: scm: Allow QSEECOM on Dell XPS 13 9345 2024-09-19 16:59 [PATCH v1 0/3] X1E Dell XPS 9345 support Aleksandrs Vinarskis 2024-09-19 16:59 ` [PATCH v1 1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345 Aleksandrs Vinarskis @ 2024-09-19 16:59 ` Aleksandrs Vinarskis 2024-09-19 19:58 ` Dmitry Baryshkov 2024-09-20 12:49 ` Krzysztof Kozlowski 2024-09-19 16:59 ` [PATCH v1 3/3] arm64: dts: qcom: Add support for X1-based " Aleksandrs Vinarskis 2024-09-19 18:18 ` [PATCH v1 0/3] X1E Dell XPS 9345 support Rob Herring (Arm) 3 siblings, 2 replies; 12+ messages in thread From: Aleksandrs Vinarskis @ 2024-09-19 16:59 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, Aleksandrs Vinarskis Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@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 10986cb11ec0..5d8afdb3b6c9 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,tributo-13" }, { .compatible = "lenovo,flex-5g" }, { .compatible = "lenovo,thinkpad-t14s" }, { .compatible = "lenovo,thinkpad-x13s", }, -- 2.43.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v1 2/3] firmware: qcom: scm: Allow QSEECOM on Dell XPS 13 9345 2024-09-19 16:59 ` [PATCH v1 2/3] firmware: qcom: scm: Allow QSEECOM on " Aleksandrs Vinarskis @ 2024-09-19 19:58 ` Dmitry Baryshkov 2024-09-20 12:49 ` Krzysztof Kozlowski 1 sibling, 0 replies; 12+ messages in thread From: Dmitry Baryshkov @ 2024-09-19 19:58 UTC (permalink / raw) To: Aleksandrs Vinarskis Cc: Bjorn Andersson, Krzysztof Kozlowski, linux-arm-msm, devicetree, linux-kernel, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley On Thu, Sep 19, 2024 at 06:59:33PM GMT, Aleksandrs Vinarskis wrote: > Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com> > --- > drivers/firmware/qcom/qcom_scm.c | 1 + > 1 file changed, 1 insertion(+) > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1 2/3] firmware: qcom: scm: Allow QSEECOM on Dell XPS 13 9345 2024-09-19 16:59 ` [PATCH v1 2/3] firmware: qcom: scm: Allow QSEECOM on " Aleksandrs Vinarskis 2024-09-19 19:58 ` Dmitry Baryshkov @ 2024-09-20 12:49 ` Krzysztof Kozlowski 1 sibling, 0 replies; 12+ messages in thread From: Krzysztof Kozlowski @ 2024-09-20 12:49 UTC (permalink / raw) To: Aleksandrs Vinarskis, Bjorn Andersson, Dmitry Baryshkov, linux-arm-msm, devicetree, linux-kernel Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley On 19/09/2024 18:59, Aleksandrs Vinarskis wrote: > Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com> Please run scripts/checkpatch.pl and fix reported warnings. Then please run `scripts/checkpatch.pl --strict` and (probably) fix more warnings. Some warnings can be ignored, especially from --strict run, but the code here looks like it needs a fix. Feel free to get in touch if the warning is not clear. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v1 3/3] arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345 2024-09-19 16:59 [PATCH v1 0/3] X1E Dell XPS 9345 support Aleksandrs Vinarskis 2024-09-19 16:59 ` [PATCH v1 1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345 Aleksandrs Vinarskis 2024-09-19 16:59 ` [PATCH v1 2/3] firmware: qcom: scm: Allow QSEECOM on " Aleksandrs Vinarskis @ 2024-09-19 16:59 ` Aleksandrs Vinarskis 2024-09-20 12:52 ` Krzysztof Kozlowski 2024-09-20 17:25 ` Rob Clark 2024-09-19 18:18 ` [PATCH v1 0/3] X1E Dell XPS 9345 support Rob Herring (Arm) 3 siblings, 2 replies; 12+ messages in thread From: Aleksandrs Vinarskis @ 2024-09-19 16:59 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, Aleksandrs Vinarskis Initial support for Dell XPS 9345 13" 2024 (Tributo) based on X1E80100. Working: * Touchpad * Keyboard (only post suspend&resume, i2c-hid patch WIP) * eDP, 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) * Fingerprint Reader (WIP, USB MP with ptn3222) * USB as DP/USB3 (WIP, PS8830 based) * Camera * Battery Info Should be working, but cannot be tested due to lack of hw: * Higher res OLED, higher res IPS panels * Touchscreen Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com> --- arch/arm64/boot/dts/qcom/Makefile | 1 + .../dts/qcom/x1e80100-dell-tributo-13.dts | 860 ++++++++++++++++++ 2 files changed, 861 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index ae002c7cf126..111c589d6bae 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-tributo-13.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-tributo-13.dts b/arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts new file mode 100644 index 000000000000..d387f133c398 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts @@ -0,0 +1,860 @@ +// 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,tributo-13", "qcom,x1e80100"; + chassis-type = "laptop"; + + 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; + }; + }; + + vph_pwr: vph-pwr-regulator { + compatible = "regulator-fixed"; + + regulator-name = "vph_pwr"; + regulator-min-microvolt = <3700000>; + regulator-max-microvolt = <3700000>; + + regulator-always-on; + regulator-boot-on; + }; + + 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"; + }; +}; + +&apps_rsc { + regulators-0 { + compatible = "qcom,pm8550-rpmh-regulators"; + qcom,pmic-id = "b"; + vdd-bob1-supply = <&vph_pwr>; + vdd-bob2-supply = <&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 = <&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 = <&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 = <&vph_pwr>; + vdd-s2-supply = <&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 = <&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>; + }; + }; +}; + +&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/tributo/qcadsp8380.mbn", + "qcom/x1e80100/dell/tributo/adsp_dtbs.elf"; + + status = "okay"; +}; + +&remoteproc_cdsp { + firmware-name = "qcom/x1e80100/dell/tributo/qccdsp8380.mbn", + "qcom/x1e80100/dell/tributo/cdsp_dtbs.elf"; + + status = "okay"; +}; + +&gpu { + status = "okay"; + + zap-shader { + firmware-name = "qcom/x1e80100/dell/tributo/qcdxkmsuc8380.mbn"; + }; +}; + +&mdss { + status = "okay"; +}; + +&mdss_dp3 { + compatible = "qcom,x1e80100-dp"; + /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"; +}; + +&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"; + /* Unknown device @0x3b */ +}; + +&i2c7 { + clock-frequency = <400000>; + status = "disabled"; + /* PS8830 Retimer @0x8 */ + /* Unknown device @0x9 */ +}; + +&i2c8 { + clock-frequency = <400000>; + + status = "okay"; + + touchscreen@0 { + compatible = "hid-over-i2c"; + reg = <0x0>; + + 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; + }; +}; + +&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 */ + + edp_reg_en: edp-reg-en-state { + pins = "gpio70"; + function = "gpio"; + drive-strength = <16>; + 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; + }; + + 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>; + }; + }; + + hall_int_n_default: hall-int-n-state { + pins = "gpio92"; + function = "gpio"; + + 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; + }; + }; + + cam_indicator_en: cam-indicator-en-state { + pins = "gpio110"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; +}; + +&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] 12+ messages in thread
* Re: [PATCH v1 3/3] arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345 2024-09-19 16:59 ` [PATCH v1 3/3] arm64: dts: qcom: Add support for X1-based " Aleksandrs Vinarskis @ 2024-09-20 12:52 ` Krzysztof Kozlowski 2024-09-20 17:25 ` Rob Clark 1 sibling, 0 replies; 12+ messages in thread From: Krzysztof Kozlowski @ 2024-09-20 12:52 UTC (permalink / raw) To: Aleksandrs Vinarskis, Bjorn Andersson, Dmitry Baryshkov, linux-arm-msm, devicetree, linux-kernel Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley On 19/09/2024 18:59, Aleksandrs Vinarskis wrote: > + panic-indicator; > + }; > + }; > + > + pmic-glink { > + compatible = "qcom,x1e80100-pmic-glink", > + "qcom,sm8550-pmic-glink", > + "qcom,pmic-glink"; Misaligned. These start with previous ". > + orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>, > + <&tlmm 123 GPIO_ACTIVE_HIGH>; Even more misaligned. I guess this comment applies to multiple places. > + #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; > + }; > + }; > + > + vph_pwr: vph-pwr-regulator { regulator-foo-bar (so regulator-vph-pwr), which will also point to the need of reordering the nods. They are sorted alphabetically. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1 3/3] arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345 2024-09-19 16:59 ` [PATCH v1 3/3] arm64: dts: qcom: Add support for X1-based " Aleksandrs Vinarskis 2024-09-20 12:52 ` Krzysztof Kozlowski @ 2024-09-20 17:25 ` Rob Clark 2024-09-21 12:16 ` alex vinarskis 1 sibling, 1 reply; 12+ messages in thread From: Rob Clark @ 2024-09-20 17:25 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, Rob Clark On Thu, Sep 19, 2024 at 10:01 AM Aleksandrs Vinarskis <alex.vinarskis@gmail.com> wrote: > > Initial support for Dell XPS 9345 13" 2024 (Tributo) based on X1E80100. > > Working: > * Touchpad > * Keyboard (only post suspend&resume, i2c-hid patch WIP) > * eDP, 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) > * Fingerprint Reader (WIP, USB MP with ptn3222) > * USB as DP/USB3 (WIP, PS8830 based) > * Camera > * Battery Info > > Should be working, but cannot be tested due to lack of hw: > * Higher res OLED, higher res IPS panels My suspicion is that OLED vs IPS will require different dtb. I'm expecting the OLED to use samsung,atna33xc20 panel driver (see "arm64: dts: qcom: x1e80100-yoga: Update panel bindings"), but IPS can probably use edp-panel. I'm not sure if anyone has gotten both panels working on any other device that has both IPS and OLED variants, so this remains a theory. The t14s, which also has both IPS and OLED, has different DMI/CHID values for the different SKUs, so DtbLoader should be able to pick the correct dtb, once it exists. BR, -R > * Touchscreen > > Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com> > --- > arch/arm64/boot/dts/qcom/Makefile | 1 + > .../dts/qcom/x1e80100-dell-tributo-13.dts | 860 ++++++++++++++++++ > 2 files changed, 861 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > index ae002c7cf126..111c589d6bae 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-tributo-13.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-tributo-13.dts b/arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts > new file mode 100644 > index 000000000000..d387f133c398 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts > @@ -0,0 +1,860 @@ > +// 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,tributo-13", "qcom,x1e80100"; > + chassis-type = "laptop"; > + > + 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; > + }; > + }; > + > + vph_pwr: vph-pwr-regulator { > + compatible = "regulator-fixed"; > + > + regulator-name = "vph_pwr"; > + regulator-min-microvolt = <3700000>; > + regulator-max-microvolt = <3700000>; > + > + regulator-always-on; > + regulator-boot-on; > + }; > + > + 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"; > + }; > +}; > + > +&apps_rsc { > + regulators-0 { > + compatible = "qcom,pm8550-rpmh-regulators"; > + qcom,pmic-id = "b"; > + vdd-bob1-supply = <&vph_pwr>; > + vdd-bob2-supply = <&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 = <&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 = <&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 = <&vph_pwr>; > + vdd-s2-supply = <&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 = <&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>; > + }; > + }; > +}; > + > +&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/tributo/qcadsp8380.mbn", > + "qcom/x1e80100/dell/tributo/adsp_dtbs.elf"; > + > + status = "okay"; > +}; > + > +&remoteproc_cdsp { > + firmware-name = "qcom/x1e80100/dell/tributo/qccdsp8380.mbn", > + "qcom/x1e80100/dell/tributo/cdsp_dtbs.elf"; > + > + status = "okay"; > +}; > + > +&gpu { > + status = "okay"; > + > + zap-shader { > + firmware-name = "qcom/x1e80100/dell/tributo/qcdxkmsuc8380.mbn"; > + }; > +}; > + > +&mdss { > + status = "okay"; > +}; > + > +&mdss_dp3 { > + compatible = "qcom,x1e80100-dp"; > + /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"; > +}; > + > +&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"; > + /* Unknown device @0x3b */ > +}; > + > +&i2c7 { > + clock-frequency = <400000>; > + status = "disabled"; > + /* PS8830 Retimer @0x8 */ > + /* Unknown device @0x9 */ > +}; > + > +&i2c8 { > + clock-frequency = <400000>; > + > + status = "okay"; > + > + touchscreen@0 { > + compatible = "hid-over-i2c"; > + reg = <0x0>; > + > + 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; > + }; > +}; > + > +&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 */ > + > + edp_reg_en: edp-reg-en-state { > + pins = "gpio70"; > + function = "gpio"; > + drive-strength = <16>; > + 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; > + }; > + > + 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>; > + }; > + }; > + > + hall_int_n_default: hall-int-n-state { > + pins = "gpio92"; > + function = "gpio"; > + > + 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; > + }; > + }; > + > + cam_indicator_en: cam-indicator-en-state { > + pins = "gpio110"; > + function = "gpio"; > + drive-strength = <2>; > + bias-disable; > + }; > +}; > + > +&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 [flat|nested] 12+ messages in thread
* Re: [PATCH v1 3/3] arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345 2024-09-20 17:25 ` Rob Clark @ 2024-09-21 12:16 ` alex vinarskis 2024-09-21 15:07 ` Rob Clark 0 siblings, 1 reply; 12+ messages in thread From: alex vinarskis @ 2024-09-21 12:16 UTC (permalink / raw) To: Rob Clark Cc: Bjorn Andersson, Krzysztof Kozlowski, Dmitry Baryshkov, linux-arm-msm, devicetree, linux-kernel, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Rob Clark, Peter de Kraker On Sat, 21 Sept 2024 at 00:25, Rob Clark <robdclark@gmail.com> wrote: > > On Thu, Sep 19, 2024 at 10:01 AM Aleksandrs Vinarskis > <alex.vinarskis@gmail.com> wrote: > > > > Initial support for Dell XPS 9345 13" 2024 (Tributo) based on X1E80100. > > > > Working: > > * Touchpad > > * Keyboard (only post suspend&resume, i2c-hid patch WIP) > > * eDP, 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) > > * Fingerprint Reader (WIP, USB MP with ptn3222) > > * USB as DP/USB3 (WIP, PS8830 based) > > * Camera > > * Battery Info > > > > Should be working, but cannot be tested due to lack of hw: > > * Higher res OLED, higher res IPS panels > > My suspicion is that OLED vs IPS will require different dtb. I'm > expecting the OLED to use samsung,atna33xc20 panel driver (see "arm64: > dts: qcom: x1e80100-yoga: Update panel bindings"), but IPS can > probably use edp-panel. I'm not sure if anyone has gotten both panels > working on any other device that has both IPS and OLED variants, so > this remains a theory. The t14s, which also has both IPS and OLED, > has different DMI/CHID values for the different SKUs, so DtbLoader > should be able to pick the correct dtb, once it exists. Thanks for the input. Will take a look at that driver. I have briefly looked into .inf from Dell's Windows driver trying to identify them - all three panels have dell-specific model naming, which unfortunately does not help much. As far as I found from unofficial sources (1), the particular OLED is LG made, not Samsung. Luckily, Peter de Kraker (CCed) has reached out to me yesterday as he got an OLED variant - will test on his machine in the following weeks, as well as record CHIDs once he is able to boot with a working display. Sounds rather unscalable though if each variant of laptop would need a separate dtb? Eg. Dell's Inspiron model supports both x1e80 and x1e78 (luckily no OLEDs though). If some OEM would release a model with both displays and SoCs customizable, the number of variants would grow pretty fast... [1] https://www.thelec.net/news/articleView.html?idxno=4858 Alex > > BR, > -R > > > * Touchscreen > > > > Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com> > > --- > > arch/arm64/boot/dts/qcom/Makefile | 1 + > > .../dts/qcom/x1e80100-dell-tributo-13.dts | 860 ++++++++++++++++++ > > 2 files changed, 861 insertions(+) > > create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts > > > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > > index ae002c7cf126..111c589d6bae 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-tributo-13.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-tributo-13.dts b/arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts > > new file mode 100644 > > index 000000000000..d387f133c398 > > --- /dev/null > > +++ b/arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts > > @@ -0,0 +1,860 @@ > > +// 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,tributo-13", "qcom,x1e80100"; > > + chassis-type = "laptop"; > > + > > + 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; > > + }; > > + }; > > + > > + vph_pwr: vph-pwr-regulator { > > + compatible = "regulator-fixed"; > > + > > + regulator-name = "vph_pwr"; > > + regulator-min-microvolt = <3700000>; > > + regulator-max-microvolt = <3700000>; > > + > > + regulator-always-on; > > + regulator-boot-on; > > + }; > > + > > + 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"; > > + }; > > +}; > > + > > +&apps_rsc { > > + regulators-0 { > > + compatible = "qcom,pm8550-rpmh-regulators"; > > + qcom,pmic-id = "b"; > > + vdd-bob1-supply = <&vph_pwr>; > > + vdd-bob2-supply = <&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 = <&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 = <&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 = <&vph_pwr>; > > + vdd-s2-supply = <&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 = <&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>; > > + }; > > + }; > > +}; > > + > > +&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/tributo/qcadsp8380.mbn", > > + "qcom/x1e80100/dell/tributo/adsp_dtbs.elf"; > > + > > + status = "okay"; > > +}; > > + > > +&remoteproc_cdsp { > > + firmware-name = "qcom/x1e80100/dell/tributo/qccdsp8380.mbn", > > + "qcom/x1e80100/dell/tributo/cdsp_dtbs.elf"; > > + > > + status = "okay"; > > +}; > > + > > +&gpu { > > + status = "okay"; > > + > > + zap-shader { > > + firmware-name = "qcom/x1e80100/dell/tributo/qcdxkmsuc8380.mbn"; > > + }; > > +}; > > + > > +&mdss { > > + status = "okay"; > > +}; > > + > > +&mdss_dp3 { > > + compatible = "qcom,x1e80100-dp"; > > + /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"; > > +}; > > + > > +&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"; > > + /* Unknown device @0x3b */ > > +}; > > + > > +&i2c7 { > > + clock-frequency = <400000>; > > + status = "disabled"; > > + /* PS8830 Retimer @0x8 */ > > + /* Unknown device @0x9 */ > > +}; > > + > > +&i2c8 { > > + clock-frequency = <400000>; > > + > > + status = "okay"; > > + > > + touchscreen@0 { > > + compatible = "hid-over-i2c"; > > + reg = <0x0>; > > + > > + 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; > > + }; > > +}; > > + > > +&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 */ > > + > > + edp_reg_en: edp-reg-en-state { > > + pins = "gpio70"; > > + function = "gpio"; > > + drive-strength = <16>; > > + 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; > > + }; > > + > > + 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>; > > + }; > > + }; > > + > > + hall_int_n_default: hall-int-n-state { > > + pins = "gpio92"; > > + function = "gpio"; > > + > > + 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; > > + }; > > + }; > > + > > + cam_indicator_en: cam-indicator-en-state { > > + pins = "gpio110"; > > + function = "gpio"; > > + drive-strength = <2>; > > + bias-disable; > > + }; > > +}; > > + > > +&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 [flat|nested] 12+ messages in thread
* Re: [PATCH v1 3/3] arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345 2024-09-21 12:16 ` alex vinarskis @ 2024-09-21 15:07 ` Rob Clark 0 siblings, 0 replies; 12+ messages in thread From: Rob Clark @ 2024-09-21 15:07 UTC (permalink / raw) To: alex vinarskis Cc: Bjorn Andersson, Krzysztof Kozlowski, Dmitry Baryshkov, linux-arm-msm, devicetree, linux-kernel, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Rob Clark, Peter de Kraker On Sat, Sep 21, 2024 at 5:16 AM alex vinarskis <alex.vinarskis@gmail.com> wrote: > > On Sat, 21 Sept 2024 at 00:25, Rob Clark <robdclark@gmail.com> wrote: > > > > On Thu, Sep 19, 2024 at 10:01 AM Aleksandrs Vinarskis > > <alex.vinarskis@gmail.com> wrote: > > > > > > Initial support for Dell XPS 9345 13" 2024 (Tributo) based on X1E80100. > > > > > > Working: > > > * Touchpad > > > * Keyboard (only post suspend&resume, i2c-hid patch WIP) > > > * eDP, 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) > > > * Fingerprint Reader (WIP, USB MP with ptn3222) > > > * USB as DP/USB3 (WIP, PS8830 based) > > > * Camera > > > * Battery Info > > > > > > Should be working, but cannot be tested due to lack of hw: > > > * Higher res OLED, higher res IPS panels > > > > My suspicion is that OLED vs IPS will require different dtb. I'm > > expecting the OLED to use samsung,atna33xc20 panel driver (see "arm64: > > dts: qcom: x1e80100-yoga: Update panel bindings"), but IPS can > > probably use edp-panel. I'm not sure if anyone has gotten both panels > > working on any other device that has both IPS and OLED variants, so > > this remains a theory. The t14s, which also has both IPS and OLED, > > has different DMI/CHID values for the different SKUs, so DtbLoader > > should be able to pick the correct dtb, once it exists. > > Thanks for the input. > > Will take a look at that driver. I have briefly looked into .inf from > Dell's Windows driver trying to identify them - all three panels have > dell-specific model naming, which unfortunately does not help much. As > far as I found from unofficial sources (1), the particular OLED is LG > made, not Samsung. Ok, if it is not a samsung panel, then maybe panel-edp will work. So far all the OLEDs I've seen are samsung, and they have a different power sequence (hence needing different panel driver) > Luckily, Peter de Kraker (CCed) has reached out to me yesterday as he > got an OLED variant - will test on his machine in the following weeks, > as well as record CHIDs once he is able to boot with a working > display. Sounds rather unscalable though if each variant of laptop > would need a separate dtb? Eg. Dell's Inspiron model supports both > x1e80 and x1e78 (luckily no OLEDs though). If some OEM would release a > model with both displays and SoCs customizable, the number of variants > would grow pretty fast... So far, it is just the samsung panel vs everyone else, where we would need different dtb. Maybe we come up with other variants, we'll see as time goes on, but it shouldn't need to be for _every_ variant. For the panel, edid-decode will tell us the panel name/vendor, ie. something like: cat /sys/devices/platform/soc@0/ae00000.display-subsystem/ae01000.display-controller/drm/card0/card0-eDP-1/edid | edid-decode BR, -R > [1] https://www.thelec.net/news/articleView.html?idxno=4858 > > Alex > > > > > BR, > > -R > > > > > * Touchscreen > > > > > > Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com> > > > --- > > > arch/arm64/boot/dts/qcom/Makefile | 1 + > > > .../dts/qcom/x1e80100-dell-tributo-13.dts | 860 ++++++++++++++++++ > > > 2 files changed, 861 insertions(+) > > > create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts > > > > > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > > > index ae002c7cf126..111c589d6bae 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-tributo-13.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-tributo-13.dts b/arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts > > > new file mode 100644 > > > index 000000000000..d387f133c398 > > > --- /dev/null > > > +++ b/arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts > > > @@ -0,0 +1,860 @@ > > > +// 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,tributo-13", "qcom,x1e80100"; > > > + chassis-type = "laptop"; > > > + > > > + 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; > > > + }; > > > + }; > > > + > > > + vph_pwr: vph-pwr-regulator { > > > + compatible = "regulator-fixed"; > > > + > > > + regulator-name = "vph_pwr"; > > > + regulator-min-microvolt = <3700000>; > > > + regulator-max-microvolt = <3700000>; > > > + > > > + regulator-always-on; > > > + regulator-boot-on; > > > + }; > > > + > > > + 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"; > > > + }; > > > +}; > > > + > > > +&apps_rsc { > > > + regulators-0 { > > > + compatible = "qcom,pm8550-rpmh-regulators"; > > > + qcom,pmic-id = "b"; > > > + vdd-bob1-supply = <&vph_pwr>; > > > + vdd-bob2-supply = <&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 = <&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 = <&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 = <&vph_pwr>; > > > + vdd-s2-supply = <&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 = <&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>; > > > + }; > > > + }; > > > +}; > > > + > > > +&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/tributo/qcadsp8380.mbn", > > > + "qcom/x1e80100/dell/tributo/adsp_dtbs.elf"; > > > + > > > + status = "okay"; > > > +}; > > > + > > > +&remoteproc_cdsp { > > > + firmware-name = "qcom/x1e80100/dell/tributo/qccdsp8380.mbn", > > > + "qcom/x1e80100/dell/tributo/cdsp_dtbs.elf"; > > > + > > > + status = "okay"; > > > +}; > > > + > > > +&gpu { > > > + status = "okay"; > > > + > > > + zap-shader { > > > + firmware-name = "qcom/x1e80100/dell/tributo/qcdxkmsuc8380.mbn"; > > > + }; > > > +}; > > > + > > > +&mdss { > > > + status = "okay"; > > > +}; > > > + > > > +&mdss_dp3 { > > > + compatible = "qcom,x1e80100-dp"; > > > + /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"; > > > +}; > > > + > > > +&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"; > > > + /* Unknown device @0x3b */ > > > +}; > > > + > > > +&i2c7 { > > > + clock-frequency = <400000>; > > > + status = "disabled"; > > > + /* PS8830 Retimer @0x8 */ > > > + /* Unknown device @0x9 */ > > > +}; > > > + > > > +&i2c8 { > > > + clock-frequency = <400000>; > > > + > > > + status = "okay"; > > > + > > > + touchscreen@0 { > > > + compatible = "hid-over-i2c"; > > > + reg = <0x0>; > > > + > > > + 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; > > > + }; > > > +}; > > > + > > > +&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 */ > > > + > > > + edp_reg_en: edp-reg-en-state { > > > + pins = "gpio70"; > > > + function = "gpio"; > > > + drive-strength = <16>; > > > + 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; > > > + }; > > > + > > > + 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>; > > > + }; > > > + }; > > > + > > > + hall_int_n_default: hall-int-n-state { > > > + pins = "gpio92"; > > > + function = "gpio"; > > > + > > > + 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; > > > + }; > > > + }; > > > + > > > + cam_indicator_en: cam-indicator-en-state { > > > + pins = "gpio110"; > > > + function = "gpio"; > > > + drive-strength = <2>; > > > + bias-disable; > > > + }; > > > +}; > > > + > > > +&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 [flat|nested] 12+ messages in thread
* Re: [PATCH v1 0/3] X1E Dell XPS 9345 support 2024-09-19 16:59 [PATCH v1 0/3] X1E Dell XPS 9345 support Aleksandrs Vinarskis ` (2 preceding siblings ...) 2024-09-19 16:59 ` [PATCH v1 3/3] arm64: dts: qcom: Add support for X1-based " Aleksandrs Vinarskis @ 2024-09-19 18:18 ` Rob Herring (Arm) 3 siblings, 0 replies; 12+ messages in thread From: Rob Herring (Arm) @ 2024-09-19 18:18 UTC (permalink / raw) To: Aleksandrs Vinarskis Cc: Krzysztof Kozlowski, Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov, Bjorn Andersson, linux-arm-msm, Konrad Dybcio, linux-kernel, devicetree On Thu, 19 Sep 2024 18:59:31 +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, although this required additional > patches, namely harcode GPU chipid, apply [2] and _revert_ [3] - same as in Abel > Vesa's branches. Without last two the boot process is terminated by TZ. 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 > [2] https://lore.kernel.org/all/20240830-x1e80100-bypass-pdc-v1-1-d4c00be0c3e3@linaro.org/ > [3] https://lore.kernel.org/all/20240708-x1e80100-pd-mapper-v1-1-854386af4cf5@linaro.org/ > > 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-tributo-13.dts | 860 ++++++++++++++++++ > drivers/firmware/qcom/qcom_scm.c | 1 + > 4 files changed, 863 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.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-tributo-13.dtb' for 20240919170018.13672-1-alex.vinarskis@gmail.com: arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.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-tributo-13.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-tributo-13.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] 12+ messages in thread
end of thread, other threads:[~2024-09-21 15:07 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-09-19 16:59 [PATCH v1 0/3] X1E Dell XPS 9345 support Aleksandrs Vinarskis 2024-09-19 16:59 ` [PATCH v1 1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345 Aleksandrs Vinarskis 2024-09-20 12:53 ` Krzysztof Kozlowski 2024-09-19 16:59 ` [PATCH v1 2/3] firmware: qcom: scm: Allow QSEECOM on " Aleksandrs Vinarskis 2024-09-19 19:58 ` Dmitry Baryshkov 2024-09-20 12:49 ` Krzysztof Kozlowski 2024-09-19 16:59 ` [PATCH v1 3/3] arm64: dts: qcom: Add support for X1-based " Aleksandrs Vinarskis 2024-09-20 12:52 ` Krzysztof Kozlowski 2024-09-20 17:25 ` Rob Clark 2024-09-21 12:16 ` alex vinarskis 2024-09-21 15:07 ` Rob Clark 2024-09-19 18:18 ` [PATCH v1 0/3] X1E Dell XPS 9345 support Rob Herring (Arm)
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox