Re: [PATCH v4 04/10] dt-bindings: input: apple: Add DockChannel HID transport

From: Rob Herring

Date: Tue Oct 06 2026 - 12:06:31 EST


On Fri, Sep 25, 2026 at 10:09:31PM +1000, Michael Reeves wrote:
> Apple internal keyboards and trackpads behind MTP are exposed through a
> DockChannel HID transport.
>
> Describe the transport's mailboxes, DART and HID child interfaces. An
> optional STM child supplies shared device identifiers and serial numbers;
> the keyboard child can specify its HID country code for layout selection.
>
> Signed-off-by: Michael Reeves <michael.reeves077@xxxxxxxxx>
>
> ---
> Conor's v1 Reviewed-by is not carried forward because v2 adds the STM binding.
> ---
> .../input/apple,t8112-dockchannel-hid.yaml | 104 +++++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 105 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/input/apple,t8112-dockchannel-hid.yaml b/Documentation/devicetree/bindings/input/apple,t8112-dockchannel-hid.yaml
> new file mode 100644
> index 000000000..c25e072b6
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/apple,t8112-dockchannel-hid.yaml
> @@ -0,0 +1,104 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/apple,t8112-dockchannel-hid.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Apple DockChannel HID Transport
> +
> +maintainers:
> + - Michael Reeves <michael.reeves077@xxxxxxxxx>
> +
> +description:
> + HID transport for keyboard and trackpad devices connected via the
> + DockChannel FIFO mailbox on Apple Silicon SoCs. The endpoint includes a
> + small RTKit coprocessor called MTP which must be booted before the HID
> + transport becomes available.
> +
> +properties:
> + compatible:
> + oneOf:
> + - items:
> + - const: apple,t8112-dockchannel-hid
> + - items:
> + - enum:
> + - apple,t6020-dockchannel-hid
> + - apple,t6030-dockchannel-hid
> + - apple,t6031-dockchannel-hid
> + - apple,t8122-dockchannel-hid
> + - const: apple,t8112-dockchannel-hid
> +
> + reg:
> + items:
> + - description: Coprocessor ASC registers
> + - description: Coprocessor SRAM/mailbox registers
> +
> + reg-names:
> + items:
> + - const: coproc-asc
> + - const: coproc-sram

'coproc-' seems redundant?

> +
> + 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.

> +
> + keyboard:
> + type: object
> + properties:
> + hid-country-code:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + HID country code for the keyboard layout variant.

Why does this need its own node?

And address sashiko's comment. Seems like it could be common? I'll defer
to HID folks.

Rob