summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/apple/t8103-j293.dts
blob: 5b3c42e9f0e6776241bf746d3458766e44e3639a (plain)
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";
};