2022-09-09 14:24:03

by Janne Grunau

[permalink] [raw]
Subject: [RFC PATCH 00/10] Apple M1 Pro/Max/Ultra device trees

Hej,

this series contains device trees for Apple's M1 Pro, Max and Ultra SoCs
and devices based on these SoCs.

Quoting from the main commit:

These SoCs are found in Apple devices with M1 Pro (t6000), M1 Max
(t6001) and M1 Ultra (t6002).

t6000 is a cut-down version of t6001, so the former just includes the
latter and disables the missing bits (This is currently just one PMGR
node and all of its domains.

t6002 is two connected t6001 dies. The implementation seems to use
t6001 with blocks disabled (mostly on the second die). MMIO addresses on
the second die have a constant offset. The interrupt controller is
multi-die aware. This setup can be represented in the device tree with
two top level "soc" nodes. The MMIO offset is applied via "ranges" and
devices are included with preproceesor macros to make the node labels
unique and to specify the die number for the interrupt definition.

Device nodes are distributed over dtsi files based on whether they are
present on both dies or just on the first die. The only execption is the
NVMe controller which resides on the second die. Its nodes are in a
separate file.

I'm open for ideas how to improve the preprocessor handling but I'm
convinced that it should be avoided to duplicate the device nodes
manually.

For dts verification this series depends on t6000-dart support
(https://lore.kernel.org/linux-iommu/[email protected]/T/#t)
expected to be queued for v6.1.

Even with the t6000-dart support t600x devices are not terribly useful
in upstream. There is no input device support. The laptop's keyboard
and touchpad are missing SPI and HID over SPI drivers. The dwc3
USB-C ports are not yet added since they require special handling
after disconnect. The PCIe based USB xhci controller in the Mac Studio
requires firmware downloaded in a similar way as USB_XHCI_PCI_RENESAS.

For dependency handling this series contains a fix for the aic
dt-bindings and carries mostly identical device tree additions for M1
and M1 Pro/Max/Ultra as part of audio support.

The series passes dtbs_check with 2 additional bindings already
submitted elsewhere:
- "ASoC: Add Apple MCA I2S transceiver bindings" (6ed462d1c11675)
in sound/for-next
- "dt-bindings: iommu: dart: add t6000 compatible"
https://lore.kernel.org/linux-iommu/[email protected]/

New bindings passes dt_binding_check


Hector Martin (3):
arm64: dts: apple: Fix j45x model years
arm64: dts: apple: Add initial t6000/t6001/t6002 DTs
arm64: dts: apple: Add J314 and J316 devicetrees

Janne Grunau (6):
dt-bindings: apple,aic: Fix required item "apple,fiq-index" in
affinity description
dt-bindings: dma: apple,admac: Add iommus and power-domains properties
dt-bindings: apple,aic2: Add CPU PMU per-cpu pseudo-interrupts
dt-bindings: arm: apple: Add t6001/t6002 Mac Studio compatibles
arm64: dts: apple: Add J375 devicetrees
arm64: dts: apple: t600x: Add MCA and its support

Martin Povišer (1):
arm64: dts: apple: t8103: Add MCA and its support

.../devicetree/bindings/arm/apple.yaml | 11 +-
.../devicetree/bindings/dma/apple,admac.yaml | 7 +
.../interrupt-controller/apple,aic.yaml | 2 +-
.../interrupt-controller/apple,aic2.yaml | 29 +
arch/arm64/boot/dts/apple/Makefile | 6 +
arch/arm64/boot/dts/apple/multi-die-cpp.h | 23 +
arch/arm64/boot/dts/apple/t6000-j314s.dts | 18 +
arch/arm64/boot/dts/apple/t6000-j316s.dts | 18 +
arch/arm64/boot/dts/apple/t6000.dtsi | 18 +
arch/arm64/boot/dts/apple/t6001-j314c.dts | 18 +
arch/arm64/boot/dts/apple/t6001-j316c.dts | 18 +
arch/arm64/boot/dts/apple/t6001-j375c.dts | 18 +
arch/arm64/boot/dts/apple/t6001.dtsi | 63 +
arch/arm64/boot/dts/apple/t6002-j375d.dts | 50 +
arch/arm64/boot/dts/apple/t6002.dtsi | 173 ++
arch/arm64/boot/dts/apple/t600x-common.dtsi | 137 ++
arch/arm64/boot/dts/apple/t600x-die0.dtsi | 360 +++
arch/arm64/boot/dts/apple/t600x-dieX.dtsi | 103 +
.../arm64/boot/dts/apple/t600x-gpio-pins.dtsi | 45 +
.../arm64/boot/dts/apple/t600x-j314-j316.dtsi | 114 +
arch/arm64/boot/dts/apple/t600x-j375.dtsi | 119 +
arch/arm64/boot/dts/apple/t600x-nvme.dtsi | 42 +
arch/arm64/boot/dts/apple/t600x-pmgr.dtsi | 2012 +++++++++++++++++
arch/arm64/boot/dts/apple/t8103-j456.dts | 2 +-
arch/arm64/boot/dts/apple/t8103-j457.dts | 2 +-
arch/arm64/boot/dts/apple/t8103-jxxx.dtsi | 4 +
arch/arm64/boot/dts/apple/t8103.dtsi | 73 +
27 files changed, 3481 insertions(+), 4 deletions(-)
create mode 100644 arch/arm64/boot/dts/apple/multi-die-cpp.h
create mode 100644 arch/arm64/boot/dts/apple/t6000-j314s.dts
create mode 100644 arch/arm64/boot/dts/apple/t6000-j316s.dts
create mode 100644 arch/arm64/boot/dts/apple/t6000.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t6001-j314c.dts
create mode 100644 arch/arm64/boot/dts/apple/t6001-j316c.dts
create mode 100644 arch/arm64/boot/dts/apple/t6001-j375c.dts
create mode 100644 arch/arm64/boot/dts/apple/t6001.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t6002-j375d.dts
create mode 100644 arch/arm64/boot/dts/apple/t6002.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t600x-common.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t600x-die0.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t600x-dieX.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t600x-gpio-pins.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t600x-j375.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t600x-nvme.dtsi
create mode 100644 arch/arm64/boot/dts/apple/t600x-pmgr.dtsi

--
2.35.1


2022-09-09 14:24:29

by Janne Grunau

[permalink] [raw]
Subject: [RFC PATCH 08/10] arm64: dts: apple: Add J375 devicetrees

These are the Mac Studio devices with M1 Max (t6001) and
M1 Ultra (t6002).

Signed-off-by: Janne Grunau <[email protected]>
---

arch/arm64/boot/dts/apple/Makefile | 2 +
arch/arm64/boot/dts/apple/t6001-j375c.dts | 18 ++++
arch/arm64/boot/dts/apple/t6002-j375d.dts | 50 ++++++++++
arch/arm64/boot/dts/apple/t600x-j375.dtsi | 115 ++++++++++++++++++++++
4 files changed, 185 insertions(+)
create mode 100644 arch/arm64/boot/dts/apple/t6001-j375c.dts
create mode 100644 arch/arm64/boot/dts/apple/t6002-j375d.dts
create mode 100644 arch/arm64/boot/dts/apple/t600x-j375.dtsi

diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile
index b021931b0a17..5a7506ff5ea3 100644
--- a/arch/arm64/boot/dts/apple/Makefile
+++ b/arch/arm64/boot/dts/apple/Makefile
@@ -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
index 000000000000..62ea437b58b2
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6001-j375c.dts
@@ -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
index 000000000000..3365429bdc8b
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6002-j375d.dts
@@ -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
index 000000000000..c5444cb34389
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t600x-j375.dtsi
@@ -0,0 +1,115 @@
+// 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
+ */
+
+/dts-v1/;
+
+/ {
+ 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>;
+};
--
2.35.1

2022-09-09 14:24:47

by Janne Grunau

[permalink] [raw]
Subject: [RFC PATCH 09/10] arm64: dts: apple: t8103: Add MCA and its support

From: Martin PoviÅ¡er <[email protected]>

Add the MCA I2S transceiver node and its supporting NCO, ADMAC nodes.

Signed-off-by: Martin Povišer <[email protected]>
Signed-off-by: Janne Grunau <[email protected]>
---

arch/arm64/boot/dts/apple/t8103-jxxx.dtsi | 4 ++
arch/arm64/boot/dts/apple/t8103.dtsi | 73 +++++++++++++++++++++++
2 files changed, 77 insertions(+)

diff --git a/arch/arm64/boot/dts/apple/t8103-jxxx.dtsi b/arch/arm64/boot/dts/apple/t8103-jxxx.dtsi
index fe2ae40fa9dd..503a1b243efa 100644
--- a/arch/arm64/boot/dts/apple/t8103-jxxx.dtsi
+++ b/arch/arm64/boot/dts/apple/t8103-jxxx.dtsi
@@ -76,3 +76,7 @@ wifi0: network@0,0 {
local-mac-address = [00 00 00 00 00 00];
};
};
+
+&nco_clkref {
+ clock-frequency = <900000000>;
+};
diff --git a/arch/arm64/boot/dts/apple/t8103.dtsi b/arch/arm64/boot/dts/apple/t8103.dtsi
index 51a63b29d404..51bc901482db 100644
--- a/arch/arm64/boot/dts/apple/t8103.dtsi
+++ b/arch/arm64/boot/dts/apple/t8103.dtsi
@@ -116,6 +116,16 @@ clkref: clock-ref {
clock-output-names = "clkref";
};

+ /*
+ * This is a fabulated representation of the input clock
+ * to NCO since we don't know the true clock tree.
+ */
+ nco_clkref: clock-ref-nco {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-output-names = "nco_ref";
+ };
+
soc {
compatible = "simple-bus";
#address-cells = <2>;
@@ -124,6 +134,15 @@ soc {
ranges;
nonposted-mmio;

+ dart_sio: iommu@235004000 {
+ compatible = "apple,t8103-dart";
+ reg = <0x2 0x35004000 0x0 0x4000>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 635 IRQ_TYPE_LEVEL_HIGH>;
+ #iommu-cells = <1>;
+ power-domains = <&ps_sio_cpu>;
+ };
+
i2c0: i2c@235010000 {
compatible = "apple,t8103-i2c", "apple,i2c";
reg = <0x2 0x35010000 0x0 0x4000>;
@@ -219,6 +238,60 @@ serial2: serial@235208000 {
status = "disabled";
};

+ admac: dma-controller@238200000 {
+ compatible = "apple,t8103-admac", "apple,admac";
+ reg = <0x2 0x38200000 0x0 0x34000>;
+ dma-channels = <24>;
+ interrupts-extended = <0>,
+ <&aic AIC_IRQ 626 IRQ_TYPE_LEVEL_HIGH>,
+ <0>,
+ <0>;
+ #dma-cells = <1>;
+ iommus = <&dart_sio 2>;
+ power-domains = <&ps_sio_adma>;
+ };
+
+ mca: i2s@238400000 {
+ compatible = "apple,t8103-mca", "apple,mca";
+ reg = <0x2 0x38400000 0x0 0x18000>,
+ <0x2 0x38300000 0x0 0x30000>;
+
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 619 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 620 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 621 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 622 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 623 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 624 IRQ_TYPE_LEVEL_HIGH>;
+
+ resets = <&ps_audio_p>;
+ clocks = <&nco 0>, <&nco 1>, <&nco 2>,
+ <&nco 3>, <&nco 4>, <&nco 4>;
+ power-domains = <&ps_audio_p>, <&ps_mca0>, <&ps_mca1>,
+ <&ps_mca2>, <&ps_mca3>, <&ps_mca4>, <&ps_mca5>;
+ dmas = <&admac 0>, <&admac 1>, <&admac 2>, <&admac 3>,
+ <&admac 4>, <&admac 5>, <&admac 6>, <&admac 7>,
+ <&admac 8>, <&admac 9>, <&admac 10>, <&admac 11>,
+ <&admac 12>, <&admac 13>, <&admac 14>, <&admac 15>,
+ <&admac 16>, <&admac 17>, <&admac 18>, <&admac 19>,
+ <&admac 20>, <&admac 21>, <&admac 22>, <&admac 23>;
+ dma-names = "tx0a", "rx0a", "tx0b", "rx0b",
+ "tx1a", "rx1a", "tx1b", "rx1b",
+ "tx2a", "rx2a", "tx2b", "rx2b",
+ "tx3a", "rx3a", "tx3b", "rx3b",
+ "tx4a", "rx4a", "tx4b", "rx4b",
+ "tx5a", "rx5a", "tx5b", "rx5b";
+
+ #sound-dai-cells = <1>;
+ };
+
+ nco: clock-controller@23b044000 {
+ compatible = "apple,t8103-nco", "apple,nco";
+ reg = <0x2 0x3b044000 0x0 0x14000>;
+ clocks = <&nco_clkref>;
+ #clock-cells = <1>;
+ };
+
aic: interrupt-controller@23b100000 {
compatible = "apple,t8103-aic", "apple,aic";
#interrupt-cells = <3>;
--
2.35.1

2022-09-09 14:53:37

by Janne Grunau

[permalink] [raw]
Subject: [RFC PATCH 02/10] dt-bindings: dma: apple,admac: Add iommus and power-domains properties

Apple's ADMAC is on all supported Apple silicon SoCs behind an IOMMU
and has its own power-domain.

Signed-off-by: Janne Grunau <[email protected]>
---

Documentation/devicetree/bindings/dma/apple,admac.yaml | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/dma/apple,admac.yaml b/Documentation/devicetree/bindings/dma/apple,admac.yaml
index bdc8c129c4f5..3b1e667f7ea0 100644
--- a/Documentation/devicetree/bindings/dma/apple,admac.yaml
+++ b/Documentation/devicetree/bindings/dma/apple,admac.yaml
@@ -49,6 +49,13 @@ properties:
in an interrupts-extended list the disconnected positions will contain
an empty phandle reference <0>.

+ iommus:
+ minItems: 1
+ maxItems: 2
+
+ power-domains:
+ maxItems: 1
+
required:
- compatible
- reg
--
2.35.1

2022-09-09 14:57:39

by Janne Grunau

[permalink] [raw]
Subject: [RFC PATCH 07/10] arm64: dts: apple: Add J314 and J316 devicetrees

From: Hector Martin <[email protected]>

These are the 14-inch and 16-inch 2021 MacBooks, in both M1 Pro and M1
Max variants (t6000 and t6001).

Signed-off-by: Hector Martin <[email protected]>
Signed-off-by: Janne Grunau <[email protected]>
---

arch/arm64/boot/dts/apple/Makefile | 4 +
arch/arm64/boot/dts/apple/t6000-j314s.dts | 18 +++
arch/arm64/boot/dts/apple/t6000-j316s.dts | 18 +++
arch/arm64/boot/dts/apple/t6001-j314c.dts | 18 +++
arch/arm64/boot/dts/apple/t6001-j316c.dts | 18 +++
.../arm64/boot/dts/apple/t600x-j314-j316.dtsi | 110 ++++++++++++++++++
6 files changed, 186 insertions(+)
create mode 100644 arch/arm64/boot/dts/apple/t6000-j314s.dts
create mode 100644 arch/arm64/boot/dts/apple/t6000-j316s.dts
create mode 100644 arch/arm64/boot/dts/apple/t6001-j314c.dts
create mode 100644 arch/arm64/boot/dts/apple/t6001-j316c.dts
create mode 100644 arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi

diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile
index c0510c25ca6a..b021931b0a17 100644
--- a/arch/arm64/boot/dts/apple/Makefile
+++ b/arch/arm64/boot/dts/apple/Makefile
@@ -4,3 +4,7 @@ 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
+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
diff --git a/arch/arm64/boot/dts/apple/t6000-j314s.dts b/arch/arm64/boot/dts/apple/t6000-j314s.dts
new file mode 100644
index 000000000000..c9e192848fe3
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6000-j314s.dts
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * MacBook Pro (14-inch, M1 Pro, 2021)
+ *
+ * target-type: J314s
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6000.dtsi"
+#include "t600x-j314-j316.dtsi"
+
+/ {
+ compatible = "apple,j314s", "apple,t6000", "apple,arm-platform";
+ model = "Apple MacBook Pro (14-inch, M1 Pro, 2021)";
+};
diff --git a/arch/arm64/boot/dts/apple/t6000-j316s.dts b/arch/arm64/boot/dts/apple/t6000-j316s.dts
new file mode 100644
index 000000000000..ff1803ce2300
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6000-j316s.dts
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * MacBook Pro (16-inch, M1 Pro, 2021)
+ *
+ * target-type: J316s
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6000.dtsi"
+#include "t600x-j314-j316.dtsi"
+
+/ {
+ compatible = "apple,j316s", "apple,t6000", "apple,arm-platform";
+ model = "Apple MacBook Pro (16-inch, M1 Pro, 2021)";
+};
diff --git a/arch/arm64/boot/dts/apple/t6001-j314c.dts b/arch/arm64/boot/dts/apple/t6001-j314c.dts
new file mode 100644
index 000000000000..1761d15b98c1
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6001-j314c.dts
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * MacBook Pro (14-inch, M1 Max, 2021)
+ *
+ * target-type: J314c
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6001.dtsi"
+#include "t600x-j314-j316.dtsi"
+
+/ {
+ compatible = "apple,j314c", "apple,t6001", "apple,arm-platform";
+ model = "Apple MacBook Pro (14-inch, M1 Max, 2021)";
+};
diff --git a/arch/arm64/boot/dts/apple/t6001-j316c.dts b/arch/arm64/boot/dts/apple/t6001-j316c.dts
new file mode 100644
index 000000000000..750e9beeffc0
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6001-j316c.dts
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * MacBook Pro (16-inch, M1 Max, 2021)
+ *
+ * target-type: J316c
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6001.dtsi"
+#include "t600x-j314-j316.dtsi"
+
+/ {
+ compatible = "apple,j316c", "apple,t6001", "apple,arm-platform";
+ model = "Apple MacBook Pro (16-inch, M1 Max, 2021)";
+};
diff --git a/arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi b/arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi
new file mode 100644
index 000000000000..8079200aeb12
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi
@@ -0,0 +1,110 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * MacBook Pro (14/16-inch, 2021)
+ *
+ * This file contains the parts common to J314 and J316 devices with both t6000 and t6001.
+ *
+ * target-type: J314s / J314c / J316s / J316c
+ *
+ * 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";
+ };
+
+ /* MagSafe port */
+ hpm5: usb-pd@3a {
+ compatible = "apple,cd321x";
+ reg = <0x3a>;
+ 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;
+ };
+};
+
+&pcie0_dart_2 {
+ status = "disabled";
+};
+
+&pcie0_dart_3 {
+ status = "disabled";
+};
+
+/delete-node/ &port02;
+/delete-node/ &port03;
--
2.35.1

2022-09-09 14:59:37

by Janne Grunau

[permalink] [raw]
Subject: [RFC PATCH 05/10] arm64: dts: apple: Fix j45x model years

From: Hector Martin <[email protected]>

Signed-off-by: Hector Martin <[email protected]>
Signed-off-by: Janne Grunau <[email protected]>
---

arch/arm64/boot/dts/apple/t8103-j456.dts | 2 +-
arch/arm64/boot/dts/apple/t8103-j457.dts | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/apple/t8103-j456.dts b/arch/arm64/boot/dts/apple/t8103-j456.dts
index 884fddf7d363..c49c048ac2a1 100644
--- a/arch/arm64/boot/dts/apple/t8103-j456.dts
+++ b/arch/arm64/boot/dts/apple/t8103-j456.dts
@@ -14,7 +14,7 @@

/ {
compatible = "apple,j456", "apple,t8103", "apple,arm-platform";
- model = "Apple iMac (24-inch, 4x USB-C, M1, 2020)";
+ model = "Apple iMac (24-inch, 4x USB-C, M1, 2021)";

aliases {
ethernet0 = &ethernet0;
diff --git a/arch/arm64/boot/dts/apple/t8103-j457.dts b/arch/arm64/boot/dts/apple/t8103-j457.dts
index d7c622931627..f7c7c850ad81 100644
--- a/arch/arm64/boot/dts/apple/t8103-j457.dts
+++ b/arch/arm64/boot/dts/apple/t8103-j457.dts
@@ -14,7 +14,7 @@

/ {
compatible = "apple,j457", "apple,t8103", "apple,arm-platform";
- model = "Apple iMac (24-inch, 2x USB-C, M1, 2020)";
+ model = "Apple iMac (24-inch, 2x USB-C, M1, 2021)";

aliases {
ethernet0 = &ethernet0;
--
2.35.1

2022-09-09 15:00:57

by Janne Grunau

[permalink] [raw]
Subject: [RFC PATCH 03/10] dt-bindings: apple,aic2: Add CPU PMU per-cpu pseudo-interrupts

Advertise the two pseudo-interrupts that tied to the two PMU
flavours present in the Apple M1 Pro/Max/Ultra SoC.

We choose the expose two different pseudo-interrupts to the OS
as the e-core PMU is obviously different from the p-core one,
effectively presenting two different devices.

Imported from "apple,aic".

Signed-off-by: Janne Grunau <[email protected]>
---

.../interrupt-controller/apple,aic2.yaml | 29 +++++++++++++++++++
1 file changed, 29 insertions(+)

diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
index 47a78a167aba..06948c0e36a5 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
@@ -69,6 +69,35 @@ properties:
power-domains:
maxItems: 1

+ affinities:
+ type: object
+ additionalProperties: false
+ description:
+ FIQ affinity can be expressed as a single "affinities" node,
+ containing a set of sub-nodes, one per FIQ with a non-default
+ affinity.
+ patternProperties:
+ "^.+-affinity$":
+ type: object
+ additionalProperties: false
+ properties:
+ apple,fiq-index:
+ description:
+ The interrupt number specified as a FIQ, and for which
+ the affinity is not the default.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ maximum: 5
+
+ cpus:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ description:
+ Should be a list of phandles to CPU nodes (as described in
+ Documentation/devicetree/bindings/arm/cpus.yaml).
+
+ required:
+ - apple,fiq-index
+ - cpus
+
required:
- compatible
- '#interrupt-cells'
--
2.35.1

2022-09-09 15:02:01

by Janne Grunau

[permalink] [raw]
Subject: [RFC PATCH 01/10] dt-bindings: apple,aic: Fix required item "apple,fiq-index" in affinity description

Fixes: dba07ad11384 ("dt-bindings: apple,aic: Add affinity description for per-cpu pseudo-interrupts")
Signed-off-by: Janne Grunau <[email protected]>
---

.../devicetree/bindings/interrupt-controller/apple,aic.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
index 85c85b694217..e18107eafe7c 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
@@ -96,7 +96,7 @@ properties:
Documentation/devicetree/bindings/arm/cpus.yaml).

required:
- - fiq-index
+ - apple,fiq-index
- cpus

required:
--
2.35.1

2022-09-09 15:03:14

by Janne Grunau

[permalink] [raw]
Subject: [RFC PATCH 04/10] dt-bindings: arm: apple: Add t6001/t6002 Mac Studio compatibles

This adds the following apple,t6001 platform:

- apple,j375c - Mac Studio (M1 Max, 2022)

And the initial apple,t6002 platform:

- apple,j375d - Mac Studio (M1 Ultra, 2022)

Signed-off-by: Janne Grunau <[email protected]>
---

Documentation/devicetree/bindings/arm/apple.yaml | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
index 8d93e8a6cc18..b34e56b9dc59 100644
--- a/Documentation/devicetree/bindings/arm/apple.yaml
+++ b/Documentation/devicetree/bindings/arm/apple.yaml
@@ -19,12 +19,14 @@ description: |
- MacBook Air (M1, 2020)
- iMac (24-inch, M1, 2021)

- And devices based on the "M1 Pro" and "M1 Max" SoCs:
+ And devices based on the "M1 Pro", "M1 Max" and "M1 Ultra" SoCs:

- MacBook Pro (14-inch, M1 Pro, 2021)
- MacBook Pro (14-inch, M1 Max, 2021)
- MacBook Pro (16-inch, M1 Pro, 2021)
- MacBook Pro (16-inch, M1 Max, 2021)
+ - Mac Studio (M1 Max, 2022)
+ - Mac Studio (M1 Ultra, 2022)

The compatible property should follow this format:

@@ -79,8 +81,15 @@ properties:
- enum:
- apple,j314c # MacBook Pro (14-inch, M1 Max, 2021)
- apple,j316c # MacBook Pro (16-inch, M1 Max, 2021)
+ - apple,j375c # Mac Studio (M1 Max, 2022)
- const: apple,t6001
- const: apple,arm-platform
+ - description: Apple M1 Ultra SoC based platforms
+ items:
+ - enum:
+ - apple,j375d # Mac Studio (M1 Ultra, 2022)
+ - const: apple,t6002
+ - const: apple,arm-platform

additionalProperties: true

--
2.35.1

2022-09-09 15:27:51

by Martin Povišer

[permalink] [raw]
Subject: Re: [RFC PATCH 02/10] dt-bindings: dma: apple,admac: Add iommus and power-domains properties


> On 9. 9. 2022, at 15:50, Janne Grunau <[email protected]> wrote:
>
> Apple's ADMAC is on all supported Apple silicon SoCs behind an IOMMU
> and has its own power-domain.
>
> Signed-off-by: Janne Grunau <[email protected]>

Acked-by: Martin Povišer <[email protected]>

Vinod, please pick it up in the dmaengine tree, I may have one patch to
the binding I will post later (with associated driver changes).

2022-09-10 09:59:44

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [RFC PATCH 01/10] dt-bindings: apple,aic: Fix required item "apple,fiq-index" in affinity description

On 09/09/2022 15:50, Janne Grunau wrote:
> Fixes: dba07ad11384 ("dt-bindings: apple,aic: Add affinity description for per-cpu pseudo-interrupts")

You miss commit description.

Best regards,
Krzysztof

2022-09-10 10:31:41

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [RFC PATCH 02/10] dt-bindings: dma: apple,admac: Add iommus and power-domains properties

On 09/09/2022 15:50, Janne Grunau wrote:
> Apple's ADMAC is on all supported Apple silicon SoCs behind an IOMMU
> and has its own power-domain.
>
> Signed-off-by: Janne Grunau <[email protected]>


Acked-by: Krzysztof Kozlowski <[email protected]>


Best regards,
Krzysztof

2022-09-10 10:31:42

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [RFC PATCH 03/10] dt-bindings: apple,aic2: Add CPU PMU per-cpu pseudo-interrupts

On 09/09/2022 15:50, Janne Grunau wrote:
> Advertise the two pseudo-interrupts that tied to the two PMU
> flavours present in the Apple M1 Pro/Max/Ultra SoC.
>
> We choose the expose two different pseudo-interrupts to the OS
> as the e-core PMU is obviously different from the p-core one,
> effectively presenting two different devices.
>
> Imported from "apple,aic".


Acked-by: Krzysztof Kozlowski <[email protected]>


Best regards,
Krzysztof

2022-09-10 10:31:42

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [RFC PATCH 04/10] dt-bindings: arm: apple: Add t6001/t6002 Mac Studio compatibles

On 09/09/2022 15:50, Janne Grunau wrote:
> This adds the following apple,t6001 platform:
>
> - apple,j375c - Mac Studio (M1 Max, 2022)
>
> And the initial apple,t6002 platform:
>
> - apple,j375d - Mac Studio (M1 Ultra, 2022)
>
> Signed-off-by: Janne Grunau <[email protected]>
> ---
>
> Documentation/devicetree/bindings/arm/apple.yaml | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
> index 8d93e8a6cc18..b34e56b9dc59 100644
> --- a/Documentation/devicetree/bindings/arm/apple.yaml
> +++ b/Documentation/devicetree/bindings/arm/apple.yaml
> @@ -19,12 +19,14 @@ description: |
> - MacBook Air (M1, 2020)
> - iMac (24-inch, M1, 2021)
>
> - And devices based on the "M1 Pro" and "M1 Max" SoCs:
> + And devices based on the "M1 Pro", "M1 Max" and "M1 Ultra" SoCs:
>
> - MacBook Pro (14-inch, M1 Pro, 2021)
> - MacBook Pro (14-inch, M1 Max, 2021)
> - MacBook Pro (16-inch, M1 Pro, 2021)
> - MacBook Pro (16-inch, M1 Max, 2021)
> + - Mac Studio (M1 Max, 2022)
> + - Mac Studio (M1 Ultra, 2022)
>
> The compatible property should follow this format:
>
> @@ -79,8 +81,15 @@ properties:
> - enum:
> - apple,j314c # MacBook Pro (14-inch, M1 Max, 2021)
> - apple,j316c # MacBook Pro (16-inch, M1 Max, 2021)
> + - apple,j375c # Mac Studio (M1 Max, 2022)
> - const: apple,t6001
> - const: apple,arm-platform

Blank line.

> + - description: Apple M1 Ultra SoC based platforms

With this:


Acked-by: Krzysztof Kozlowski <[email protected]>


Best regards,
Krzysztof

2022-09-10 10:55:05

by Marc Zyngier

[permalink] [raw]
Subject: Re: [RFC PATCH 01/10] dt-bindings: apple,aic: Fix required item "apple,fiq-index" in affinity description

On Fri, 09 Sep 2022 14:50:54 +0100,
Janne Grunau <[email protected]> wrote:
>
> Fixes: dba07ad11384 ("dt-bindings: apple,aic: Add affinity description for per-cpu pseudo-interrupts")
> Signed-off-by: Janne Grunau <[email protected]>
> ---
>
> .../devicetree/bindings/interrupt-controller/apple,aic.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
> index 85c85b694217..e18107eafe7c 100644
> --- a/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
> +++ b/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
> @@ -96,7 +96,7 @@ properties:
> Documentation/devicetree/bindings/arm/cpus.yaml).
>
> required:
> - - fiq-index
> + - apple,fiq-index
> - cpus
>
> required:

With a commit message added,

Acked-by: Marc Zyngier <[email protected]>

M.

--
Without deviation from the norm, progress is not possible.

2022-09-10 11:43:29

by Marc Zyngier

[permalink] [raw]
Subject: Re: [RFC PATCH 03/10] dt-bindings: apple,aic2: Add CPU PMU per-cpu pseudo-interrupts

On Fri, 09 Sep 2022 14:50:56 +0100,
Janne Grunau <[email protected]> wrote:
>
> Advertise the two pseudo-interrupts that tied to the two PMU
> flavours present in the Apple M1 Pro/Max/Ultra SoC.
>
> We choose the expose two different pseudo-interrupts to the OS
> as the e-core PMU is obviously different from the p-core one,
> effectively presenting two different devices.
>
> Imported from "apple,aic".
>
> Signed-off-by: Janne Grunau <[email protected]>

Acked-by: Marc Zyngier <[email protected]>

M.

--
Without deviation from the norm, progress is not possible.

2022-09-10 12:14:15

by Janne Grunau

[permalink] [raw]
Subject: Re: [RFC PATCH 04/10] dt-bindings: arm: apple: Add t6001/t6002 Mac Studio compatibles

On 2022-09-10 11:57:34 +0200, Krzysztof Kozlowski wrote:
> On 09/09/2022 15:50, Janne Grunau wrote:
> > This adds the following apple,t6001 platform:
> >
> > - apple,j375c - Mac Studio (M1 Max, 2022)
> >
> > And the initial apple,t6002 platform:
> >
> > - apple,j375d - Mac Studio (M1 Ultra, 2022)
> >
> > Signed-off-by: Janne Grunau <[email protected]>
> > ---
> >
> > Documentation/devicetree/bindings/arm/apple.yaml | 11 ++++++++++-
> > 1 file changed, 10 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
> > index 8d93e8a6cc18..b34e56b9dc59 100644
> > --- a/Documentation/devicetree/bindings/arm/apple.yaml
> > +++ b/Documentation/devicetree/bindings/arm/apple.yaml
> > @@ -19,12 +19,14 @@ description: |
> > - MacBook Air (M1, 2020)
> > - iMac (24-inch, M1, 2021)
> >
> > - And devices based on the "M1 Pro" and "M1 Max" SoCs:
> > + And devices based on the "M1 Pro", "M1 Max" and "M1 Ultra" SoCs:
> >
> > - MacBook Pro (14-inch, M1 Pro, 2021)
> > - MacBook Pro (14-inch, M1 Max, 2021)
> > - MacBook Pro (16-inch, M1 Pro, 2021)
> > - MacBook Pro (16-inch, M1 Max, 2021)
> > + - Mac Studio (M1 Max, 2022)
> > + - Mac Studio (M1 Ultra, 2022)
> >
> > The compatible property should follow this format:
> >
> > @@ -79,8 +81,15 @@ properties:
> > - enum:
> > - apple,j314c # MacBook Pro (14-inch, M1 Max, 2021)
> > - apple,j316c # MacBook Pro (16-inch, M1 Max, 2021)
> > + - apple,j375c # Mac Studio (M1 Max, 2022)
> > - const: apple,t6001
> > - const: apple,arm-platform
>
> Blank line.

Added. The other entries in this list are not separated by blank lines.
What would preferred to fix this? A whitespace only patch or can just
add those additional blank lines in this change?

> > + - description: Apple M1 Ultra SoC based platforms
>
> With this:
>
>
> Acked-by: Krzysztof Kozlowski <[email protected]>

Thanks,
Janne

2022-09-10 12:22:29

by Janne Grunau

[permalink] [raw]
Subject: Re: [RFC PATCH 01/10] dt-bindings: apple,aic: Fix required item "apple,fiq-index" in affinity description

On 2022-09-10 11:37:20 +0100, Marc Zyngier wrote:
> On Fri, 09 Sep 2022 14:50:54 +0100,
> Janne Grunau <[email protected]> wrote:
> >
> > Fixes: dba07ad11384 ("dt-bindings: apple,aic: Add affinity description for per-cpu pseudo-interrupts")
> > Signed-off-by: Janne Grunau <[email protected]>
> > ---
> >
> > .../devicetree/bindings/interrupt-controller/apple,aic.yaml | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
> > index 85c85b694217..e18107eafe7c 100644
> > --- a/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
> > +++ b/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
> > @@ -96,7 +96,7 @@ properties:
> > Documentation/devicetree/bindings/arm/cpus.yaml).
> >
> > required:
> > - - fiq-index
> > + - apple,fiq-index
> > - cpus
> >
> > required:
>
> With a commit message added,

I've added

| The required list used "fiq-index" instead of "apple,fiq-index"
| described as property and used in the dts. Add the missing "apple,"
| prefix.

as commit description.

> Acked-by: Marc Zyngier <[email protected]>

Thanks,
Janne

2022-09-10 12:48:31

by Janne Grunau

[permalink] [raw]
Subject: Re: [RFC PATCH 08/10] arm64: dts: apple: Add J375 devicetrees

On 2022-09-09 15:51:01 +0200, Janne Grunau wrote:
> These are the Mac Studio devices with M1 Max (t6001) and
> M1 Ultra (t6002).
>
> Signed-off-by: Janne Grunau <[email protected]>
> ---
>
> arch/arm64/boot/dts/apple/Makefile | 2 +
> arch/arm64/boot/dts/apple/t6001-j375c.dts | 18 ++++
> arch/arm64/boot/dts/apple/t6002-j375d.dts | 50 ++++++++++
> arch/arm64/boot/dts/apple/t600x-j375.dtsi | 115 ++++++++++++++++++++++
> 4 files changed, 185 insertions(+)
> create mode 100644 arch/arm64/boot/dts/apple/t6001-j375c.dts
> create mode 100644 arch/arm64/boot/dts/apple/t6002-j375d.dts
> create mode 100644 arch/arm64/boot/dts/apple/t600x-j375.dtsi

...

> diff --git a/arch/arm64/boot/dts/apple/t600x-j375.dtsi b/arch/arm64/boot/dts/apple/t600x-j375.dtsi
> new file mode 100644
> index 000000000000..c5444cb34389
> --- /dev/null
> +++ b/arch/arm64/boot/dts/apple/t600x-j375.dtsi
> @@ -0,0 +1,115 @@
> +// 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
> + */
> +
> +/dts-v1/;

This stray "/dts-v1/;" has been removed locally from the .dtsi file,
fixing a build error.

Janne

2022-09-10 14:25:23

by Marc Zyngier

[permalink] [raw]
Subject: Re: [RFC PATCH 01/10] dt-bindings: apple,aic: Fix required item "apple,fiq-index" in affinity description

On Sat, 10 Sep 2022 12:43:24 +0100,
Janne Grunau <[email protected]> wrote:
>
> On 2022-09-10 11:37:20 +0100, Marc Zyngier wrote:
> > On Fri, 09 Sep 2022 14:50:54 +0100,
> > Janne Grunau <[email protected]> wrote:
> > >
> > > Fixes: dba07ad11384 ("dt-bindings: apple,aic: Add affinity description for per-cpu pseudo-interrupts")
> > > Signed-off-by: Janne Grunau <[email protected]>
> > > ---
> > >
> > > .../devicetree/bindings/interrupt-controller/apple,aic.yaml | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
> > > index 85c85b694217..e18107eafe7c 100644
> > > --- a/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
> > > +++ b/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
> > > @@ -96,7 +96,7 @@ properties:
> > > Documentation/devicetree/bindings/arm/cpus.yaml).
> > >
> > > required:
> > > - - fiq-index
> > > + - apple,fiq-index
> > > - cpus
> > >
> > > required:
> >
> > With a commit message added,
>
> I've added
>
> | The required list used "fiq-index" instead of "apple,fiq-index"
> | described as property and used in the dts. Add the missing "apple,"
> | prefix.
>
> as commit description.

Perfect, ship it.

M.

--
Without deviation from the norm, progress is not possible.

2022-09-11 11:42:30

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [RFC PATCH 04/10] dt-bindings: arm: apple: Add t6001/t6002 Mac Studio compatibles

On 10/09/2022 13:37, Janne Grunau wrote:
>>> The compatible property should follow this format:
>>>
>>> @@ -79,8 +81,15 @@ properties:
>>> - enum:
>>> - apple,j314c # MacBook Pro (14-inch, M1 Max, 2021)
>>> - apple,j316c # MacBook Pro (16-inch, M1 Max, 2021)
>>> + - apple,j375c # Mac Studio (M1 Max, 2022)
>>> - const: apple,t6001
>>> - const: apple,arm-platform
>>
>> Blank line.
>
> Added. The other entries in this list are not separated by blank lines.
> What would preferred to fix this? A whitespace only patch or can just
> add those additional blank lines in this change?

Both would work for me.

Best regards,
Krzysztof

2022-09-13 13:48:02

by Rob Herring

[permalink] [raw]
Subject: Re: [RFC PATCH 01/10] dt-bindings: apple,aic: Fix required item "apple,fiq-index" in affinity description

On Fri, 09 Sep 2022 15:50:54 +0200, Janne Grunau wrote:
> Fixes: dba07ad11384 ("dt-bindings: apple,aic: Add affinity description for per-cpu pseudo-interrupts")
> Signed-off-by: Janne Grunau <[email protected]>
> ---
>
> .../devicetree/bindings/interrupt-controller/apple,aic.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>

Applied with added commit msg, thanks!