xref: /linux/scripts/dtc/include-prefixes/arm64/apple/t6022-j180d.dts (revision 0f048c878ee32a4259dbf28e0ad8fd0b71ee0085)
1*637f7d2cSHector Martin// SPDX-License-Identifier: GPL-2.0+ OR MIT
2*637f7d2cSHector Martin/*
3*637f7d2cSHector Martin * Mac Pro (M2 Ultra, 2023)
4*637f7d2cSHector Martin *
5*637f7d2cSHector Martin * target-type: J180d
6*637f7d2cSHector Martin *
7*637f7d2cSHector Martin * Copyright The Asahi Linux Contributors
8*637f7d2cSHector Martin */
9*637f7d2cSHector Martin
10*637f7d2cSHector Martin/dts-v1/;
11*637f7d2cSHector Martin
12*637f7d2cSHector Martin#include "t6022.dtsi"
13*637f7d2cSHector Martin#include "t6022-jxxxd.dtsi"
14*637f7d2cSHector Martin
15*637f7d2cSHector Martin/ {
16*637f7d2cSHector Martin	compatible = "apple,j180d", "apple,t6022", "apple,arm-platform";
17*637f7d2cSHector Martin	model = "Apple Mac Pro (M2 Ultra, 2023)";
18*637f7d2cSHector Martin	aliases {
19*637f7d2cSHector Martin		nvram = &nvram;
20*637f7d2cSHector Martin		serial0 = &serial0;
21*637f7d2cSHector Martin	};
22*637f7d2cSHector Martin
23*637f7d2cSHector Martin	chosen {
24*637f7d2cSHector Martin		#address-cells = <2>;
25*637f7d2cSHector Martin		#size-cells = <2>;
26*637f7d2cSHector Martin		ranges;
27*637f7d2cSHector Martin
28*637f7d2cSHector Martin		stdout-path = "serial0";
29*637f7d2cSHector Martin
30*637f7d2cSHector Martin		framebuffer0: framebuffer@0 {
31*637f7d2cSHector Martin			compatible = "apple,simple-framebuffer", "simple-framebuffer";
32*637f7d2cSHector Martin			reg = <0 0 0 0>; /* To be filled by loader */
33*637f7d2cSHector Martin			/* Format properties will be added by loader */
34*637f7d2cSHector Martin			status = "disabled";
35*637f7d2cSHector Martin			power-domains = <&ps_dispext0_cpu0_die1>, <&ps_dptx_phy_ps_die1>;
36*637f7d2cSHector Martin		};
37*637f7d2cSHector Martin	};
38*637f7d2cSHector Martin
39*637f7d2cSHector Martin	memory@10000000000 {
40*637f7d2cSHector Martin		device_type = "memory";
41*637f7d2cSHector Martin		reg = <0x100 0 0x2 0>; /* To be filled by loader */
42*637f7d2cSHector Martin	};
43*637f7d2cSHector Martin};
44*637f7d2cSHector Martin
45*637f7d2cSHector Martin&serial0 {
46*637f7d2cSHector Martin	status = "okay";
47*637f7d2cSHector Martin};
48*637f7d2cSHector Martin
49*637f7d2cSHector Martin/* USB Type C Rear */
50*637f7d2cSHector Martin&i2c0 {
51*637f7d2cSHector Martin	hpm2: usb-pd@3b {
52*637f7d2cSHector Martin		compatible = "apple,cd321x";
53*637f7d2cSHector Martin		reg = <0x3b>;
54*637f7d2cSHector Martin		interrupt-parent = <&pinctrl_ap>;
55*637f7d2cSHector Martin		interrupts = <44 IRQ_TYPE_LEVEL_LOW>;
56*637f7d2cSHector Martin		interrupt-names = "irq";
57*637f7d2cSHector Martin	};
58*637f7d2cSHector Martin
59*637f7d2cSHector Martin	hpm3: usb-pd@3c {
60*637f7d2cSHector Martin		compatible = "apple,cd321x";
61*637f7d2cSHector Martin		reg = <0x3c>;
62*637f7d2cSHector Martin		interrupt-parent = <&pinctrl_ap>;
63*637f7d2cSHector Martin		interrupts = <44 IRQ_TYPE_LEVEL_LOW>;
64*637f7d2cSHector Martin		interrupt-names = "irq";
65*637f7d2cSHector Martin	};
66*637f7d2cSHector Martin
67*637f7d2cSHector Martin	/* hpm4 and hpm5 included from t6022-jxxxd.dtsi */
68*637f7d2cSHector Martin
69*637f7d2cSHector Martin	hpm6: usb-pd@3d {
70*637f7d2cSHector Martin		compatible = "apple,cd321x";
71*637f7d2cSHector Martin		reg = <0x3d>;
72*637f7d2cSHector Martin		interrupt-parent = <&pinctrl_ap>;
73*637f7d2cSHector Martin		interrupts = <44 IRQ_TYPE_LEVEL_LOW>;
74*637f7d2cSHector Martin		interrupt-names = "irq";
75*637f7d2cSHector Martin	};
76*637f7d2cSHector Martin
77*637f7d2cSHector Martin	hpm7: usb-pd@3e {
78*637f7d2cSHector Martin		compatible = "apple,cd321x";
79*637f7d2cSHector Martin		reg = <0x3e>;
80*637f7d2cSHector Martin		interrupt-parent = <&pinctrl_ap>;
81*637f7d2cSHector Martin		interrupts = <44 IRQ_TYPE_LEVEL_LOW>;
82*637f7d2cSHector Martin		interrupt-names = "irq";
83*637f7d2cSHector Martin	};
84*637f7d2cSHector Martin};
85*637f7d2cSHector Martin
86*637f7d2cSHector Martin/* USB Type C Front */
87*637f7d2cSHector Martin&i2c3 {
88*637f7d2cSHector Martin	status = "okay";
89*637f7d2cSHector Martin
90*637f7d2cSHector Martin	hpm0: usb-pd@38 {
91*637f7d2cSHector Martin		compatible = "apple,cd321x";
92*637f7d2cSHector Martin		reg = <0x38>;
93*637f7d2cSHector Martin		interrupt-parent = <&pinctrl_ap>;
94*637f7d2cSHector Martin		interrupts = <60 IRQ_TYPE_LEVEL_LOW>;
95*637f7d2cSHector Martin		interrupt-names = "irq";
96*637f7d2cSHector Martin	};
97*637f7d2cSHector Martin
98*637f7d2cSHector Martin	hpm1: usb-pd@3f {
99*637f7d2cSHector Martin		compatible = "apple,cd321x";
100*637f7d2cSHector Martin		reg = <0x3f>;
101*637f7d2cSHector Martin		interrupt-parent = <&pinctrl_ap>;
102*637f7d2cSHector Martin		interrupts = <60 IRQ_TYPE_LEVEL_LOW>;
103*637f7d2cSHector Martin		interrupt-names = "irq";
104*637f7d2cSHector Martin	};
105*637f7d2cSHector Martin};
106*637f7d2cSHector Martin
107*637f7d2cSHector Martin/*
108*637f7d2cSHector Martin * Delete unused PCIe nodes, the Mac Pro uses slightly different PCIe
109*637f7d2cSHector Martin * controllers with a single port connected to a PM40100 PCIe switch
110*637f7d2cSHector Martin */
111*637f7d2cSHector Martin/delete-node/ &pcie0;
112*637f7d2cSHector Martin/delete-node/ &pcie0_dart_0;
113*637f7d2cSHector Martin/delete-node/ &pcie0_dart_1;
114*637f7d2cSHector Martin/delete-node/ &pcie0_dart_2;
115*637f7d2cSHector Martin/delete-node/ &pcie0_dart_3;
116*637f7d2cSHector Martin
117*637f7d2cSHector Martin&nco_clkref {
118*637f7d2cSHector Martin	clock-frequency = <1068000000>;
119*637f7d2cSHector Martin};
120*637f7d2cSHector Martin
121*637f7d2cSHector Martin#include "spi1-nvram.dtsi"
122