* [PATCH v2 0/6] arm64: dts: qcom: x1e80100-vivobook-s15: add more missing features
@ 2025-11-16 10:52 Maud Spierings via B4 Relay
2025-11-16 10:52 ` [PATCH v2 1/6] dt-bindings: display: bridge: simple: document the Parade PS185HDM DP-to-HDMI bridge Maud Spierings via B4 Relay
` (6 more replies)
0 siblings, 7 replies; 20+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-11-16 10:52 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm,
Maud Spierings, Dmitry Baryshkov, Krzysztof Kozlowski
There are still many missing features on this machine, add the ps8830
retimers for display over usb-c, the simple bridge/HDMI port and set up
to use IRIS.
Currently IRIS gives a ETIMEDOUT, not sure what that is coming from.
lots of these patches are very strongly based on the work of other
maintainers of these snapdragon machines, like the HDMI part on that of
Neil Armstrong, many thanks to those who laid the baseline for me to
follow.
Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
---
Changes in v2:
- Fix the place of the rtmr regs to maintain alphabetical order
- Link to v1: https://lore.kernel.org/r/20251101-asus_usbc_dp-v1-0-9fd4eb9935e8@hotmail.com
---
Maud Spierings (6):
dt-bindings: display: bridge: simple: document the Parade PS185HDM DP-to-HDMI bridge
drm/bridge: simple: add the Parade PS185HDM DP-to-HDMI bridge
arm64: dts: qcom: x1e80100-vivobook-s15: enable ps8830 retimers
arm64: dts: qcom: x1e80100-vivobook-s15: add HDMI port
arm64: dts: qcom: x1e80100-vivobook-s15: add charge limit nvmem
arm64: dts: qcom: x1e80100-vivobook-s15: enable IRIS
.../bindings/display/bridge/simple-bridge.yaml | 1 +
.../boot/dts/qcom/x1e80100-asus-vivobook-s15.dts | 402 ++++++++++++++++++++-
drivers/gpu/drm/bridge/simple-bridge.c | 5 +
3 files changed, 400 insertions(+), 8 deletions(-)
---
base-commit: 98bd8b16ae57e8f25c95d496fcde3dfdd8223d41
change-id: 20250614-asus_usbc_dp-0203a242c698
prerequisite-message-id: <20251013-topic-x1e80100-hdmi-v6-0-3a9c8f7506d6@linaro.org>
prerequisite-patch-id: 5af0a76cad087e18b0a2f771a78d030f9bf3bd68
prerequisite-patch-id: 5b908c1f0c5a0c52da384a181a75f17c5e2d19b5
prerequisite-patch-id: ed40af8d7e99a3f1bcb33b4c678b5f21b0618612
Best regards,
--
Maud Spierings <maud_spierings@hotmail.com>
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v2 1/6] dt-bindings: display: bridge: simple: document the Parade PS185HDM DP-to-HDMI bridge
2025-11-16 10:52 [PATCH v2 0/6] arm64: dts: qcom: x1e80100-vivobook-s15: add more missing features Maud Spierings via B4 Relay
@ 2025-11-16 10:52 ` Maud Spierings via B4 Relay
2025-11-16 10:52 ` [PATCH v2 2/6] drm/bridge: simple: add " Maud Spierings via B4 Relay
` (5 subsequent siblings)
6 siblings, 0 replies; 20+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-11-16 10:52 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm,
Maud Spierings, Krzysztof Kozlowski
From: Maud Spierings <maud_spierings@hotmail.com>
The Parade PS185HDM is a transparent Displayport to HDMI bridge.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
---
Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml b/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml
index 9ef587d46506..950268632370 100644
--- a/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml
@@ -28,6 +28,7 @@ properties:
- enum:
- adi,adv7123
- dumb-vga-dac
+ - parade,ps185hdm
- radxa,ra620
- realtek,rtd2171
- ti,opa362
--
2.51.2
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 2/6] drm/bridge: simple: add the Parade PS185HDM DP-to-HDMI bridge
2025-11-16 10:52 [PATCH v2 0/6] arm64: dts: qcom: x1e80100-vivobook-s15: add more missing features Maud Spierings via B4 Relay
2025-11-16 10:52 ` [PATCH v2 1/6] dt-bindings: display: bridge: simple: document the Parade PS185HDM DP-to-HDMI bridge Maud Spierings via B4 Relay
@ 2025-11-16 10:52 ` Maud Spierings via B4 Relay
2025-11-16 10:52 ` [PATCH v2 3/6] arm64: dts: qcom: x1e80100-vivobook-s15: enable ps8830 retimers Maud Spierings via B4 Relay
` (4 subsequent siblings)
6 siblings, 0 replies; 20+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-11-16 10:52 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm,
Maud Spierings, Dmitry Baryshkov
From: Maud Spierings <maud_spierings@hotmail.com>
The Parade PS185HDM is a transparent Displayport to HDMI bridge.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
---
drivers/gpu/drm/bridge/simple-bridge.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/gpu/drm/bridge/simple-bridge.c b/drivers/gpu/drm/bridge/simple-bridge.c
index e4d0bc2200f8..90abda199cea 100644
--- a/drivers/gpu/drm/bridge/simple-bridge.c
+++ b/drivers/gpu/drm/bridge/simple-bridge.c
@@ -261,6 +261,11 @@ static const struct of_device_id simple_bridge_match[] = {
.timings = &default_bridge_timings,
.connector_type = DRM_MODE_CONNECTOR_VGA,
},
+ }, {
+ .compatible = "parade,ps185hdm",
+ .data = &(const struct simple_bridge_info) {
+ .connector_type = DRM_MODE_CONNECTOR_HDMIA,
+ },
}, {
.compatible = "radxa,ra620",
.data = &(const struct simple_bridge_info) {
--
2.51.2
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 3/6] arm64: dts: qcom: x1e80100-vivobook-s15: enable ps8830 retimers
2025-11-16 10:52 [PATCH v2 0/6] arm64: dts: qcom: x1e80100-vivobook-s15: add more missing features Maud Spierings via B4 Relay
2025-11-16 10:52 ` [PATCH v2 1/6] dt-bindings: display: bridge: simple: document the Parade PS185HDM DP-to-HDMI bridge Maud Spierings via B4 Relay
2025-11-16 10:52 ` [PATCH v2 2/6] drm/bridge: simple: add " Maud Spierings via B4 Relay
@ 2025-11-16 10:52 ` Maud Spierings via B4 Relay
2025-11-17 12:58 ` Konrad Dybcio
2025-11-16 10:52 ` [PATCH v2 4/6] arm64: dts: qcom: x1e80100-vivobook-s15: add HDMI port Maud Spierings via B4 Relay
` (3 subsequent siblings)
6 siblings, 1 reply; 20+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-11-16 10:52 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm,
Maud Spierings
From: Maud Spierings <maud_spierings@hotmail.com>
The Asus vivobook s15 has two usb type c ports on the left side, these
use parade ps8830 retimers like the others, enable them to also enable
dp altmode
Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
---
.../boot/dts/qcom/x1e80100-asus-vivobook-s15.dts | 310 ++++++++++++++++++++-
1 file changed, 302 insertions(+), 8 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
index d4df21de0d95..ea8ad67e511f 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
@@ -69,7 +69,15 @@ port@1 {
reg = <1>;
pmic_glink_ss0_ss_in: endpoint {
- remote-endpoint = <&usb_1_ss0_qmpphy_out>;
+ remote-endpoint = <&retimer_ss0_ss_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ pmic_glink_ss0_con_sbu_in: endpoint {
+ remote-endpoint = <&retimer_ss0_con_sbu_out>;
};
};
};
@@ -98,7 +106,15 @@ port@1 {
reg = <1>;
pmic_glink_ss1_ss_in: endpoint {
- remote-endpoint = <&usb_1_ss1_qmpphy_out>;
+ remote-endpoint = <&retimer_ss1_ss_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ pmic_glink_ss1_con_sbu_in: endpoint {
+ remote-endpoint = <&retimer_ss1_con_sbu_out>;
};
};
};
@@ -147,6 +163,102 @@ vreg_nvme: regulator-nvme {
regulator-boot-on;
};
+ vreg_rtmr0_1p15: regulator-rtmr0-1p15 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR0_1P15";
+ regulator-min-microvolt = <1150000>;
+ regulator-max-microvolt = <1150000>;
+
+ gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&usb0_pwr_1p15_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_rtmr0_1p8: regulator-rtmr0-1p8 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR0_1P8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&usb0_1p8_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_rtmr0_3p3: regulator-rtmr0-3p3 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR0_3P3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&usb0_3p3_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_rtmr1_1p15: regulator-rtmr1-1p15 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR1_1P15";
+ regulator-min-microvolt = <1150000>;
+ regulator-max-microvolt = <1150000>;
+
+ gpio = <&tlmm 188 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&usb1_pwr_1p15_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_rtmr1_1p8: regulator-rtmr1-1p8 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR1_1P8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ gpio = <&tlmm 175 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&usb1_pwr_1p8_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_rtmr1_3p3: regulator-rtmr1-3p3 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR1_3P3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&tlmm 186 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&usb1_pwr_3p3_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
vph_pwr: regulator-vph-pwr {
compatible = "regulator-fixed";
@@ -506,15 +618,62 @@ touchpad@15 {
&i2c1 {
clock-frequency = <400000>;
status = "okay";
-
- /* PS8830 USB4 Retimer? @ 0x8 */
};
&i2c3 {
clock-frequency = <400000>;
status = "okay";
- /* PS8830 USB4 Retimer? @ 0x8 */
+ typec-mux@8 {
+ compatible = "parade,ps8830";
+ reg = <0x08>;
+
+ clocks = <&rpmhcc RPMH_RF_CLK3>;
+
+ vdd-supply = <&vreg_rtmr0_1p15>;
+ vdd33-supply = <&vreg_rtmr0_3p3>;
+ vdd33-cap-supply = <&vreg_rtmr0_3p3>;
+ vddar-supply = <&vreg_rtmr0_1p15>;
+ vddat-supply = <&vreg_rtmr0_1p15>;
+ vddio-supply = <&vreg_rtmr0_1p8>;
+
+ reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;
+
+ pinctrl-0 = <&rtmr0_default>;
+ pinctrl-names = "default";
+
+ orientation-switch;
+ retimer-switch;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ retimer_ss0_ss_out: endpoint {
+ remote-endpoint = <&pmic_glink_ss0_ss_in>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ retimer_ss0_ss_in: endpoint {
+ remote-endpoint = <&usb_1_ss0_qmpphy_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ retimer_ss0_con_sbu_out: endpoint {
+ remote-endpoint = <&pmic_glink_ss0_con_sbu_in>;
+ };
+ };
+ };
+ };
};
&i2c5 {
@@ -583,13 +742,78 @@ &i2c7 {
clock-frequency = <400000>;
status = "okay";
- /* PS8830 USB4 Retimer? @ 0x8 */
+ typec-mux@8 {
+ compatible = "parade,ps8830";
+ reg = <0x8>;
+
+ clocks = <&rpmhcc RPMH_RF_CLK4>;
+
+ vdd-supply = <&vreg_rtmr1_1p15>;
+ vdd33-supply = <&vreg_rtmr1_3p3>;
+ vdd33-cap-supply = <&vreg_rtmr1_3p3>;
+ vddar-supply = <&vreg_rtmr1_1p15>;
+ vddat-supply = <&vreg_rtmr1_1p15>;
+ vddio-supply = <&vreg_rtmr1_1p8>;
+
+ reset-gpios = <&tlmm 176 GPIO_ACTIVE_LOW>;
+
+ pinctrl-0 = <&rtmr1_default>;
+ pinctrl-names = "default";
+
+ retimer-switch;
+ orientation-switch;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ retimer_ss1_ss_out: endpoint {
+ remote-endpoint = <&pmic_glink_ss1_ss_in>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ retimer_ss1_ss_in: endpoint {
+ remote-endpoint = <&usb_1_ss1_qmpphy_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ retimer_ss1_con_sbu_out: endpoint {
+ remote-endpoint = <&pmic_glink_ss1_con_sbu_in>;
+ };
+ };
+ };
+ };
};
&mdss {
status = "okay";
};
+&mdss_dp0 {
+ status = "okay";
+};
+
+&mdss_dp0_out {
+ link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+};
+
+&mdss_dp1 {
+ status = "okay";
+};
+
+&mdss_dp1_out {
+ link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+};
+
&mdss_dp3 {
/delete-property/ #sound-dai-cells;
@@ -683,6 +907,37 @@ &pcie6a_phy {
status = "okay";
};
+&pm8550_gpios {
+ rtmr0_default: rtmr0-reset-n-active-state {
+ pins = "gpio10";
+ function = "normal";
+ power-source = <1>; /* 1.8V */
+ bias-disable;
+ input-disable;
+ output-enable;
+ };
+
+ usb0_3p3_reg_en: usb0-3p3-reg-en-state {
+ pins = "gpio11";
+ function = "normal";
+ power-source = <1>; /* 1.8V */
+ bias-disable;
+ input-disable;
+ output-enable;
+ };
+};
+
+&pm8550ve_9_gpios {
+ usb0_1p8_reg_en: usb0-1p8-reg-en-state {
+ pins = "gpio8";
+ function = "normal";
+ power-source = <1>; /* 1.8V */
+ bias-disable;
+ input-disable;
+ output-enable;
+ };
+};
+
&pmc8380_3_gpios {
edp_bl_en: edp-bl-en-state {
pins = "gpio4";
@@ -695,6 +950,17 @@ edp_bl_en: edp-bl-en-state {
};
};
+&pmc8380_5_gpios {
+ usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state {
+ pins = "gpio8";
+ function = "normal";
+ power-source = <1>; /* 1.8V */
+ bias-disable;
+ input-disable;
+ output-enable;
+ };
+};
+
&qupv3_0 {
status = "okay";
};
@@ -840,12 +1106,40 @@ wake-n-pins {
};
};
+ rtmr1_default: rtmr1-reset-n-active-state {
+ pins = "gpio176";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
tpad_default: tpad-default-state {
pins = "gpio3";
function = "gpio";
bias-disable;
};
+ usb1_pwr_1p15_reg_en: usb1-pwr-1p15-reg-en-state {
+ pins = "gpio188";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ usb1_pwr_1p8_reg_en: usb1-pwr-1p8-reg-en-state {
+ pins = "gpio175";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ usb1_pwr_3p3_reg_en: usb1-pwr-3p3-reg-en-state {
+ pins = "gpio186";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
wcn_bt_en: wcn-bt-en-state {
pins = "gpio116";
function = "gpio";
@@ -914,7 +1208,7 @@ &usb_1_ss0_dwc3_hs {
};
&usb_1_ss0_qmpphy_out {
- remote-endpoint = <&pmic_glink_ss0_ss_in>;
+ remote-endpoint = <&retimer_ss0_ss_in>;
};
&usb_1_ss1_hsphy {
@@ -946,7 +1240,7 @@ &usb_1_ss1_dwc3_hs {
};
&usb_1_ss1_qmpphy_out {
- remote-endpoint = <&pmic_glink_ss1_ss_in>;
+ remote-endpoint = <&retimer_ss1_ss_in>;
};
&usb_2 {
--
2.51.2
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 4/6] arm64: dts: qcom: x1e80100-vivobook-s15: add HDMI port
2025-11-16 10:52 [PATCH v2 0/6] arm64: dts: qcom: x1e80100-vivobook-s15: add more missing features Maud Spierings via B4 Relay
` (2 preceding siblings ...)
2025-11-16 10:52 ` [PATCH v2 3/6] arm64: dts: qcom: x1e80100-vivobook-s15: enable ps8830 retimers Maud Spierings via B4 Relay
@ 2025-11-16 10:52 ` Maud Spierings via B4 Relay
2025-11-24 11:50 ` Konrad Dybcio
2025-11-16 10:52 ` [PATCH v2 5/6] arm64: dts: qcom: x1e80100-vivobook-s15: add charge limit nvmem Maud Spierings via B4 Relay
` (2 subsequent siblings)
6 siblings, 1 reply; 20+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-11-16 10:52 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm,
Maud Spierings
From: Maud Spierings <maud_spierings@hotmail.com>
Enable the HDMI port on left side of the laptop.
The display signal is routed through a simple Displayport to HDMI
bridge.
Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
---
.../boot/dts/qcom/x1e80100-asus-vivobook-s15.dts | 81 ++++++++++++++++++++++
1 file changed, 81 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
index ea8ad67e511f..d5794189b98b 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
@@ -37,6 +37,45 @@ switch-lid {
};
};
+ hdmi-bridge {
+ compatible = "parade,ps185hdm";
+
+ pinctrl-0 = <&hdmi_hpd_default>;
+ pinctrl-names = "default";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ hdmi_bridge_dp_in: endpoint {
+ remote-endpoint = <&usb_1_ss2_qmpphy_out_dp>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ hdmi_bridge_tmds_out: endpoint {
+ remote-endpoint = <&hdmi_con>;
+ };
+ };
+ };
+ };
+
+ hdmi-connector {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi_con: endpoint {
+ remote-endpoint = <&hdmi_bridge_tmds_out>;
+ };
+ };
+ };
+
pmic-glink {
compatible = "qcom,x1e80100-pmic-glink",
"qcom,sm8550-pmic-glink",
@@ -814,6 +853,14 @@ &mdss_dp1_out {
link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
};
+&mdss_dp2 {
+ status = "okay";
+};
+
+&mdss_dp2_out {
+ link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+};
+
&mdss_dp3 {
/delete-property/ #sound-dai-cells;
@@ -1047,6 +1094,12 @@ hall_int_n_default: hall-int-n-state {
bias-disable;
};
+ hdmi_hpd_default: hdmi-hpd-default-state {
+ pins = "gpio126";
+ function = "usb2_dp";
+ bias-disable;
+ };
+
kybd_default: kybd-default-state {
pins = "gpio67";
function = "gpio";
@@ -1243,6 +1296,34 @@ &usb_1_ss1_qmpphy_out {
remote-endpoint = <&retimer_ss1_ss_in>;
};
+&usb_1_ss2_qmpphy {
+ vdda-phy-supply = <&vreg_l2j_1p2>;
+ vdda-pll-supply = <&vreg_l2d_0p9>;
+
+ /delete-property/ mode-switch;
+ /delete-property/ orientation-switch;
+
+ status = "okay";
+
+ ports {
+ port@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /delete-node/ endpoint;
+
+ usb_1_ss2_qmpphy_out_dp: endpoint@0 {
+ reg = <0>;
+
+ data-lanes = <3 2 1 0>;
+ remote-endpoint = <&hdmi_bridge_dp_in>;
+ };
+
+ /* No USB3 lanes connected */
+ };
+ };
+};
+
&usb_2 {
status = "okay";
};
--
2.51.2
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 5/6] arm64: dts: qcom: x1e80100-vivobook-s15: add charge limit nvmem
2025-11-16 10:52 [PATCH v2 0/6] arm64: dts: qcom: x1e80100-vivobook-s15: add more missing features Maud Spierings via B4 Relay
` (3 preceding siblings ...)
2025-11-16 10:52 ` [PATCH v2 4/6] arm64: dts: qcom: x1e80100-vivobook-s15: add HDMI port Maud Spierings via B4 Relay
@ 2025-11-16 10:52 ` Maud Spierings via B4 Relay
2025-11-17 12:59 ` Konrad Dybcio
2025-11-16 10:52 ` [PATCH v2 6/6] arm64: dts: qcom: x1e80100-vivobook-s15: enable IRIS Maud Spierings via B4 Relay
2025-11-16 11:36 ` (subset) [PATCH v2 0/6] arm64: dts: qcom: x1e80100-vivobook-s15: add more missing features Dmitry Baryshkov
6 siblings, 1 reply; 20+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-11-16 10:52 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm,
Maud Spierings
From: Maud Spierings <maud_spierings@hotmail.com>
Add nvmem cells for getting charge control thresholds if they have
been set previously.
Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
---
arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
index d5794189b98b..2d9b812d299e 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
@@ -82,6 +82,12 @@ pmic-glink {
"qcom,pmic-glink";
orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
<&tlmm 123 GPIO_ACTIVE_HIGH>;
+ nvmem-cells = <&charge_limit_en>,
+ <&charge_limit_end>,
+ <&charge_limit_delta>;
+ nvmem-cell-names = "charge_limit_en",
+ "charge_limit_end",
+ "charge_limit_delta";
#address-cells = <1>;
#size-cells = <0>;
--
2.51.2
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 6/6] arm64: dts: qcom: x1e80100-vivobook-s15: enable IRIS
2025-11-16 10:52 [PATCH v2 0/6] arm64: dts: qcom: x1e80100-vivobook-s15: add more missing features Maud Spierings via B4 Relay
` (4 preceding siblings ...)
2025-11-16 10:52 ` [PATCH v2 5/6] arm64: dts: qcom: x1e80100-vivobook-s15: add charge limit nvmem Maud Spierings via B4 Relay
@ 2025-11-16 10:52 ` Maud Spierings via B4 Relay
2025-11-17 12:59 ` Konrad Dybcio
2025-11-16 11:36 ` (subset) [PATCH v2 0/6] arm64: dts: qcom: x1e80100-vivobook-s15: add more missing features Dmitry Baryshkov
6 siblings, 1 reply; 20+ messages in thread
From: Maud Spierings via B4 Relay @ 2025-11-16 10:52 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm,
Maud Spierings, Dmitry Baryshkov
From: Maud Spierings <maud_spierings@hotmail.com>
Enable IRIS to allow using the hardware-accelerated video codecs. The
firmware is not upstream in linux-firmware yet, so users need to copy it
from Windows to qcom/x1e80100/ASUSTeK/vivobook-s15/qcvss8380.mbn (just like
GPU/ADSP/CDSP firmware).
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
---
arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
index 2d9b812d299e..7e57d5029a73 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
@@ -839,6 +839,11 @@ retimer_ss1_con_sbu_out: endpoint {
};
};
+&iris {
+ firmware-name = "qcom/x1e80100/ASUSTeK/vivobook-s15/qcvss8380.mbn";
+ status = "okay";
+};
+
&mdss {
status = "okay";
};
--
2.51.2
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: (subset) [PATCH v2 0/6] arm64: dts: qcom: x1e80100-vivobook-s15: add more missing features
2025-11-16 10:52 [PATCH v2 0/6] arm64: dts: qcom: x1e80100-vivobook-s15: add more missing features Maud Spierings via B4 Relay
` (5 preceding siblings ...)
2025-11-16 10:52 ` [PATCH v2 6/6] arm64: dts: qcom: x1e80100-vivobook-s15: enable IRIS Maud Spierings via B4 Relay
@ 2025-11-16 11:36 ` Dmitry Baryshkov
6 siblings, 0 replies; 20+ messages in thread
From: Dmitry Baryshkov @ 2025-11-16 11:36 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, David Airlie, Simona Vetter,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Maud Spierings
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm,
Krzysztof Kozlowski
On Sun, 16 Nov 2025 11:52:05 +0100, Maud Spierings wrote:
> There are still many missing features on this machine, add the ps8830
> retimers for display over usb-c, the simple bridge/HDMI port and set up
> to use IRIS.
>
> Currently IRIS gives a ETIMEDOUT, not sure what that is coming from.
>
> lots of these patches are very strongly based on the work of other
> maintainers of these snapdragon machines, like the HDMI part on that of
> Neil Armstrong, many thanks to those who laid the baseline for me to
> follow.
>
> [...]
Applied to drm-misc-next, thanks!
[1/6] dt-bindings: display: bridge: simple: document the Parade PS185HDM DP-to-HDMI bridge
commit: 07b391b6f99bc1e62f41e4ac249e7c82d46480aa
[2/6] drm/bridge: simple: add the Parade PS185HDM DP-to-HDMI bridge
commit: 92c49b3f4df8f9acfa95551ef38fc00c675319fd
Best regards,
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 3/6] arm64: dts: qcom: x1e80100-vivobook-s15: enable ps8830 retimers
2025-11-16 10:52 ` [PATCH v2 3/6] arm64: dts: qcom: x1e80100-vivobook-s15: enable ps8830 retimers Maud Spierings via B4 Relay
@ 2025-11-17 12:58 ` Konrad Dybcio
0 siblings, 0 replies; 20+ messages in thread
From: Konrad Dybcio @ 2025-11-17 12:58 UTC (permalink / raw)
To: maud_spierings, Andrzej Hajda, Neil Armstrong, Robert Foss,
Laurent Pinchart, Jonas Karlman, Jernej Skrabec, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm
On 11/16/25 11:52 AM, Maud Spierings via B4 Relay wrote:
> From: Maud Spierings <maud_spierings@hotmail.com>
>
> The Asus vivobook s15 has two usb type c ports on the left side, these
> use parade ps8830 retimers like the others, enable them to also enable
> dp altmode
>
> Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 5/6] arm64: dts: qcom: x1e80100-vivobook-s15: add charge limit nvmem
2025-11-16 10:52 ` [PATCH v2 5/6] arm64: dts: qcom: x1e80100-vivobook-s15: add charge limit nvmem Maud Spierings via B4 Relay
@ 2025-11-17 12:59 ` Konrad Dybcio
2025-11-17 14:13 ` Maud Spierings
0 siblings, 1 reply; 20+ messages in thread
From: Konrad Dybcio @ 2025-11-17 12:59 UTC (permalink / raw)
To: maud_spierings, Andrzej Hajda, Neil Armstrong, Robert Foss,
Laurent Pinchart, Jonas Karlman, Jernej Skrabec, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm
On 11/16/25 11:52 AM, Maud Spierings via B4 Relay wrote:
> From: Maud Spierings <maud_spierings@hotmail.com>
>
> Add nvmem cells for getting charge control thresholds if they have
> been set previously.
>
> Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
> ---
Have you verified that e.g.
connecting the charger
setting the charge threshold
rebooting to windows
rebooting to windows once more for good measure
rebooting to linux
still has the settings persist?
Konrad
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 6/6] arm64: dts: qcom: x1e80100-vivobook-s15: enable IRIS
2025-11-16 10:52 ` [PATCH v2 6/6] arm64: dts: qcom: x1e80100-vivobook-s15: enable IRIS Maud Spierings via B4 Relay
@ 2025-11-17 12:59 ` Konrad Dybcio
0 siblings, 0 replies; 20+ messages in thread
From: Konrad Dybcio @ 2025-11-17 12:59 UTC (permalink / raw)
To: maud_spierings, Andrzej Hajda, Neil Armstrong, Robert Foss,
Laurent Pinchart, Jonas Karlman, Jernej Skrabec, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm,
Dmitry Baryshkov
On 11/16/25 11:52 AM, Maud Spierings via B4 Relay wrote:
> From: Maud Spierings <maud_spierings@hotmail.com>
>
> Enable IRIS to allow using the hardware-accelerated video codecs. The
> firmware is not upstream in linux-firmware yet, so users need to copy it
> from Windows to qcom/x1e80100/ASUSTeK/vivobook-s15/qcvss8380.mbn (just like
> GPU/ADSP/CDSP firmware).
>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 5/6] arm64: dts: qcom: x1e80100-vivobook-s15: add charge limit nvmem
2025-11-17 12:59 ` Konrad Dybcio
@ 2025-11-17 14:13 ` Maud Spierings
2025-11-17 15:35 ` Konrad Dybcio
0 siblings, 1 reply; 20+ messages in thread
From: Maud Spierings @ 2025-11-17 14:13 UTC (permalink / raw)
To: Konrad Dybcio, Andrzej Hajda, Neil Armstrong, Robert Foss,
Laurent Pinchart, Jonas Karlman, Jernej Skrabec, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm
Hi Konrad,
On 11/17/25 13:59, Konrad Dybcio wrote:
> On 11/16/25 11:52 AM, Maud Spierings via B4 Relay wrote:
>> From: Maud Spierings <maud_spierings@hotmail.com>
>>
>> Add nvmem cells for getting charge control thresholds if they have
>> been set previously.
>>
>> Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
>> ---
>
> Have you verified that e.g.
>
> connecting the charger
> setting the charge threshold
> rebooting to windows
> rebooting to windows once more for good measure
> rebooting to linux
>
> still has the settings persist?
Hmm I have tried several things but I can't seem to get the values to
stick. I the spmi-sdam driver is compiled in, I am not quite sure if I
might be missing something.
Kind regards,
Maud
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 5/6] arm64: dts: qcom: x1e80100-vivobook-s15: add charge limit nvmem
2025-11-17 14:13 ` Maud Spierings
@ 2025-11-17 15:35 ` Konrad Dybcio
2025-11-17 15:44 ` Maud Spierings
0 siblings, 1 reply; 20+ messages in thread
From: Konrad Dybcio @ 2025-11-17 15:35 UTC (permalink / raw)
To: Maud Spierings, Andrzej Hajda, Neil Armstrong, Robert Foss,
Laurent Pinchart, Jonas Karlman, Jernej Skrabec, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm
On 11/17/25 3:13 PM, Maud Spierings wrote:
> Hi Konrad,
>
> On 11/17/25 13:59, Konrad Dybcio wrote:
>> On 11/16/25 11:52 AM, Maud Spierings via B4 Relay wrote:
>>> From: Maud Spierings <maud_spierings@hotmail.com>
>>>
>>> Add nvmem cells for getting charge control thresholds if they have
>>> been set previously.
>>>
>>> Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
>>> ---
>>
>> Have you verified that e.g.
>>
>> connecting the charger
>> setting the charge threshold
>> rebooting to windows
>> rebooting to windows once more for good measure
>> rebooting to linux
>>
>> still has the settings persist?
>
> Hmm I have tried several things but I can't seem to get the values to stick. I the spmi-sdam driver is compiled in, I am not quite sure if I might be missing something.
Hm, I wonder if Windows/UEFI overwrites these values or whether they're
used by something else..
Can you set a threshold in windows and see if Linux can read back that
data?
Konrad
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 5/6] arm64: dts: qcom: x1e80100-vivobook-s15: add charge limit nvmem
2025-11-17 15:35 ` Konrad Dybcio
@ 2025-11-17 15:44 ` Maud Spierings
2025-11-20 15:36 ` Konrad Dybcio
0 siblings, 1 reply; 20+ messages in thread
From: Maud Spierings @ 2025-11-17 15:44 UTC (permalink / raw)
To: Konrad Dybcio, Andrzej Hajda, Neil Armstrong, Robert Foss,
Laurent Pinchart, Jonas Karlman, Jernej Skrabec, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm
On 11/17/25 16:35, Konrad Dybcio wrote:
> On 11/17/25 3:13 PM, Maud Spierings wrote:
>> Hi Konrad,
>>
>> On 11/17/25 13:59, Konrad Dybcio wrote:
>>> On 11/16/25 11:52 AM, Maud Spierings via B4 Relay wrote:
>>>> From: Maud Spierings <maud_spierings@hotmail.com>
>>>>
>>>> Add nvmem cells for getting charge control thresholds if they have
>>>> been set previously.
>>>>
>>>> Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
>>>> ---
>>>
>>> Have you verified that e.g.
>>>
>>> connecting the charger
>>> setting the charge threshold
>>> rebooting to windows
>>> rebooting to windows once more for good measure
>>> rebooting to linux
>>>
>>> still has the settings persist?
>>
>> Hmm I have tried several things but I can't seem to get the values to stick. I the spmi-sdam driver is compiled in, I am not quite sure if I might be missing something.
>
> Hm, I wonder if Windows/UEFI overwrites these values or whether they're
> used by something else..
>
> Can you set a threshold in windows and see if Linux can read back that
> data?
the values in /sys/class/power_supply/jada-jada/ are zero when rebooting
from Windows into Linux after enabling charge limitting in the Asus
application.
I remember my old vivobook (x86) also forgot its settings each boot, but
given the nvmem cells that should not be happing here I guess. It is odd
that there seems to be no collision between Windows and Linux. Maybe the
Windows mechanism is doing the old trick of writing it in there every boot?
Kind regards,
Maud
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 5/6] arm64: dts: qcom: x1e80100-vivobook-s15: add charge limit nvmem
2025-11-17 15:44 ` Maud Spierings
@ 2025-11-20 15:36 ` Konrad Dybcio
2025-11-22 11:07 ` Maud Spierings
0 siblings, 1 reply; 20+ messages in thread
From: Konrad Dybcio @ 2025-11-20 15:36 UTC (permalink / raw)
To: Maud Spierings, Andrzej Hajda, Neil Armstrong, Robert Foss,
Laurent Pinchart, Jonas Karlman, Jernej Skrabec, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm
On 11/17/25 4:44 PM, Maud Spierings wrote:
> On 11/17/25 16:35, Konrad Dybcio wrote:
>> On 11/17/25 3:13 PM, Maud Spierings wrote:
>>> Hi Konrad,
>>>
>>> On 11/17/25 13:59, Konrad Dybcio wrote:
>>>> On 11/16/25 11:52 AM, Maud Spierings via B4 Relay wrote:
>>>>> From: Maud Spierings <maud_spierings@hotmail.com>
>>>>>
>>>>> Add nvmem cells for getting charge control thresholds if they have
>>>>> been set previously.
>>>>>
>>>>> Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
>>>>> ---
>>>>
>>>> Have you verified that e.g.
>>>>
>>>> connecting the charger
>>>> setting the charge threshold
>>>> rebooting to windows
>>>> rebooting to windows once more for good measure
>>>> rebooting to linux
>>>>
>>>> still has the settings persist?
>>>
>>> Hmm I have tried several things but I can't seem to get the values to stick. I the spmi-sdam driver is compiled in, I am not quite sure if I might be missing something.
>>
>> Hm, I wonder if Windows/UEFI overwrites these values or whether they're
>> used by something else..
>>
>> Can you set a threshold in windows and see if Linux can read back that
>> data?
>
> the values in /sys/class/power_supply/jada-jada/ are zero when rebooting from Windows into Linux after enabling charge limitting in the Asus application.
>
> I remember my old vivobook (x86) also forgot its settings each boot, but given the nvmem cells that should not be happing here I guess. It is odd that there seems to be no collision between Windows and Linux. Maybe the Windows mechanism is doing the old trick of writing it in there every boot?
Odd indeed.. Does it work if you reboot from Linux to Linux?
Konrad
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 5/6] arm64: dts: qcom: x1e80100-vivobook-s15: add charge limit nvmem
2025-11-20 15:36 ` Konrad Dybcio
@ 2025-11-22 11:07 ` Maud Spierings
2025-11-22 13:37 ` Konrad Dybcio
0 siblings, 1 reply; 20+ messages in thread
From: Maud Spierings @ 2025-11-22 11:07 UTC (permalink / raw)
To: Konrad Dybcio, Andrzej Hajda, Neil Armstrong, Robert Foss,
Laurent Pinchart, Jonas Karlman, Jernej Skrabec, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm
On 11/20/25 16:36, Konrad Dybcio wrote:
> On 11/17/25 4:44 PM, Maud Spierings wrote:
>> On 11/17/25 16:35, Konrad Dybcio wrote:
>>> On 11/17/25 3:13 PM, Maud Spierings wrote:
>>>> Hi Konrad,
>>>>
>>>> On 11/17/25 13:59, Konrad Dybcio wrote:
>>>>> On 11/16/25 11:52 AM, Maud Spierings via B4 Relay wrote:
>>>>>> From: Maud Spierings <maud_spierings@hotmail.com>
>>>>>>
>>>>>> Add nvmem cells for getting charge control thresholds if they have
>>>>>> been set previously.
>>>>>>
>>>>>> Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
>>>>>> ---
>>>>> Have you verified that e.g.
>>>>>
>>>>> connecting the charger
>>>>> setting the charge threshold
>>>>> rebooting to windows
>>>>> rebooting to windows once more for good measure
>>>>> rebooting to linux
>>>>>
>>>>> still has the settings persist?
>>>> Hmm I have tried several things but I can't seem to get the values to stick. I the spmi-sdam driver is compiled in, I am not quite sure if I might be missing something.
>>> Hm, I wonder if Windows/UEFI overwrites these values or whether they're
>>> used by something else..
>>>
>>> Can you set a threshold in windows and see if Linux can read back that
>>> data?
>> the values in /sys/class/power_supply/jada-jada/ are zero when rebooting from Windows into Linux after enabling charge limitting in the Asus application.
>>
>> I remember my old vivobook (x86) also forgot its settings each boot, but given the nvmem cells that should not be happing here I guess. It is odd that there seems to be no collision between Windows and Linux. Maybe the Windows mechanism is doing the old trick of writing it in there every boot?
> Odd indeed.. Does it work if you reboot from Linux to Linux?
It seems not, I seem to remember testing it quite some time ago, but I
cannot get it to remember any way, at least it is not popping up in
sysfs, always back to 0
Kind regards,
Maud
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 5/6] arm64: dts: qcom: x1e80100-vivobook-s15: add charge limit nvmem
2025-11-22 11:07 ` Maud Spierings
@ 2025-11-22 13:37 ` Konrad Dybcio
2025-11-23 11:03 ` Maud Spierings
0 siblings, 1 reply; 20+ messages in thread
From: Konrad Dybcio @ 2025-11-22 13:37 UTC (permalink / raw)
To: Maud Spierings, Andrzej Hajda, Neil Armstrong, Robert Foss,
Laurent Pinchart, Jonas Karlman, Jernej Skrabec, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm
On 11/22/25 12:07 PM, Maud Spierings wrote:
> On 11/20/25 16:36, Konrad Dybcio wrote:
>> On 11/17/25 4:44 PM, Maud Spierings wrote:
>>> On 11/17/25 16:35, Konrad Dybcio wrote:
>>>> On 11/17/25 3:13 PM, Maud Spierings wrote:
>>>>> Hi Konrad,
>>>>>
>>>>> On 11/17/25 13:59, Konrad Dybcio wrote:
>>>>>> On 11/16/25 11:52 AM, Maud Spierings via B4 Relay wrote:
>>>>>>> From: Maud Spierings <maud_spierings@hotmail.com>
>>>>>>>
>>>>>>> Add nvmem cells for getting charge control thresholds if they have
>>>>>>> been set previously.
>>>>>>>
>>>>>>> Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
>>>>>>> ---
>>>>>> Have you verified that e.g.
>>>>>>
>>>>>> connecting the charger
>>>>>> setting the charge threshold
>>>>>> rebooting to windows
>>>>>> rebooting to windows once more for good measure
>>>>>> rebooting to linux
>>>>>>
>>>>>> still has the settings persist?
>>>>> Hmm I have tried several things but I can't seem to get the values to stick. I the spmi-sdam driver is compiled in, I am not quite sure if I might be missing something.
>>>> Hm, I wonder if Windows/UEFI overwrites these values or whether they're
>>>> used by something else..
>>>>
>>>> Can you set a threshold in windows and see if Linux can read back that
>>>> data?
>>> the values in /sys/class/power_supply/jada-jada/ are zero when rebooting from Windows into Linux after enabling charge limitting in the Asus application.
>>>
>>> I remember my old vivobook (x86) also forgot its settings each boot, but given the nvmem cells that should not be happing here I guess. It is odd that there seems to be no collision between Windows and Linux. Maybe the Windows mechanism is doing the old trick of writing it in there every boot?
>> Odd indeed.. Does it work if you reboot from Linux to Linux?
> It seems not, I seem to remember testing it quite some time ago, but I cannot get it to remember any way, at least it is not popping up in sysfs, always back to 0
It seems like the driver currently only populates the sysfs start/stop
values if the "enable" bit is set
Could you check this (hacky and wrong) diff and give it another try?
diff --git a/drivers/power/supply/qcom_battmgr.c b/drivers/power/supply/qcom_battmgr.c
index c8028606bba0..9ebd8adfb8eb 100644
--- a/drivers/power/supply/qcom_battmgr.c
+++ b/drivers/power/supply/qcom_battmgr.c
@@ -733,7 +733,7 @@ static int qcom_battmgr_charge_control_thresholds_init(struct qcom_battmgr *batt
u8 en, end_soc, start_soc, delta_soc;
ret = nvmem_cell_read_u8(battmgr->dev->parent, "charge_limit_en", &en);
- if (!ret && en != 0) {
+ if (!ret) {
ret = nvmem_cell_read_u8(battmgr->dev->parent, "charge_limit_end", &end_soc);
if (ret < 0)
return ret;
Konrad
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH v2 5/6] arm64: dts: qcom: x1e80100-vivobook-s15: add charge limit nvmem
2025-11-22 13:37 ` Konrad Dybcio
@ 2025-11-23 11:03 ` Maud Spierings
2025-11-24 11:01 ` Konrad Dybcio
0 siblings, 1 reply; 20+ messages in thread
From: Maud Spierings @ 2025-11-23 11:03 UTC (permalink / raw)
To: Konrad Dybcio, Andrzej Hajda, Neil Armstrong, Robert Foss,
Laurent Pinchart, Jonas Karlman, Jernej Skrabec, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm
On 11/22/25 14:37, Konrad Dybcio wrote:
> On 11/22/25 12:07 PM, Maud Spierings wrote:
>> On 11/20/25 16:36, Konrad Dybcio wrote:
>>> On 11/17/25 4:44 PM, Maud Spierings wrote:
>>>> On 11/17/25 16:35, Konrad Dybcio wrote:
>>>>> On 11/17/25 3:13 PM, Maud Spierings wrote:
>>>>>> Hi Konrad,
>>>>>>
>>>>>> On 11/17/25 13:59, Konrad Dybcio wrote:
>>>>>>> On 11/16/25 11:52 AM, Maud Spierings via B4 Relay wrote:
>>>>>>>> From: Maud Spierings <maud_spierings@hotmail.com>
>>>>>>>>
>>>>>>>> Add nvmem cells for getting charge control thresholds if they have
>>>>>>>> been set previously.
>>>>>>>>
>>>>>>>> Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
>>>>>>>> ---
>>>>>>> Have you verified that e.g.
>>>>>>>
>>>>>>> connecting the charger
>>>>>>> setting the charge threshold
>>>>>>> rebooting to windows
>>>>>>> rebooting to windows once more for good measure
>>>>>>> rebooting to linux
>>>>>>>
>>>>>>> still has the settings persist?
>>>>>> Hmm I have tried several things but I can't seem to get the values to stick. I the spmi-sdam driver is compiled in, I am not quite sure if I might be missing something.
>>>>> Hm, I wonder if Windows/UEFI overwrites these values or whether they're
>>>>> used by something else..
>>>>>
>>>>> Can you set a threshold in windows and see if Linux can read back that
>>>>> data?
>>>> the values in /sys/class/power_supply/jada-jada/ are zero when rebooting from Windows into Linux after enabling charge limitting in the Asus application.
>>>>
>>>> I remember my old vivobook (x86) also forgot its settings each boot, but given the nvmem cells that should not be happing here I guess. It is odd that there seems to be no collision between Windows and Linux. Maybe the Windows mechanism is doing the old trick of writing it in there every boot?
>>> Odd indeed.. Does it work if you reboot from Linux to Linux?
>> It seems not, I seem to remember testing it quite some time ago, but I cannot get it to remember any way, at least it is not popping up in sysfs, always back to 0
> It seems like the driver currently only populates the sysfs start/stop
> values if the "enable" bit is set
>
> Could you check this (hacky and wrong) diff and give it another try?
>
> diff --git a/drivers/power/supply/qcom_battmgr.c b/drivers/power/supply/qcom_battmgr.c
> index c8028606bba0..9ebd8adfb8eb 100644
> --- a/drivers/power/supply/qcom_battmgr.c
> +++ b/drivers/power/supply/qcom_battmgr.c
> @@ -733,7 +733,7 @@ static int qcom_battmgr_charge_control_thresholds_init(struct qcom_battmgr *batt
> u8 en, end_soc, start_soc, delta_soc;
>
> ret = nvmem_cell_read_u8(battmgr->dev->parent, "charge_limit_en", &en);
> - if (!ret && en != 0) {
> + if (!ret) {
> ret = nvmem_cell_read_u8(battmgr->dev->parent, "charge_limit_end", &end_soc);
> if (ret < 0)
> return ret;
>
>
Nope still nothing, there is one err about "failed to send synthetic
uevent: -11" during startup, but I don't know how relevant that is.
Kind regards,
Maud
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 5/6] arm64: dts: qcom: x1e80100-vivobook-s15: add charge limit nvmem
2025-11-23 11:03 ` Maud Spierings
@ 2025-11-24 11:01 ` Konrad Dybcio
0 siblings, 0 replies; 20+ messages in thread
From: Konrad Dybcio @ 2025-11-24 11:01 UTC (permalink / raw)
To: Maud Spierings, Andrzej Hajda, Neil Armstrong, Robert Foss,
Laurent Pinchart, Jonas Karlman, Jernej Skrabec, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm
On 11/23/25 12:03 PM, Maud Spierings wrote:
> On 11/22/25 14:37, Konrad Dybcio wrote:
>> On 11/22/25 12:07 PM, Maud Spierings wrote:
>>> On 11/20/25 16:36, Konrad Dybcio wrote:
>>>> On 11/17/25 4:44 PM, Maud Spierings wrote:
>>>>> On 11/17/25 16:35, Konrad Dybcio wrote:
>>>>>> On 11/17/25 3:13 PM, Maud Spierings wrote:
>>>>>>> Hi Konrad,
>>>>>>>
>>>>>>> On 11/17/25 13:59, Konrad Dybcio wrote:
>>>>>>>> On 11/16/25 11:52 AM, Maud Spierings via B4 Relay wrote:
>>>>>>>>> From: Maud Spierings <maud_spierings@hotmail.com>
>>>>>>>>>
>>>>>>>>> Add nvmem cells for getting charge control thresholds if they have
>>>>>>>>> been set previously.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
>>>>>>>>> ---
>>>>>>>> Have you verified that e.g.
>>>>>>>>
>>>>>>>> connecting the charger
>>>>>>>> setting the charge threshold
>>>>>>>> rebooting to windows
>>>>>>>> rebooting to windows once more for good measure
>>>>>>>> rebooting to linux
>>>>>>>>
>>>>>>>> still has the settings persist?
>>>>>>> Hmm I have tried several things but I can't seem to get the values to stick. I the spmi-sdam driver is compiled in, I am not quite sure if I might be missing something.
>>>>>> Hm, I wonder if Windows/UEFI overwrites these values or whether they're
>>>>>> used by something else..
>>>>>>
>>>>>> Can you set a threshold in windows and see if Linux can read back that
>>>>>> data?
>>>>> the values in /sys/class/power_supply/jada-jada/ are zero when rebooting from Windows into Linux after enabling charge limitting in the Asus application.
>>>>>
>>>>> I remember my old vivobook (x86) also forgot its settings each boot, but given the nvmem cells that should not be happing here I guess. It is odd that there seems to be no collision between Windows and Linux. Maybe the Windows mechanism is doing the old trick of writing it in there every boot?
>>>> Odd indeed.. Does it work if you reboot from Linux to Linux?
>>> It seems not, I seem to remember testing it quite some time ago, but I cannot get it to remember any way, at least it is not popping up in sysfs, always back to 0
>> It seems like the driver currently only populates the sysfs start/stop
>> values if the "enable" bit is set
>>
>> Could you check this (hacky and wrong) diff and give it another try?
>>
>> diff --git a/drivers/power/supply/qcom_battmgr.c b/drivers/power/supply/qcom_battmgr.c
>> index c8028606bba0..9ebd8adfb8eb 100644
>> --- a/drivers/power/supply/qcom_battmgr.c
>> +++ b/drivers/power/supply/qcom_battmgr.c
>> @@ -733,7 +733,7 @@ static int qcom_battmgr_charge_control_thresholds_init(struct qcom_battmgr *batt
>> u8 en, end_soc, start_soc, delta_soc;
>> ret = nvmem_cell_read_u8(battmgr->dev->parent, "charge_limit_en", &en);
>> - if (!ret && en != 0) {
>> + if (!ret) {
>> ret = nvmem_cell_read_u8(battmgr->dev->parent, "charge_limit_end", &end_soc);
>> if (ret < 0)
>> return ret;
>>
>>
> Nope still nothing, there is one err about "failed to send synthetic uevent: -11" during startup, but I don't know how relevant that is.
Hm, I'm a little puzzled.. It may be that ASUS customized the charge control
functionality, but I doubt that
In any case, this patch should let you limit the charging bounds within a
single boot on Linux, so that's already useful..
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 4/6] arm64: dts: qcom: x1e80100-vivobook-s15: add HDMI port
2025-11-16 10:52 ` [PATCH v2 4/6] arm64: dts: qcom: x1e80100-vivobook-s15: add HDMI port Maud Spierings via B4 Relay
@ 2025-11-24 11:50 ` Konrad Dybcio
0 siblings, 0 replies; 20+ messages in thread
From: Konrad Dybcio @ 2025-11-24 11:50 UTC (permalink / raw)
To: maud_spierings, Andrzej Hajda, Neil Armstrong, Robert Foss,
Laurent Pinchart, Jonas Karlman, Jernej Skrabec, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio
Cc: dri-devel, devicetree, linux-kernel, linux-arm-msm
On 11/16/25 11:52 AM, Maud Spierings via B4 Relay wrote:
> From: Maud Spierings <maud_spierings@hotmail.com>
>
> Enable the HDMI port on left side of the laptop.
>
> The display signal is routed through a simple Displayport to HDMI
> bridge.
>
> Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2025-11-24 11:50 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-16 10:52 [PATCH v2 0/6] arm64: dts: qcom: x1e80100-vivobook-s15: add more missing features Maud Spierings via B4 Relay
2025-11-16 10:52 ` [PATCH v2 1/6] dt-bindings: display: bridge: simple: document the Parade PS185HDM DP-to-HDMI bridge Maud Spierings via B4 Relay
2025-11-16 10:52 ` [PATCH v2 2/6] drm/bridge: simple: add " Maud Spierings via B4 Relay
2025-11-16 10:52 ` [PATCH v2 3/6] arm64: dts: qcom: x1e80100-vivobook-s15: enable ps8830 retimers Maud Spierings via B4 Relay
2025-11-17 12:58 ` Konrad Dybcio
2025-11-16 10:52 ` [PATCH v2 4/6] arm64: dts: qcom: x1e80100-vivobook-s15: add HDMI port Maud Spierings via B4 Relay
2025-11-24 11:50 ` Konrad Dybcio
2025-11-16 10:52 ` [PATCH v2 5/6] arm64: dts: qcom: x1e80100-vivobook-s15: add charge limit nvmem Maud Spierings via B4 Relay
2025-11-17 12:59 ` Konrad Dybcio
2025-11-17 14:13 ` Maud Spierings
2025-11-17 15:35 ` Konrad Dybcio
2025-11-17 15:44 ` Maud Spierings
2025-11-20 15:36 ` Konrad Dybcio
2025-11-22 11:07 ` Maud Spierings
2025-11-22 13:37 ` Konrad Dybcio
2025-11-23 11:03 ` Maud Spierings
2025-11-24 11:01 ` Konrad Dybcio
2025-11-16 10:52 ` [PATCH v2 6/6] arm64: dts: qcom: x1e80100-vivobook-s15: enable IRIS Maud Spierings via B4 Relay
2025-11-17 12:59 ` Konrad Dybcio
2025-11-16 11:36 ` (subset) [PATCH v2 0/6] arm64: dts: qcom: x1e80100-vivobook-s15: add more missing features Dmitry Baryshkov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox