OSDN Git Service

arm64: dts: apple: Add missing M1 (t8103) devices
authorJanne Grunau <j@jannau.net>
Tue, 23 Nov 2021 22:49:23 +0000 (23:49 +0100)
committerHector Martin <marcan@marcan.st>
Wed, 1 Dec 2021 14:21:30 +0000 (23:21 +0900)
This adds support for following Apple M1 devices:
 - MacBook Pro (13-inch, M1, 2020)
 - MacBook Air (M1, 2020)
 - iMac (24-inch 2021)

Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
Signed-off-by: Janne Grunau <j@jannau.net>
Tested-by: Hector Martin <marcan@marcan.st>
Signed-off-by: Hector Martin <marcan@marcan.st>
arch/arm64/boot/dts/apple/Makefile
arch/arm64/boot/dts/apple/t8103-j274.dts
arch/arm64/boot/dts/apple/t8103-j293.dts [new file with mode: 0644]
arch/arm64/boot/dts/apple/t8103-j313.dts [new file with mode: 0644]
arch/arm64/boot/dts/apple/t8103-j456.dts [new file with mode: 0644]
arch/arm64/boot/dts/apple/t8103-j457.dts [new file with mode: 0644]
arch/arm64/boot/dts/apple/t8103-jxxx.dtsi [new file with mode: 0644]

index cbbd701..c0510c2 100644 (file)
@@ -1,2 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0
 dtb-$(CONFIG_ARCH_APPLE) += t8103-j274.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8103-j293.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8103-j313.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8103-j456.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8103-j457.dtb
index 02c3630..9e01ef7 100644 (file)
 /dts-v1/;
 
 #include "t8103.dtsi"
+#include "t8103-jxxx.dtsi"
 
 / {
        compatible = "apple,j274", "apple,t8103", "apple,arm-platform";
        model = "Apple Mac mini (M1, 2020)";
 
        aliases {
-               serial0 = &serial0;
                ethernet0 = &ethernet0;
        };
-
-       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@800000000 {
-               device_type = "memory";
-               reg = <0x8 0 0x2 0>; /* To be filled by loader */
-       };
-};
-
-&serial0 {
-       status = "okay";
 };
 
 /*
@@ -50,9 +26,6 @@
  * on-board devices and properties that are populated by the bootloader
  * (such as MAC addresses).
  */
-&port00 {
-       bus-range = <1 1>;
-};
 
 &port01 {
        bus-range = <2 2>;
diff --git a/arch/arm64/boot/dts/apple/t8103-j293.dts b/arch/arm64/boot/dts/apple/t8103-j293.dts
new file mode 100644 (file)
index 0000000..466035f
--- /dev/null
@@ -0,0 +1,33 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple MacBook Pro (13-inch, M1, 2020)
+ *
+ * target-type: J293
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t8103.dtsi"
+#include "t8103-jxxx.dtsi"
+
+/ {
+       compatible = "apple,j293", "apple,t8103", "apple,arm-platform";
+       model = "Apple MacBook Pro (13-inch, M1, 2020)";
+};
+
+/*
+ * Remove unused PCIe ports and disable the associated DARTs.
+ */
+
+&pcie0_dart_1 {
+       status = "disabled";
+};
+
+&pcie0_dart_2 {
+       status = "disabled";
+};
+
+/delete-node/ &port01;
+/delete-node/ &port02;
diff --git a/arch/arm64/boot/dts/apple/t8103-j313.dts b/arch/arm64/boot/dts/apple/t8103-j313.dts
new file mode 100644 (file)
index 0000000..b0ebb45
--- /dev/null
@@ -0,0 +1,33 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple MacBook Air (M1, 2020)
+ *
+ * target-type: J313
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t8103.dtsi"
+#include "t8103-jxxx.dtsi"
+
+/ {
+       compatible = "apple,j313", "apple,t8103", "apple,arm-platform";
+       model = "Apple MacBook Air (M1, 2020)";
+};
+
+/*
+ * Remove unused PCIe ports and disable the associated DARTs.
+ */
+
+&pcie0_dart_1 {
+       status = "disabled";
+};
+
+&pcie0_dart_2 {
+       status = "disabled";
+};
+
+/delete-node/ &port01;
+/delete-node/ &port02;
diff --git a/arch/arm64/boot/dts/apple/t8103-j456.dts b/arch/arm64/boot/dts/apple/t8103-j456.dts
new file mode 100644 (file)
index 0000000..7267e06
--- /dev/null
@@ -0,0 +1,41 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iMac (24-inch, 4x USB-C, M1, 2020)
+ *
+ * target-type: J456
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t8103.dtsi"
+#include "t8103-jxxx.dtsi"
+
+/ {
+       compatible = "apple,j456", "apple,t8103", "apple,arm-platform";
+       model = "Apple iMac (24-inch, 4x USB-C, M1, 2020)";
+
+       aliases {
+               ethernet0 = &ethernet0;
+       };
+};
+
+/*
+ * 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).
+ */
+
+&port01 {
+       bus-range = <2 2>;
+};
+
+&port02 {
+       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];
+       };
+};
diff --git a/arch/arm64/boot/dts/apple/t8103-j457.dts b/arch/arm64/boot/dts/apple/t8103-j457.dts
new file mode 100644 (file)
index 0000000..d7c6229
--- /dev/null
@@ -0,0 +1,47 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iMac (24-inch, 2x USB-C, M1, 2020)
+ *
+ * target-type: J457
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t8103.dtsi"
+#include "t8103-jxxx.dtsi"
+
+/ {
+       compatible = "apple,j457", "apple,t8103", "apple,arm-platform";
+       model = "Apple iMac (24-inch, 2x USB-C, M1, 2020)";
+
+       aliases {
+               ethernet0 = &ethernet0;
+       };
+};
+
+/*
+ * 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).
+ */
+
+&port02 {
+       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];
+       };
+};
+
+/*
+ * Remove unused PCIe port and disable the associated DART.
+ */
+
+&pcie0_dart_1 {
+       status = "disabled";
+};
+
+/delete-node/ &port01;
diff --git a/arch/arm64/boot/dts/apple/t8103-jxxx.dtsi b/arch/arm64/boot/dts/apple/t8103-jxxx.dtsi
new file mode 100644 (file)
index 0000000..53d22b4
--- /dev/null
@@ -0,0 +1,49 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple M1 Mac mini, MacBook Air/Pro, iMac 24" (M1, 2020/2021)
+ *
+ * This file contains parts common to all Apple M1 devices using the t8103.
+ *
+ * target-type: J274, J293, J313, J456, J457
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/ {
+       aliases {
+               serial0 = &serial0;
+       };
+
+       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@800000000 {
+               device_type = "memory";
+               reg = <0x8 0 0x2 0>; /* To be filled by loader */
+       };
+};
+
+&serial0 {
+       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>;
+};