ishtp_eclite: reading fan tacho value from ElkgartLake PSE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


We are using the Intel ElkhartLake CRB board and need to read the CPU Fan tacho signal from Linux userspace (so we can raise an application-level alert if fan is broken).

The CPU Fan PWM output and tacho inputs are controlled by firmware running on the PSE controller (Cortex-M), which is embedded in the ElkhartLake SoC. 
The PSE Firmware contains an ECLite feature which updates the eclite_opregion.tacho_rpm field. This field is also declared in ACPI (offset 330) by the bootloader (Slimbootloader).

Fan control works fine via the thermal_zone sysfs interface, but we cannot find any entries for the tacho.
As we understand it, the ishtp_eclite driver merely acts as glue layer to the PSE/ECLite, so some other kernel code needs to call it, we guess based on ACPI definitions.

Does any drivers exist which expose the tacho value to userspace (preferably via hwmon as is the standard way to do this in previous Intel designs with LPC + SuperIO)?
Or if none exist, we may need to add this, but could really use some pointers to understand how such a driver should communicate with ECLite via the ishtp_eclite driver.

Note: The official Intel binary release of the PSE FW (MR7) does not enable the low-level TGPIO SEDI driver in the PSE environment, so the tacho input is simply ignored.
If rebuilding the PSE FW ( with the SEDI driver enabled, ECLite starts to read tacho as expected, but this does makes us wonder how well implemented (or used) the tacho feature really is.

Best regards
Mikael Lund Jepsen
Software Engineer

[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux