Re: [PATCH 1/3] dt-bindings: embedded-controller: Add ASUS Zenbook A16 EC
From: Krzysztof Kozlowski
Date: Fri Sep 18 2026 - 10:42:04 EST
On 18/09/2026 15:23, Konrad Dybcio wrote:
> On 9/18/26 3:21 PM, Krzysztof Kozlowski wrote:
>> On 18/09/2026 14:29, Konrad Dybcio wrote:
>>> On 9/18/26 1:34 PM, Krzysztof Kozlowski wrote:
>>>> On Thu, Sep 17, 2026 at 12:54:56PM +0200, Konrad Dybcio wrote:
>>>>> +description:
>>>>> + The Qualcomm Snapdragon X2 series-based ASUS Zenbook A16 (and similar
>>>>> + machines) come with a custom EC firmware, loosely based on the
>>>>> + Qualcomm reference ("Hamoa CRD EC") implementation, with a lot of
>>>>> + customization.
>>>>> +
>>>>> +properties:
>>>>> + compatible:
>>>>> + enum:
>>>>> + - asus,zenbook-a14-ux3407na-ec
>>>>> + - asus,zenbook-a16-ux3607oa-ec
>>>>> +
>>>>> + reg:
>>>>> + const: 0x76
>>>>> +
>>>>> + interrupts:
>>>>> + maxItems: 1
>>>>> +
>>>>> + "#thermal-sensor-cells":
>>>>> + const: 1
>>>>> +
>>>>> + wakeup-source: true
>>>>> +
>>>>> +required:
>>>>> + - compatible
>>>>> + - reg
>>>>> + - interrupts
>>>>> + - '#thermal-sensor-cells'
>>>>> + - wakeup-source
>>>>
>>>> Wakeup source should not be required. If it is, then it is completely
>>>> implied by compatible and there is no need for DT property, right?
>>>
>>> I suppose it's not *required* but it's highly desirable.. should I
>>> just drop it from the required list?
>>
>> Then why isn't the device driver setting wakeup unconditionally?
>
> The i2c core checks for wakeup-source - I can remove the property
> and call the equivalent functions from the driver if you prefer,
> but that feels a little "rough"
This is irrelevant here. If we remove I2C core handling of wakeup-source
and rely on drivers, do we change the bindings?
Required means either hardware or software cannot work without it.
Interrupts are required, because (supposedly) it is impossible to create
a hardware with interrupt pin floating, which could be argument to move
to the SW, but compatible cannot imply them. Saying that wakeup is
required, means that something requires it while compatible cannot imply
that property. Kind of contradictory to logic, because this means device
has such characteristic but we need DT to represent it. That's odd
because we should not need DT to represent simple bool - driver can do it.
This is basically the fourth device which requires being wakeup-source,
so something highly unusual and anyway if it stays, needs explanation in
device description.
Best regards,
Krzysztof