[PATCH v4 04/10] dt-bindings: input: apple: Add DockChannel HID transport
Rob Herring
robh at kernel.org
Tue Oct 6 09:00:49 PDT 2026
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 at gmail.com>
>
> ---
> 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 at gmail.com>
> +
> +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
More information about the linux-arm-kernel
mailing list