[PATCH v4 04/10] dt-bindings: input: apple: Add DockChannel HID transport
Yureka Lilian
yureka at cyberchaos.dev
Tue Oct 6 11:09:47 PDT 2026
On 10/6/26 18:00, Rob Herring wrote:
> On Fri, Sep 25, 2026 at 10:09:31PM +1000, Michael Reeves wrote:
> [...]
>> +
>> + mboxes:
>> + items:
>> + - description: ASC mailbox used for RTKit control
>> + - description: DockChannel FIFO mailbox used for HID packets
>> +
>> + mbox-names:
>> + items:
>> + - const: asc
>> + - const: dockchannel
>> +
>> + iommus:
>> + maxItems: 1
>> +
>> + stm:
>> + type: object
>> + description:
>> + STM interface providing the vendor, product and version identifiers
>> + and serial number shared by the HID devices. When present, the host
>> + must query this interface before registering the keyboard.
>> + additionalProperties: false
> An empty node is unusual. Why can't you just query the STM interface and
> treat it not existing or having those properties the same as no 'stm'
> node.
The issue is there is no indicator for the stm *not* being present: We
boot the MTP coprocessor, and then receive a message when the stm is
available. In that case we know it's ready and we can proceed with
obtaining the serial numbers and registering the hid devices. But if
there is no stm, we simply do not get the stm ready message, and the hid
devices are never registered (this is the case in the original
downstream Asahi dockchannel-hid). To make the stm optional *without*
taking the information from the device tree, this would require some
sort of timeout for waiting for the stm ready message. I outlined the
available options in this thread[1] and argued the empty stm subnode
makes sense, since this is describing a peripheral which may or may not
be present (and this information is useful to initialize the device
properly).
Link[1]:
https://lore.kernel.org/asahi/bbaca769-312c-4a24-9524-16cb2b4f277f@cyberchaos.dev/
Thanks,
- Yureka
More information about the linux-arm-kernel
mailing list