[PATCH] arm64: dts: qcom: glymur-lenovo-yoga-slim7x: add the embedded controller

Oleg Keri posted 1 patch 1 week, 4 days ago
.../dts/qcom/glymur-lenovo-yoga-slim7x.dts    | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
[PATCH] arm64: dts: qcom: glymur-lenovo-yoga-slim7x: add the embedded controller
Posted by Oleg Keri 1 week, 4 days ago
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@gmail.com/

Signed-off-by: Oleg Keri <okerixx@gmail.com>
---
 .../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
Re: [PATCH] arm64: dts: qcom: glymur-lenovo-yoga-slim7x: add the embedded controller
Posted by Konrad Dybcio 3 days, 22 hours ago
On 9/14/26 10:29 AM, Oleg Keri wrote:
> 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.

No, merging a node without dt-bindings would cause DT validation errors
(which you can check via make dtbs_check / make CHECK_DTBS=1 qcom/foo.dtb)

> [1] https://lore.kernel.org/all/20260908183403.2107-1-okerixx@gmail.com/

This link and the paragraph above should be above the --- line, so that
it doesn't become part of git history

Konrad
Re: [PATCH] arm64: dts: qcom: glymur-lenovo-yoga-slim7x: add the embedded controller
Posted by Oleg Keri 3 days, 21 hours ago
Hi Konrad,

On Mon, Sep 21, 2026, Konrad Dybcio wrote:
> No, merging a node without dt-bindings would cause DT validation errors
> (which you can check via make dtbs_check / make CHECK_DTBS=1 qcom/foo.dtb)

Got it. Please drop this patch. It will come back as the last patch of
the EC driver series.

Thanks,
Oleg