Skip to content

Commit 0faa3d2

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 244f557 commit 0faa3d2

1 file changed

Lines changed: 93 additions & 0 deletions

File tree

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
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.
15+
16+
properties:
17+
compatible:
18+
oneOf:
19+
- items:
20+
- const: apple,t6020-dockchannel-hid
21+
- items:
22+
- const: apple,t8112-dockchannel-hid
23+
- const: apple,t6020-dockchannel-hid
24+
25+
reg:
26+
items:
27+
- description: Configuration registers
28+
- description: Data FIFO registers
29+
30+
reg-names:
31+
items:
32+
- const: config
33+
- const: data
34+
35+
interrupts:
36+
items:
37+
- description: TX interrupt
38+
- description: RX interrupt
39+
40+
interrupt-names:
41+
items:
42+
- const: tx
43+
- const: rx
44+
45+
mboxes:
46+
maxItems: 1
47+
48+
iommus:
49+
maxItems: 1
50+
51+
apple,mtp:
52+
$ref: /schemas/types.yaml#/definitions/phandle
53+
description: Phandle to the co-processor (MTP) node.
54+
55+
keyboard:
56+
type: object
57+
description: |
58+
Optional properties for the internal keyboard.
59+
properties:
60+
hid-country-code:
61+
$ref: /schemas/types.yaml#/definitions/uint32
62+
description: The USB HID country code for the keyboard layout.
63+
additionalProperties: false
64+
65+
required:
66+
- compatible
67+
- reg
68+
- reg-names
69+
- interrupts
70+
- interrupt-names
71+
- mboxes
72+
- iommus
73+
- apple,mtp
74+
75+
additionalProperties: false
76+
77+
examples:
78+
- |
79+
#include <dt-bindings/interrupt-controller/irq.h>
80+
input@8000 {
81+
compatible = "apple,t6020-dockchannel-hid";
82+
reg = <0x8000 0x4000>, <0xc000 0x4000>;
83+
reg-names = "config", "data";
84+
mboxes = <&mtp_mbox>;
85+
iommus = <&mtp_dart 1>;
86+
apple,mtp = <&mtp>;
87+
interrupts = <2 IRQ_TYPE_LEVEL_HIGH>, <3 IRQ_TYPE_LEVEL_HIGH>;
88+
interrupt-names = "tx", "rx";
89+
90+
keyboard {
91+
hid-country-code = <0>;
92+
};
93+
};

0 commit comments

Comments
 (0)