Skip to content

Commit 244f557

Browse files
committed
dt-bindings: soc: apple: Add Dockchannel and MTP bindings
This adds device tree bindings for the DockChannel, DockChannel HID and MTP nodes required to enable internal keyboard/trackpad support on M2 and later Apple Silicon laptops. Signed-off-by: Michael Reeves <[email protected]>
1 parent 8f0b4cc commit 244f557

2 files changed

Lines changed: 139 additions & 0 deletions

File tree

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
# Copyright (c) 2025 The Asahi Linux contributors
3+
%YAML 1.2
4+
---
5+
$id: http://devicetree.org/schemas/soc/apple/apple,dockchannel.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Apple DockChannel FIFO
9+
10+
maintainers:
11+
- Michael Reeves <[email protected]>
12+
13+
description: |
14+
DockChannel is a hardware FIFO and interrupt controller used on Apple SoCs
15+
for low-latency communication with co-processors.
16+
17+
properties:
18+
compatible:
19+
oneOf:
20+
- items:
21+
- const: apple,t6020-dockchannel
22+
- items:
23+
- const: apple,t8112-dockchannel
24+
- const: apple,t6020-dockchannel
25+
26+
reg:
27+
maxItems: 1
28+
29+
interrupts:
30+
maxItems: 1
31+
32+
interrupt-controller: true
33+
34+
"#interrupt-cells":
35+
const: 2
36+
37+
ranges: true
38+
39+
nonposted-mmio: true
40+
41+
"#address-cells":
42+
const: 1
43+
44+
"#size-cells":
45+
const: 1
46+
47+
patternProperties:
48+
"^input@[0-9a-f]+$":
49+
$ref: /schemas/input/apple,dockchannel-hid.yaml
50+
51+
required:
52+
- compatible
53+
- reg
54+
- interrupts
55+
- interrupt-controller
56+
- "#interrupt-cells"
57+
- ranges
58+
- "#address-cells"
59+
- "#size-cells"
60+
61+
additionalProperties: false
62+
63+
examples:
64+
- |
65+
#include <dt-bindings/interrupt-controller/apple-aic.h>
66+
#include <dt-bindings/interrupt-controller/irq.h>
67+
68+
soc {
69+
#address-cells = <2>;
70+
#size-cells = <2>;
71+
72+
fifo@2a9b14000 {
73+
compatible = "apple,t6020-dockchannel";
74+
reg = <0x2 0xa9b14000 0x0 0x4000>;
75+
interrupt-parent = <&aic>;
76+
interrupts = <AIC_IRQ 677 IRQ_TYPE_LEVEL_HIGH>;
77+
ranges = <0 0x2 0xa9b28000 0x20000>;
78+
nonposted-mmio;
79+
#address-cells = <1>;
80+
#size-cells = <1>;
81+
interrupt-controller;
82+
#interrupt-cells = <2>;
83+
};
84+
};
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/soc/apple/apple,mtp.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Apple MTP Co-processor
8+
9+
maintainers:
10+
- Michael Reeves <[email protected]>
11+
12+
description: |
13+
The MTP (Multi-Touch Processor) is an ARM-based co-processor
14+
responsible for assisting with DockChannel HID communication on
15+
M2 and later Apple Silicon laptops.
16+
17+
properties:
18+
compatible:
19+
oneOf:
20+
- items:
21+
- const: apple,t6020-mtp
22+
- items:
23+
- const: apple,t8112-mtp
24+
- const: apple,t6020-mtp
25+
26+
reg:
27+
items:
28+
- description: ASC control registers
29+
- description: SRAM/Shared memory region
30+
31+
reg-names:
32+
items:
33+
- const: asc
34+
- const: sram
35+
36+
required:
37+
- compatible
38+
- reg
39+
- reg-names
40+
41+
additionalProperties: false
42+
43+
examples:
44+
- |
45+
soc {
46+
#address-cells = <2>;
47+
#size-cells = <2>;
48+
49+
mtp: mtp@2a9400000 {
50+
compatible = "apple,t6020-mtp";
51+
reg = <0x2 0xa9400000 0x0 0x4000>,
52+
<0x2 0xa9c00000 0x0 0x100000>;
53+
reg-names = "asc", "sram";
54+
};
55+
};

0 commit comments

Comments
 (0)