summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/apple/t8112-j493.dts
blob: fb8ad7d4c65a8fe7966f5541f24f03a379143cfb (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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
// SPDX-License-Identifier: GPL-2.0+ OR MIT
/*
 * Apple MacBook Pro (13-inch, M1, 2022)
 *
 * target-type: J493
 *
 * Copyright The Asahi Linux Contributors
 */

/dts-v1/;

#include "t8112.dtsi"
#include "t8112-jxxx.dtsi"
#include <dt-bindings/leds/common.h>

/ {
	compatible = "apple,j493", "apple,t8112", "apple,arm-platform";
	model = "Apple MacBook Pro (13-inch, M2, 2022)";

	/*
	 * All of those are used by the bootloader to pass calibration
	 * blobs and other device-specific properties
	 */
	aliases {
		bluetooth0 = &bluetooth0;
		touchbar0 = &touchbar0;
		wifi0 = &wifi0;
	};

	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";
		};
	};
};

/*
 * 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,j493-summit", "apple,summit";
		reg = <0>;
		max-brightness = <255>;

		port {
			dfr_panel_in: endpoint {
				remote-endpoint = <&dfr_mipi_out_panel>;
			};
		};
	};
};

&displaydfr_dart {
	status = "okay";
};

/*
 * Force the bus number assignments so that we can declare some of the
 * on-board devices and properties that are populated by the bootloader
 * (such as MAC addresses).
 */
&port00 {
	bus-range = <1 1>;
	wifi0: wifi@0,0 {
		compatible = "pci14e4,4425";
		reg = <0x10000 0x0 0x0 0x0 0x0>;
		/* To be filled by the loader */
		local-mac-address = [00 00 00 00 00 00];
		apple,antenna-sku = "XX";
		brcm,board-type = "apple,kyushu";
	};

	bluetooth0: bluetooth@0,1 {
		compatible = "pci14e4,5f69";
		reg = <0x10100 0x0 0x0 0x0 0x0>;
		/* To be filled by the loader */
		local-bd-address = [00 00 00 00 00 00];
		brcm,board-type = "apple,kyushu";
	};
};

&i2c4 {
	status = "okay";
};

&fpwm1 {
	status = "okay";
};

&spi3 {
	status = "okay";

	touchbar0: touchbar@0 {
		compatible = "apple,j493-touchbar";
		reg = <0>;
		spi-max-frequency = <8000000>;
		spi-cs-setup-delay-ns = <2000>;
		spi-cs-hold-delay-ns = <2000>;
		reset-gpios = <&pinctrl_ap 170 GPIO_ACTIVE_LOW>;
		interrupts-extended = <&pinctrl_ap 174 IRQ_TYPE_EDGE_FALLING>;
		firmware-name = "apple/dfrmtfw-j493.bin";
		touchscreen-size-x = <23045>;
		touchscreen-size-y = <640>;
		touchscreen-inverted-y;
	};
};