Re: [PATCH v4 04/10] dt-bindings: input: apple: Add DockChannel HID transport
From: Yureka Lilian
Date: Tue Oct 06 2026 - 14:16:42 EST
On 10/6/26 18:00, Rob Herring wrote:
On Fri, Sep 25, 2026 at 10:09:31PM +1000, Michael Reeves wrote:
[...]
+An empty node is unusual. Why can't you just query the STM interface and
+ 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
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@xxxxxxxxxxxxxx/
Thanks,
- Yureka