1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
// SPDX-License-Identifier: GPL-2.0+ OR MIT
/*
* Apple MacBook Pro (13-inch, M1, 2020)
*
* target-type: J293
*
* Copyright The Asahi Linux Contributors
*/
/dts-v1/;
#include "t8103.dtsi"
#include "t8103-jxxx.dtsi"
#include <dt-bindings/leds/common.h>
/ {
compatible = "apple,j293", "apple,t8103", "apple,arm-platform";
model = "Apple MacBook Pro (13-inch, M1, 2020)";
/*
* All of those are used by the bootloader to pass calibration
* blobs and other device-specific properties
*/
aliases {
touchbar0 = &touchbar0;
};
led-controller {
compatible = "pwm-leds";
led-0 {
pwms = <&fpwm1 0 40000>;
label = "kbd_backlight";
function = LED_FUNCTION_KBD_BACKLIGHT;
color = <LED_COLOR_ID_WHITE>;
max-brightness = <255>;
default-state = "keep";
};
};
};
&bluetooth0 {
brcm,board-type = "apple,honshu";
};
&wifi0 {
brcm,board-type = "apple,honshu";
};
&i2c2 {
status = "okay";
};
&i2c4 {
status = "okay";
};
&fpwm1 {
status = "okay";
};
&spi0 {
cs-gpios = <&pinctrl_ap 109 GPIO_ACTIVE_LOW>;
status = "okay";
touchbar0: touchbar@0 {
compatible = "apple,j293-touchbar";
reg = <0>;
spi-max-frequency = <11500000>;
spi-cs-setup-delay-ns = <2000>;
spi-cs-hold-delay-ns = <2000>;
reset-gpios = <&pinctrl_ap 139 GPIO_ACTIVE_LOW>;
interrupts-extended = <&pinctrl_ap 194 IRQ_TYPE_EDGE_FALLING>;
firmware-name = "apple/dfrmtfw-j293.bin";
touchscreen-size-x = <23045>;
touchscreen-size-y = <640>;
touchscreen-inverted-y;
};
};
/*
* The driver depends on boot loader initialized state which resets when this
* power-domain is powered off. This happens on suspend or when the driver is
* missing during boot. Mark the domain as always on until the driver can
* handle this.
*/
&ps_dispdfr_be {
apple,always-on;
};
&display_dfr {
status = "okay";
};
&dfr_mipi_out {
dfr_mipi_out_panel: endpoint@0 {
reg = <0>;
remote-endpoint = <&dfr_panel_in>;
};
};
&displaydfr_mipi {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
dfr_panel: panel@0 {
compatible = "apple,j293-summit", "apple,summit";
reg = <0>;
max-brightness = <255>;
port {
dfr_panel_in: endpoint {
remote-endpoint = <&dfr_mipi_out_panel>;
};
};
};
};
&displaydfr_dart {
status = "okay";
};
|