arm64: dts: apple: Add J375 devicetrees
authorJanne Grunau <j@jannau.net>
Fri, 16 Sep 2022 14:25:47 +0000 (16:25 +0200)
committerHector Martin <marcan@marcan.st>
Mon, 24 Oct 2022 04:44:22 +0000 (13:44 +0900)
These are the Mac Studio devices with M1 Max (t6001) and
M1 Ultra (t6002).

Signed-off-by: Janne Grunau <j@jannau.net>
Acked-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
arch/arm64/boot/dts/apple/Makefile
arch/arm64/boot/dts/apple/t6001-j375c.dts [new file with mode: 0644]
arch/arm64/boot/dts/apple/t6002-j375d.dts [new file with mode: 0644]
arch/arm64/boot/dts/apple/t600x-j375.dtsi [new file with mode: 0644]

index b021931..5a7506f 100644 (file)
@@ -8,3 +8,5 @@ dtb-$(CONFIG_ARCH_APPLE) += t6000-j314s.dtb
 dtb-$(CONFIG_ARCH_APPLE) += t6001-j314c.dtb
 dtb-$(CONFIG_ARCH_APPLE) += t6000-j316s.dtb
 dtb-$(CONFIG_ARCH_APPLE) += t6001-j316c.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t6001-j375c.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t6002-j375d.dtb
diff --git a/arch/arm64/boot/dts/apple/t6001-j375c.dts b/arch/arm64/boot/dts/apple/t6001-j375c.dts
new file mode 100644 (file)
index 0000000..62ea437
--- /dev/null
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Mac Studio (M1 Max, 2022)
+ *
+ * target-type: J375c
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6001.dtsi"
+#include "t600x-j375.dtsi"
+
+/ {
+       compatible = "apple,j375c", "apple,t6001", "apple,arm-platform";
+       model = "Apple Mac Studio (M1 Max, 2022)";
+};
diff --git a/arch/arm64/boot/dts/apple/t6002-j375d.dts b/arch/arm64/boot/dts/apple/t6002-j375d.dts
new file mode 100644 (file)
index 0000000..3365429
--- /dev/null
@@ -0,0 +1,50 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Mac Studio (M1 Ultra, 2022)
+ *
+ * target-type: J375d
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6002.dtsi"
+#include "t600x-j375.dtsi"
+
+/ {
+       compatible = "apple,j375d", "apple,t6002", "apple,arm-platform";
+       model = "Apple Mac Studio (M1 Ultra, 2022)";
+};
+
+/* USB Type C */
+&i2c0 {
+       /* front-right */
+       hpm4: usb-pd@39 {
+               compatible = "apple,cd321x";
+               reg = <0x39>;
+               interrupt-parent = <&pinctrl_ap>;
+               interrupts = <174 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-names = "irq";
+       };
+
+       /* front-left */
+       hpm5: usb-pd@3a {
+               compatible = "apple,cd321x";
+               reg = <0x3a>;
+               interrupt-parent = <&pinctrl_ap>;
+               interrupts = <174 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-names = "irq";
+       };
+};
+
+/* delete unused always-on power-domains on die 1 */
+
+/delete-node/ &ps_atc2_usb_aon_die1;
+/delete-node/ &ps_atc2_usb_die1;
+
+/delete-node/ &ps_atc3_usb_aon_die1;
+/delete-node/ &ps_atc3_usb_die1;
+
+/delete-node/ &ps_disp0_cpu0_die1;
+/delete-node/ &ps_disp0_fe_die1;
diff --git a/arch/arm64/boot/dts/apple/t600x-j375.dtsi b/arch/arm64/boot/dts/apple/t600x-j375.dtsi
new file mode 100644 (file)
index 0000000..99984b9
--- /dev/null
@@ -0,0 +1,113 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Mac Studio (2022)
+ *
+ * This file contains the parts common to J375 devices with both t6001 and t6002.
+ *
+ * target-type: J375c / J375d
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/ {
+       aliases {
+               serial0 = &serial0;
+               wifi0 = &wifi0;
+       };
+
+       chosen {
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+
+               stdout-path = "serial0";
+
+               framebuffer0: framebuffer@0 {
+                       compatible = "apple,simple-framebuffer", "simple-framebuffer";
+                       reg = <0 0 0 0>; /* To be filled by loader */
+                       /* Format properties will be added by loader */
+                       status = "disabled";
+               };
+       };
+
+       memory@10000000000 {
+               device_type = "memory";
+               reg = <0x100 0 0x2 0>; /* To be filled by loader */
+       };
+};
+
+&serial0 {
+       status = "okay";
+};
+
+/* USB Type C */
+&i2c0 {
+       hpm0: usb-pd@38 {
+               compatible = "apple,cd321x";
+               reg = <0x38>;
+               interrupt-parent = <&pinctrl_ap>;
+               interrupts = <174 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-names = "irq";
+       };
+
+       hpm1: usb-pd@3f {
+               compatible = "apple,cd321x";
+               reg = <0x3f>;
+               interrupt-parent = <&pinctrl_ap>;
+               interrupts = <174 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-names = "irq";
+       };
+
+       hpm2: usb-pd@3b {
+               compatible = "apple,cd321x";
+               reg = <0x3b>;
+               interrupt-parent = <&pinctrl_ap>;
+               interrupts = <174 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-names = "irq";
+       };
+
+       hpm3: usb-pd@3c {
+               compatible = "apple,cd321x";
+               reg = <0x3c>;
+               interrupt-parent = <&pinctrl_ap>;
+               interrupts = <174 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-names = "irq";
+       };
+};
+
+/* PCIe devices */
+&port00 {
+       /* WLAN */
+       bus-range = <1 1>;
+       wifi0: wifi@0,0 {
+               reg = <0x10000 0x0 0x0 0x0 0x0>;
+               /* To be filled by the loader */
+               local-mac-address = [00 10 18 00 00 10];
+       };
+};
+
+&port01 {
+       /* SD card reader */
+       bus-range = <2 2>;
+       sdhci0: mmc@0,0 {
+               compatible = "pci17a0,9755";
+               reg = <0x20000 0x0 0x0 0x0 0x0>;
+               cd-inverted;
+               wp-inverted;
+       };
+};
+
+&port02 {
+       /* 10 Gbit Ethernet */
+       bus-range = <3 3>;
+       ethernet0: ethernet@0,0 {
+               reg = <0x30000 0x0 0x0 0x0 0x0>;
+               /* To be filled by the loader */
+               local-mac-address = [00 10 18 00 00 00];
+       };
+};
+
+&port03 {
+       /* USB xHCI */
+       bus-range = <4 4>;
+};