Re: [PATCH 4/8] platform: arm64: qcom-hamoa-ec: Add fan RPM query and LUT calibration

From: Konrad Dybcio

Date: Wed Aug 19 2026 - 12:36:58 EST


On 8/19/26 7:13 AM, Anvesh Jain P wrote:
>
>
> On 7/30/2026 12:05 PM, Anvesh Jain P wrote:
>>
>>
>> On 7/29/2026 4:37 PM, Konrad Dybcio wrote:
>>> On 7/28/26 7:44 PM, Anvesh Jain P wrote:
>>>> Add the EC command definitions and handler functions for querying fan
>>>> RPM and programming per-fan LUTs (lookup tables mapping SoC
>>>> temperature to target RPM), and introduce a raw i2c_transfer()-based
>>>> transport for the two commands, since their variable-length,
>>>> sub-command-addressed payloads don't fit the smbus block-data model
>>>> used by the existing commands.
>>>>
>>>> Fan LUT geometry and temperature breakpoints vary by board, so encode
>>>> them in per-compatible qcom_ec_lut_config data selected via
>>>> device_get_match_data(). Add configs for the Hamoa CRD, Hamoa/Purwa
>>>> IOT EVK, and Glymur CRD ECs; IOT EVK boards share the Hamoa LUT
>>>> geometry but are bring-up platforms without a calibrated fan curve,
>>>> so skip_lut_set suppresses the LUT-set command on those boards.
>>>
>>> So are we expecting every single laptop/device that utilizes a
>>> compatible EC to require modifications to the driver here?
>>>
>>
>> Yes, currently a new board does need a driver-side compatible + LUT
>> config entry. Will check on the feasibility of moving the LUT
>> geometry/curve data into devicetree instead so new boards don't require
>> driver changes.

Adding a specific way to write the configuration to the driver vs
storing the entirety of configuration data in the driver are two very
separate issues

Konrad