Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/contrib/device-tree/src/arm64/apple/t8112-j493.dts
109355 views
// 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;
	};
};