From: Hector Martin <[email protected]>

Add device trees for the T6020 and T6021 based Macbook Pros (M2 Pro/Max,
14/16-inch). The devices are very similar to the T6000/T6001 based ones
so reuse the device templates, include the new SoCs and correct for the
minimal differences.

Signed-off-by: Hector Martin <[email protected]>
Co-developed-by: Janne Grunau <[email protected]>
Signed-off-by: Janne Grunau <[email protected]>
---
 arch/arm64/boot/dts/apple/Makefile             |  4 +++
 arch/arm64/boot/dts/apple/t6020-j414s.dts      | 26 +++++++++++++++
 arch/arm64/boot/dts/apple/t6020-j416s.dts      | 26 +++++++++++++++
 arch/arm64/boot/dts/apple/t6021-j414c.dts      | 26 +++++++++++++++
 arch/arm64/boot/dts/apple/t6021-j416c.dts      | 26 +++++++++++++++
 arch/arm64/boot/dts/apple/t602x-j414-j416.dtsi | 45 ++++++++++++++++++++++++++
 6 files changed, 153 insertions(+)

diff --git a/arch/arm64/boot/dts/apple/Makefile 
b/arch/arm64/boot/dts/apple/Makefile
index 
df4ba8ef6213c9f7e4ef02a50d7250008977cc71..e97a6676387c6e4cbaf3b0834c4e59338d08d1b8
 100644
--- a/arch/arm64/boot/dts/apple/Makefile
+++ b/arch/arm64/boot/dts/apple/Makefile
@@ -79,6 +79,10 @@ 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
+dtb-$(CONFIG_ARCH_APPLE) += t6020-j414s.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t6021-j414c.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t6020-j416s.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t6021-j416c.dtb
 dtb-$(CONFIG_ARCH_APPLE) += t8112-j413.dtb
 dtb-$(CONFIG_ARCH_APPLE) += t8112-j415.dtb
 dtb-$(CONFIG_ARCH_APPLE) += t8112-j473.dtb
diff --git a/arch/arm64/boot/dts/apple/t6020-j414s.dts 
b/arch/arm64/boot/dts/apple/t6020-j414s.dts
new file mode 100644
index 
0000000000000000000000000000000000000000..631c54c5f03dee9e7d37a7811f87f939e5187b10
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6020-j414s.dts
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * MacBook Pro (14-inch, M2 Pro, 2023)
+ *
+ * target-type: J414s
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6020.dtsi"
+#include "t602x-j414-j416.dtsi"
+
+/ {
+       compatible = "apple,j414s", "apple,t6020", "apple,arm-platform";
+       model = "Apple MacBook Pro (14-inch, M2 Pro, 2023)";
+};
+
+&wifi0 {
+       brcm,board-type = "apple,tokara";
+};
+
+&bluetooth0 {
+       brcm,board-type = "apple,tokara";
+};
diff --git a/arch/arm64/boot/dts/apple/t6020-j416s.dts 
b/arch/arm64/boot/dts/apple/t6020-j416s.dts
new file mode 100644
index 
0000000000000000000000000000000000000000..c277ed5889a2145a4043b7f3230dbd49971d3068
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6020-j416s.dts
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * MacBook Pro (16-inch, M2 Pro, 2023)
+ *
+ * target-type: J416s
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6020.dtsi"
+#include "t602x-j414-j416.dtsi"
+
+/ {
+       compatible = "apple,j416s", "apple,t6020", "apple,arm-platform";
+       model = "Apple MacBook Pro (16-inch, M2 Pro, 2023)";
+};
+
+&wifi0 {
+       brcm,board-type = "apple,amami";
+};
+
+&bluetooth0 {
+       brcm,board-type = "apple,amami";
+};
diff --git a/arch/arm64/boot/dts/apple/t6021-j414c.dts 
b/arch/arm64/boot/dts/apple/t6021-j414c.dts
new file mode 100644
index 
0000000000000000000000000000000000000000..cdcf0740714dcf71e8d0cead879bce8f27431ccf
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6021-j414c.dts
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * MacBook Pro (14-inch, M2 Max, 2023)
+ *
+ * target-type: J414c
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6021.dtsi"
+#include "t602x-j414-j416.dtsi"
+
+/ {
+       compatible = "apple,j414c", "apple,t6021", "apple,arm-platform";
+       model = "Apple MacBook Pro (14-inch, M2 Max, 2023)";
+};
+
+&wifi0 {
+       brcm,board-type = "apple,tokara";
+};
+
+&bluetooth0 {
+       brcm,board-type = "apple,tokara";
+};
diff --git a/arch/arm64/boot/dts/apple/t6021-j416c.dts 
b/arch/arm64/boot/dts/apple/t6021-j416c.dts
new file mode 100644
index 
0000000000000000000000000000000000000000..6d8146b941703692a0cd92508add1784e0fc211b
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6021-j416c.dts
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * MacBook Pro (16-inch, M2 Max, 2022)
+ *
+ * target-type: J416c
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6021.dtsi"
+#include "t602x-j414-j416.dtsi"
+
+/ {
+       compatible = "apple,j416c", "apple,t6021", "apple,arm-platform";
+       model = "Apple MacBook Pro (16-inch, M2 Max, 2023)";
+};
+
+&wifi0 {
+       brcm,board-type = "apple,amami";
+};
+
+&bluetooth0 {
+       brcm,board-type = "apple,amami";
+};
diff --git a/arch/arm64/boot/dts/apple/t602x-j414-j416.dtsi 
b/arch/arm64/boot/dts/apple/t602x-j414-j416.dtsi
new file mode 100644
index 
0000000000000000000000000000000000000000..0e806d8ddf81b1073bfced964fa64c4e75a9e998
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t602x-j414-j416.dtsi
@@ -0,0 +1,45 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * MacBook Pro (14/16-inch, 2022)
+ *
+ * This file contains the parts common to J414 and J416 devices with both 
t6020 and t6021.
+ *
+ * target-type: J414s / J414c / J416s / J416c
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/*
+ * These models are essentially identical to the previous generation, other 
than
+ * the GPIO indices.
+ */
+
+#include "t600x-j314-j316.dtsi"
+
+&framebuffer0 {
+       power-domains = <&ps_disp0_cpu0>, <&ps_dptx_phy_ps>;
+};
+
+&hpm0 {
+       interrupts = <44 IRQ_TYPE_LEVEL_LOW>;
+};
+
+&hpm1 {
+       interrupts = <44 IRQ_TYPE_LEVEL_LOW>;
+};
+
+&hpm2 {
+       interrupts = <44 IRQ_TYPE_LEVEL_LOW>;
+};
+
+&hpm5 {
+       interrupts = <44 IRQ_TYPE_LEVEL_LOW>;
+};
+
+&wifi0 {
+       compatible = "pci14e4,4434";
+};
+
+&bluetooth0 {
+       compatible = "pci14e4,5f72";
+};

-- 
2.51.0

Reply via email to