Skip to content

Commit 7a108b9

Browse files
dt-bindings: display: Add Apple pre-DCP display controller
Add bindings for a secondary display controller present on certain Apple laptops. Reviewed-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Neal Gompa <[email protected]> Signed-off-by: Sasha Finkelstein <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Signed-off-by: Alyssa Rosenzweig <[email protected]>
1 parent 0670c2f commit 7a108b9

File tree

3 files changed

+229
-0
lines changed

3 files changed

+229
-0
lines changed
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/apple,h7-display-pipe-mipi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Apple pre-DCP display controller MIPI interface
8+
9+
maintainers:
10+
- Sasha Finkelstein <[email protected]>
11+
12+
description:
13+
The MIPI controller part of the pre-DCP Apple display controller
14+
15+
allOf:
16+
- $ref: dsi-controller.yaml#
17+
18+
properties:
19+
compatible:
20+
items:
21+
- enum:
22+
- apple,t8112-display-pipe-mipi
23+
- apple,t8103-display-pipe-mipi
24+
- const: apple,h7-display-pipe-mipi
25+
26+
reg:
27+
maxItems: 1
28+
29+
power-domains:
30+
maxItems: 1
31+
32+
ports:
33+
$ref: /schemas/graph.yaml#/properties/ports
34+
35+
properties:
36+
port@0:
37+
$ref: /schemas/graph.yaml#/properties/port
38+
description: Input port. Always connected to the primary controller
39+
40+
port@1:
41+
$ref: /schemas/graph.yaml#/properties/port
42+
description: Output MIPI DSI port to the panel
43+
44+
required:
45+
- port@0
46+
- port@1
47+
48+
required:
49+
- compatible
50+
- reg
51+
- ports
52+
53+
unevaluatedProperties: false
54+
55+
examples:
56+
- |
57+
dsi@28200000 {
58+
compatible = "apple,t8103-display-pipe-mipi", "apple,h7-display-pipe-mipi";
59+
reg = <0x28200000 0xc000>;
60+
power-domains = <&ps_dispdfr_mipi>;
61+
62+
ports {
63+
#address-cells = <1>;
64+
#size-cells = <0>;
65+
66+
port@0 {
67+
reg = <0>;
68+
69+
dfr_adp_out_mipi: endpoint {
70+
remote-endpoint = <&dfr_adp_out_mipi>;
71+
};
72+
};
73+
74+
port@1 {
75+
reg = <1>;
76+
77+
dfr_panel_in: endpoint {
78+
remote-endpoint = <&dfr_mipi_out_panel>;
79+
};
80+
};
81+
};
82+
};
83+
...
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/apple,h7-display-pipe.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Apple pre-DCP display controller
8+
9+
maintainers:
10+
- Sasha Finkelstein <[email protected]>
11+
12+
description:
13+
A secondary display controller used to drive the "touchbar" on
14+
certain Apple laptops.
15+
16+
properties:
17+
compatible:
18+
items:
19+
- enum:
20+
- apple,t8112-display-pipe
21+
- apple,t8103-display-pipe
22+
- const: apple,h7-display-pipe
23+
24+
reg:
25+
items:
26+
- description: Primary register block, controls planes and blending
27+
- description:
28+
Contains other configuration registers like interrupt
29+
and FIFO control
30+
31+
reg-names:
32+
items:
33+
- const: be
34+
- const: fe
35+
36+
power-domains:
37+
description:
38+
Phandles to pmgr entries that are needed for this controller to turn on.
39+
Aside from that, their specific functions are unknown
40+
maxItems: 2
41+
42+
interrupts:
43+
items:
44+
- description: Unknown function
45+
- description: Primary interrupt. Vsync events are reported via it
46+
47+
interrupt-names:
48+
items:
49+
- const: be
50+
- const: fe
51+
52+
iommus:
53+
maxItems: 1
54+
55+
port:
56+
$ref: /schemas/graph.yaml#/properties/port
57+
description: Output port. Always connected to apple,h7-display-pipe-mipi
58+
59+
required:
60+
- compatible
61+
- reg
62+
- interrupts
63+
- port
64+
65+
additionalProperties: false
66+
67+
examples:
68+
- |
69+
#include <dt-bindings/interrupt-controller/apple-aic.h>
70+
display-pipe@28200000 {
71+
compatible = "apple,t8103-display-pipe", "apple,h7-display-pipe";
72+
reg = <0x28200000 0xc000>,
73+
<0x28400000 0x4000>;
74+
reg-names = "be", "fe";
75+
power-domains = <&ps_dispdfr_fe>, <&ps_dispdfr_be>;
76+
interrupt-parent = <&aic>;
77+
interrupts = <AIC_IRQ 502 IRQ_TYPE_LEVEL_HIGH>,
78+
<AIC_IRQ 506 IRQ_TYPE_LEVEL_HIGH>;
79+
interrupt-names = "be", "fe";
80+
iommus = <&displaydfr_dart 0>;
81+
82+
port {
83+
dfr_adp_out_mipi: endpoint {
84+
remote-endpoint = <&dfr_mipi_in_adp>;
85+
};
86+
};
87+
};
88+
...
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/panel/apple,summit.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Apple "Summit" display panel
8+
9+
maintainers:
10+
- Sasha Finkelstein <[email protected]>
11+
12+
description:
13+
An OLED panel used as a touchbar on certain Apple laptops.
14+
Contains a backlight device, which controls brightness of the panel itself.
15+
The backlight common properties are included for this reason
16+
17+
allOf:
18+
- $ref: panel-common.yaml#
19+
- $ref: /schemas/leds/backlight/common.yaml#
20+
21+
properties:
22+
compatible:
23+
items:
24+
- enum:
25+
- apple,j293-summit
26+
- apple,j493-summit
27+
- const: apple,summit
28+
29+
reg:
30+
maxItems: 1
31+
32+
required:
33+
- compatible
34+
- reg
35+
- max-brightness
36+
- port
37+
38+
unevaluatedProperties: false
39+
40+
examples:
41+
- |
42+
dsi {
43+
#address-cells = <1>;
44+
#size-cells = <0>;
45+
46+
panel@0 {
47+
compatible = "apple,j293-summit", "apple,summit";
48+
reg = <0>;
49+
max-brightness = <255>;
50+
51+
port {
52+
endpoint {
53+
remote-endpoint = <&dfr_bridge_out>;
54+
};
55+
};
56+
};
57+
};
58+
...

0 commit comments

Comments
 (0)