[PATCH] arm64: dts: qcom: glymur-lenovo-yoga-slim7x: add the embedded controller
From: Oleg Keri
Date: Mon Sep 14 2026 - 04:37:11 EST
Describe the Compal embedded controller on I2C at address 0x70. It
provides the board thermistors, the battery cell voltages and the CPU fan
speed, and drives the keyboard backlight. Its interrupt line is TLMM
gpio66, falling edge, for which the file already carries a pin state.
That state leaves the pin without a bias. gpio66 has no external pull
and floats when the EC is not driving it, which shows up as a steady
stream of spurious edges; the vendor ACPI tables describe the same pin
as GpioInt(Edge, ActiveLow, Exclusive, PullUp). Enable the pull-up.
The binding and the driver are under review separately [1]; this node is
inert until they land.
[1] https://lore.kernel.org/all/20260908183403.2107-1-okerixx@xxxxxxxxx/
Signed-off-by: Oleg Keri <okerixx@xxxxxxxxx>
---
.../dts/qcom/glymur-lenovo-yoga-slim7x.dts | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/glymur-lenovo-yoga-slim7x.dts b/arch/arm64/boot/dts/qcom/glymur-lenovo-yoga-slim7x.dts
index ecc8c34..30dcffd 100644
--- a/arch/arm64/boot/dts/qcom/glymur-lenovo-yoga-slim7x.dts
+++ b/arch/arm64/boot/dts/qcom/glymur-lenovo-yoga-slim7x.dts
@@ -652,7 +652,15 @@
status = "okay";
- /* EC @ 0x70, irq = TLMM 66 */
+ embedded-controller@70 {
+ compatible = "lenovo,yoga-slim7x-gen11-ec";
+ reg = <0x70>;
+
+ interrupts-extended = <&tlmm 66 IRQ_TYPE_EDGE_FALLING>;
+
+ pinctrl-0 = <&ec_int_n_default>;
+ pinctrl-names = "default";
+ };
};
&lpass_vamacro {
@@ -983,7 +991,7 @@
ec_int_n_default: ec-int-n-state {
pins = "gpio66";
function = "gpio";
- bias-disable;
+ bias-pull-up;
};
kybd_default: kybd-default-state {
--
2.55.0
base-commit: 68142f986ff04b2b70b31db00f719bf690f64a9a