From: Janne Grunau <j@jannau.net>
To: asahi@lists.linux.dev
Cc: Mark Kettenis <kettenis@openbsd.org>,
Alyssa Rosenzweig <alyssa@rosenzweig.io>,
Hector Martin <marcan@marcan.st>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Marc Zyngier <maz@kernel.org>, Rob Herring <robh+dt@kernel.org>,
Sven Peter <sven@svenpeter.dev>,
Thomas Gleixner <tglx@linutronix.de>,
Vinod Koul <vkoul@kernel.org>,
devicetree@vger.kernel.org, dmaengine@vger.kernel.org,
er <povik+lin@cutebit.org>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: [RFC PATCH 00/10] Apple M1 Pro/Max/Ultra device trees
Date: Fri, 9 Sep 2022 15:50:53 +0200 [thread overview]
Message-ID: <20220909135103.98179-1-j@jannau.net> (raw)
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/20220901012519.7167-1-j@jannau.net/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/20220901012519.7167-2-j@jannau.net/
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
next reply other threads:[~2022-09-09 13:59 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-09 13:50 Janne Grunau [this message]
2022-09-09 13:50 ` [RFC PATCH 01/10] dt-bindings: apple,aic: Fix required item "apple,fiq-index" in affinity description Janne Grunau
2022-09-10 9:54 ` Krzysztof Kozlowski
2022-09-10 10:37 ` Marc Zyngier
2022-09-10 11:43 ` Janne Grunau
2022-09-10 14:21 ` Marc Zyngier
2022-09-13 13:08 ` Rob Herring
2022-09-09 13:50 ` [RFC PATCH 02/10] dt-bindings: dma: apple,admac: Add iommus and power-domains properties Janne Grunau
2022-09-09 14:16 ` Martin Povišer
2022-09-10 9:54 ` Krzysztof Kozlowski
2022-09-09 13:50 ` [RFC PATCH 03/10] dt-bindings: apple,aic2: Add CPU PMU per-cpu pseudo-interrupts Janne Grunau
2022-09-10 9:56 ` Krzysztof Kozlowski
2022-09-10 10:37 ` Marc Zyngier
2022-09-09 13:50 ` [RFC PATCH 04/10] dt-bindings: arm: apple: Add t6001/t6002 Mac Studio compatibles Janne Grunau
2022-09-10 9:57 ` Krzysztof Kozlowski
2022-09-10 11:37 ` Janne Grunau
2022-09-11 11:27 ` Krzysztof Kozlowski
2022-09-09 13:50 ` [RFC PATCH 05/10] arm64: dts: apple: Fix j45x model years Janne Grunau
2022-09-09 13:50 ` [RFC PATCH 06/10] arm64: dts: apple: Add initial t6000/t6001/t6002 DTs Janne Grunau
2022-09-13 13:32 ` Rob Herring
2022-09-14 11:04 ` Janne Grunau
2022-09-15 12:48 ` Rob Herring
2022-09-09 13:51 ` [RFC PATCH 07/10] arm64: dts: apple: Add J314 and J316 devicetrees Janne Grunau
2022-09-09 13:51 ` [RFC PATCH 08/10] arm64: dts: apple: Add J375 devicetrees Janne Grunau
2022-09-10 11:46 ` Janne Grunau
2022-09-09 13:51 ` [RFC PATCH 09/10] arm64: dts: apple: t8103: Add MCA and its support Janne Grunau
2022-09-09 13:51 ` [RFC PATCH 10/10] arm64: dts: apple: t600x: " Janne Grunau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220909135103.98179-1-j@jannau.net \
--to=j@jannau.net \
--cc=alyssa@rosenzweig.io \
--cc=asahi@lists.linux.dev \
--cc=devicetree@vger.kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=kettenis@openbsd.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marcan@marcan.st \
--cc=maz@kernel.org \
--cc=povik+lin@cutebit.org \
--cc=robh+dt@kernel.org \
--cc=sven@svenpeter.dev \
--cc=tglx@linutronix.de \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).