xref: /linux/arch/arm64/boot/dts/apple/t8112-j493.dts (revision e7e86d7697c6ed1dbbde18d7185c35b6967945ed)
1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2/*
3 * Apple MacBook Pro (13-inch, M1, 2022)
4 *
5 * target-type: J493
6 *
7 * Copyright The Asahi Linux Contributors
8 */
9
10/dts-v1/;
11
12#include "t8112.dtsi"
13#include "t8112-jxxx.dtsi"
14#include <dt-bindings/leds/common.h>
15
16/ {
17	compatible = "apple,j493", "apple,t8112", "apple,arm-platform";
18	model = "Apple MacBook Pro (13-inch, M2, 2022)";
19
20	/*
21	 * All of those are used by the bootloader to pass calibration
22	 * blobs and other device-specific properties
23	 */
24	aliases {
25		bluetooth0 = &bluetooth0;
26		touchbar0 = &touchbar0;
27		wifi0 = &wifi0;
28	};
29
30	led-controller {
31		compatible = "pwm-leds";
32		led-0 {
33			pwms = <&fpwm1 0 40000>;
34			label = "kbd_backlight";
35			function = LED_FUNCTION_KBD_BACKLIGHT;
36			color = <LED_COLOR_ID_WHITE>;
37			max-brightness = <255>;
38			default-state = "keep";
39		};
40	};
41};
42
43/*
44 * The driver depends on boot loader initialized state which resets when this
45 * power-domain is powered off. This happens on suspend or when the driver is
46 * missing during boot. Mark the domain as always on until the driver can
47 * handle this.
48 */
49&ps_dispdfr_be {
50	apple,always-on;
51};
52
53&display_dfr {
54	status = "okay";
55};
56
57&dfr_mipi_out {
58	dfr_mipi_out_panel: endpoint@0 {
59		reg = <0>;
60		remote-endpoint = <&dfr_panel_in>;
61	};
62};
63
64&displaydfr_mipi {
65	status = "okay";
66	#address-cells = <1>;
67	#size-cells = <0>;
68
69	dfr_panel: panel@0 {
70		compatible = "apple,j493-summit", "apple,summit";
71		reg = <0>;
72		max-brightness = <255>;
73
74		port {
75			dfr_panel_in: endpoint {
76				remote-endpoint = <&dfr_mipi_out_panel>;
77			};
78		};
79	};
80};
81
82&displaydfr_dart {
83	status = "okay";
84};
85
86/*
87 * Force the bus number assignments so that we can declare some of the
88 * on-board devices and properties that are populated by the bootloader
89 * (such as MAC addresses).
90 */
91&port00 {
92	bus-range = <1 1>;
93	wifi0: wifi@0,0 {
94		compatible = "pci14e4,4425";
95		reg = <0x10000 0x0 0x0 0x0 0x0>;
96		/* To be filled by the loader */
97		local-mac-address = [00 00 00 00 00 00];
98		apple,antenna-sku = "XX";
99		brcm,board-type = "apple,kyushu";
100	};
101
102	bluetooth0: bluetooth@0,1 {
103		compatible = "pci14e4,5f69";
104		reg = <0x10100 0x0 0x0 0x0 0x0>;
105		/* To be filled by the loader */
106		local-bd-address = [00 00 00 00 00 00];
107		brcm,board-type = "apple,kyushu";
108	};
109};
110
111&i2c4 {
112	status = "okay";
113};
114
115&fpwm1 {
116	status = "okay";
117};
118
119&spi3 {
120	status = "okay";
121
122	touchbar0: touchbar@0 {
123		compatible = "apple,j493-touchbar";
124		reg = <0>;
125		spi-max-frequency = <8000000>;
126		spi-cs-setup-delay-ns = <2000>;
127		spi-cs-hold-delay-ns = <2000>;
128		reset-gpios = <&pinctrl_ap 170 GPIO_ACTIVE_LOW>;
129		interrupts-extended = <&pinctrl_ap 174 IRQ_TYPE_EDGE_FALLING>;
130		firmware-name = "apple/dfrmtfw-j493.bin";
131		touchscreen-size-x = <23045>;
132		touchscreen-size-y = <640>;
133		touchscreen-inverted-y;
134	};
135};
136