[PATCH v2 0/7] arm64: mediatek: Chromebook trackpad supply fixes
From: Chen-Yu Tsai <wenst@chromium.org>
Date: 2026-07-03 11:56:11
Also in:
chrome-platform, linux-arm-kernel, linux-devicetree, linux-i2c, linux-mediatek, lkml
Hi everyone, This series fixes the trackpad descriptions on some MediaTek-based Chromebooks: either the trackpad's supply was set as always-on to workaround missing delays in the driver, or the delay and supply are missing from the trackpad's device node. v1 was just the first patch [1]. It has since grown to cover multiple drivers and devices. Patch 1 adds the correct enable delay after enabling the supply regulator for the Elan trackpad to initialize. Compared to v1, the delay is now skipped if the regulator was already enabled to avoid impacting boot time or time before the trackpad is operational. Patch 2 applies the same logic of skipping the power on delay to the i2c-hid-of driver. Patch 3 applies the same logic of skipping the power on delay to the i2c OF component prober library. Patch 4 adds a delay between when the device node found is enabled and when regulator_disable() is called. This gives an asynchronously probing driver some time to increment the enable count of their regulator reference, thus keeping the device operational and allowing the driver to skip the initialization delay. Patch 5 adds the correct delay for probing trackpads for Hana devices to the ChromeOS OF component prober. Patch 6 removes the "always-on" setting from the trackpad supply for Elm / Hana and adds the correct delay to the second source trackpad. This corrects the hardware description. Patch 7 adds the supply and power on delay properties to the Synaptics trackpad on the Spherion device. Combined with previous driver changes this should cause no actual functional changes or delays. Please take a look. There are no build time dependencies between any of the patches, but the DT changes must go in after all the driver changes land, especially the first one adding delays to the Elan trackpad driver. Otherwise one could potentially end up with a non-functional trackpad on the device. Thanks ChenYu [1] https://lore.kernel.org/all/20241001093815.2481899-1-wenst@chromium.org/ (local) Chen-Yu Tsai (7): Input: elan_i2c - Wait for initialization after enabling regulator supply HID: i2c-hid-of: skip post-power-on delay if already powered on i2c: of-prober: skip post-power-on delay if already powered on i2c: of-prober: Defer regulator_disable() on successful probe in simple helper platform/chrome: of_hw_prober: Add delay for hana trackpads arm64: dts: mediatek: mt8173-elm-hana: Unmark trackpad supply as always-on arm64: dts: mediatek: mt8192-asurada-spherion: Add Synaptics trackpad's supply .../boot/dts/mediatek/mt8173-elm-hana.dtsi | 8 +---- arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi | 1 - .../mediatek/mt8192-asurada-spherion-r0.dts | 2 ++ drivers/hid/i2c-hid/i2c-hid-of.c | 8 ++++- drivers/i2c/i2c-core-of-prober.c | 29 +++++++++++++++---- drivers/input/mouse/elan_i2c_core.c | 13 +++++++++ .../platform/chrome/chromeos_of_hw_prober.c | 4 +-- 7 files changed, 48 insertions(+), 17 deletions(-) -- 2.55.0.rc0.799.gd6f94ed593-goog