Skip to content

Commit 59116ed

Browse files
committed
dt-bindings: input: apple: Add Dockchannel HID bindings
This adds device tree bindings for the DockChannel HID node required to enable internal keyboard/trackpad support on Apple Silicon M2 and later laptops. Signed-off-by: Michael Reeves <[email protected]>
1 parent e246d5f commit 59116ed

1 file changed

Lines changed: 102 additions & 0 deletions

File tree

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/input/apple,dockchannel-hid.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Apple DockChannel HID Transport
8+
9+
maintainers:
10+
- Michael Reeves <[email protected]>
11+
12+
description: |
13+
Transport layer for HID devices (keyboard, trackpad) connected via the
14+
DockChannel FIFO interface on Apple Silicon SoCs. Contains a minimal
15+
coprocessor called the MTP (Multi-Touch Coprocessor) which assists with
16+
this and must be booted for it to work.
17+
18+
properties:
19+
compatible:
20+
oneOf:
21+
- items:
22+
- const: apple,t8112-dockchannel-hid
23+
- items:
24+
- const: apple,t6020-dockchannel-hid
25+
- const: apple,t8112-dockchannel-hid
26+
27+
reg:
28+
items:
29+
- description: Config interface registers
30+
- description: Data interface registers
31+
- description: Coprocessor ASC registers
32+
- description: Coprocessor SRAM/mailbox registers
33+
34+
reg-names:
35+
items:
36+
- const: config
37+
- const: data
38+
- const: coproc-asc
39+
- const: coproc-sram
40+
41+
interrupts:
42+
items:
43+
- description: TX interrupt
44+
- description: RX interrupt
45+
46+
interrupt-names:
47+
items:
48+
- const: tx
49+
- const: rx
50+
51+
mboxes:
52+
maxItems: 1
53+
54+
iommus:
55+
maxItems: 1
56+
57+
keyboard:
58+
type: object
59+
description: |
60+
Optional properties for the internal keyboard.
61+
properties:
62+
hid-country-code:
63+
$ref: /schemas/types.yaml#/definitions/uint32
64+
description: The USB HID country code for the keyboard layout.
65+
additionalProperties: false
66+
67+
required:
68+
- compatible
69+
- reg
70+
- reg-names
71+
- interrupts
72+
- interrupt-names
73+
- mboxes
74+
- iommus
75+
76+
additionalProperties: false
77+
78+
examples:
79+
- |
80+
#include <dt-bindings/interrupt-controller/irq.h>
81+
82+
soc {
83+
#address-cells = <2>;
84+
#size-cells = <2>;
85+
86+
input@8000 {
87+
compatible = "apple,t8112-dockchannel-hid";
88+
reg = <0x2 0xfab30000 0x0 0x4000>,
89+
<0x2 0xfab34000 0x0 0x4000>,
90+
<0x2 0xfa400000 0x0 0x4000>,
91+
<0x2 0xfa050000 0x0 0x100000>;
92+
reg-names = "config", "data", "coproc-asc", "coproc-sram";
93+
mboxes = <&mtp_mbox>;
94+
iommus = <&mtp_dart 1>;
95+
interrupts = <2 IRQ_TYPE_LEVEL_HIGH>, <3 IRQ_TYPE_LEVEL_HIGH>;
96+
interrupt-names = "tx", "rx";
97+
98+
keyboard {
99+
hid-country-code = <0>;
100+
};
101+
};
102+
};

0 commit comments

Comments
 (0)