Re: [PATCH v5 2/8] dt-bindings: input: apple: Add DockChannel HID transport
From: Krzysztof Kozlowski
Date: Tue Nov 10 2026 - 04:49:09 EST
On Sun, Nov 08, 2026 at 07:25:07AM +0000, Michael Reeves wrote:
> +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:
Just an enum instead of items and const below.
> + - 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: asc
> + - const: sram
> +
> + 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
> +
> + apple,has-stm:
> + type: boolean
> + description:
> + Specifies that the coprocessor provides STM device and serial
> + number query endpoints that must be ready before registering HID devices.
Isn't this implied by the compatible?
> +
> + hid-country-code:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + HID country code for the keyboard layout variant.
What is the meaning of values? Do they map to any existing ABI? Like USB
HID? Otherwise, why country code is 32 bit integer instead of ISO3166
codes? As pointed last time, this should go probably to a common hid
schema.
No default? Not required?
> +
> +required:
> + - compatible
> + - reg
> + - reg-names
> + - mboxes
> + - mbox-names
> + - iommus
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + soc {
> + #address-cells = <2>;
> + #size-cells = <2>;
> +
> + hid@24e400000 {
> + compatible = "apple,t8112-dockchannel-hid";
> + reg = <0x2 0x4e400000 0x0 0x4000>,
> + <0x2 0x4ec00000 0x0 0x100000>;
> + reg-names = "asc", "sram";
> + mboxes = <&mtp_mbox>, <&mtp_dockchannel>;
> + mbox-names = "asc", "dockchannel";
> + iommus = <&mtp_dart 1>;
> + apple,has-stm;
> + hid-country-code = <0>;
Which country is 0? Isn't this just a default?
> + };
> + };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 0c1963150f04..41b12717c657 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2714,6 +2714,7 @@ F: Documentation/devicetree/bindings/gpio/apple,smc-gpio.yaml
> F: Documentation/devicetree/bindings/gpu/apple,agx.yaml
> F: Documentation/devicetree/bindings/hwmon/apple,smc-hwmon.yaml
> F: Documentation/devicetree/bindings/i2c/apple,i2c.yaml
> +F: Documentation/devicetree/bindings/input/apple,t8112-dockchannel-hid.yaml
> F: Documentation/devicetree/bindings/input/touchscreen/apple,z2-multitouch.yaml
> F: Documentation/devicetree/bindings/interrupt-controller/apple,*
> F: Documentation/devicetree/bindings/iommu/apple,dart.yaml
>
> --
> 2.56.0
>