.../dts/qcom/glymur-lenovo-yoga-slim7x.dts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
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
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
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
© 2016 - 2026 Red Hat, Inc.