From: Konrad Dybcio <konradybcio@kernel.org>
To: Sebastian Reichel <sre@kernel.org>,
Mark Pearson <mpearson-lenovo@squebb.ca>
Cc: "Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Hans de Goede" <hansg@kernel.org>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Bryan O'Donoghue" <bryan.odonoghue@linaro.org>,
"Bjorn Andersson" <andersson@kernel.org>,
"Konrad Dybcio" <konradybcio@kernel.org>,
"Derek J . Clark" <derekjohn.clark@gmail.com>,
"Henrique de Moraes Holschuh" <hmh@hmh.eng.br>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
"platform-driver-x86@vger.kernel.org"
<platform-driver-x86@vger.kernel.org>,
linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH 2/3] platform: arm64: thinkpad-t14s-ec: new driver
Date: Tue, 2 Sep 2025 12:27:24 +0200 [thread overview]
Message-ID: <c0ca6ca1-ffee-4b12-bf96-ee9efb93c4d2@kernel.org> (raw)
In-Reply-To: <pslvca6j5fpr5dgvciwlaz3fubnkjq5olfontaaytt56xs4bvk@5typdoosbreo>
On 9/1/25 6:10 PM, Sebastian Reichel wrote:
> Hello Mark,
>
> On Mon, Sep 01, 2025 at 09:48:39AM -0400, Mark Pearson wrote:
>> On Sun, Aug 31, 2025, at 5:28 PM, Sebastian Reichel wrote:
>>> Introduce EC driver for the ThinkPad T14s Gen6 Snapdragon, which
>>> is in theory compatible with ThinkPad ACPI. On Linux the system
>>> is booted with device tree, which is not supported by the ThinkPad
>>> ACPI driver. Also most of the hardware compatibility is handled
>>> via ACPI tables, which are obviously not used when booting via
>>> device tree. Thus adding DT compatibility to the existing driver
>>> is not worth it (almost no code sharing).
>>>
>>> The driver currently exposes features, which are not available
>>> via other means:
>>>
>>> * Extra Keys
>>> * System LEDs
>>> * Keyboard Backlight Control
>>>
>>> The driver has been developed by reading the ACPI DSDT. There
>>> are some more features around thermal control, which are not
>>> yet supported by the driver.
>>>
>>
>> Thanks for working on this - it's great.
>
> It's a personal scratch your own itch project, as I daily drive the
> machine.
>
>> I'll see if I can get the EC spec so I can do some checking on the
>> values (I thought I had it already, but I can't find it). If this
>> file can be used for other platforms then it might be good to
>> rename the file to not be specific to the t14s? I'm curious if it
>> can be used on the X13s or the Yoga platform.
>
> Maybe. I only have the T14s (apart of my older Intel/AMD ThinkPads,
> which use the ACPI driver). The ACPI DSDT functions completley
> abstract the lowlevel I2C interface, so in theory every ThinkPad
> could have a completley different EC and still use the same ACPI
> driver. So this needs to be checked per-device. Hopefully the low
> level interface is similar in those, so that we don't need to spam
> the kernel tree with multiple different EC drivers :)
>
>> Couple of notes
>> - I do agree it doesn't make sense to add this to thinkpad_acpi.
>> That file is too big anyway.
>> - If there are other pieces like this where some detail of the
>> platform is needed, please do let me know. I never got enough
>> time to work on this platform directly, and it wasn't in our
>> Linux program, but I do have access and support from the
>> platform team for getting details on it. If I can help, so not
>> too much reverse engineering is needed, I'm happy to.
>
> Thanks for the offer.
>
> I would be interested in bits around system suspend. Right now
> support on X1E is limited to sending the CPU into suspend. Much of
> the machine seems to be still powered. Right now the keyboard
> backlight and all the status LEDs stay on and the LID + power led
> does not go into the typical breathing pattern. Additionally I had
> to disable wakeup capabilities for the EC interrupt, as closing the
> LID generates an event and thus an interrupt, which wakes the
> system. Obviousy that is undesired from user's perspective. My guess
> is, that there might be some register to mask events, but I haven't
> found it so far. Alternatively the EC might mask them automatically
> when the system is send into suspend, which I also have not yet
> figured out :) The only bit I know is, that EC register 0xE0 is
> involved in modern standby.
>
> Apart from that and (probably) unrelated to the EC: I noticed that
> accessing the built-in webcam (with the X1E camera patches from
> Bryan O'Donoghue) does not enable the status LED. It would be
> nice if you can check how that is wired, so that it can be enabled
> when a camera stream is started.
FWIW a couple years ago I tried to do something similar for the X13s
EC, and the software interface looks somewhat familiar..
This never ended up becoming anything big, but just in case this is
useful for anyone:
https://github.com/SoMainline/linux/commit/c0cc2c60177a33597c33586bfe27b5f440e36745
Konrad
next prev parent reply other threads:[~2025-09-02 10:27 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-31 21:28 [PATCH 0/3] platform: arm64: thinkpad-t14s-ec: new driver Sebastian Reichel
2025-08-31 21:28 ` [PATCH 1/3] dt-bindings: platform: Add Lenovo Thinkpad T14s EC Sebastian Reichel
2025-08-31 23:53 ` Bryan O'Donoghue
2025-09-01 9:28 ` Krzysztof Kozlowski
2025-08-31 21:28 ` [PATCH 2/3] platform: arm64: thinkpad-t14s-ec: new driver Sebastian Reichel
2025-09-01 8:43 ` Bryan O'Donoghue
2025-09-01 15:20 ` Sebastian Reichel
2025-09-01 15:52 ` Bryan O'Donoghue
2025-09-01 9:51 ` Ilpo Järvinen
2025-09-01 13:48 ` Mark Pearson
2025-09-01 16:10 ` Sebastian Reichel
2025-09-01 16:23 ` Neil Armstrong
2025-09-02 10:27 ` Konrad Dybcio [this message]
2025-09-02 22:58 ` Sebastian Reichel
2025-09-04 18:56 ` Mark Pearson
2025-08-31 21:28 ` [PATCH 3/3] arm64: dts: qcom: x1e80100-t14s: add EC Sebastian Reichel
2025-09-02 10:28 ` Konrad Dybcio
2025-09-01 9:03 ` [PATCH 0/3] platform: arm64: thinkpad-t14s-ec: new driver Neil Armstrong
2025-09-02 13:17 ` Rob Herring (Arm)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c0ca6ca1-ffee-4b12-bf96-ee9efb93c4d2@kernel.org \
--to=konradybcio@kernel.org \
--cc=andersson@kernel.org \
--cc=bryan.odonoghue@linaro.org \
--cc=conor+dt@kernel.org \
--cc=derekjohn.clark@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=hansg@kernel.org \
--cc=hmh@hmh.eng.br \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mpearson-lenovo@squebb.ca \
--cc=platform-driver-x86@vger.kernel.org \
--cc=robh@kernel.org \
--cc=sre@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).