arm64: dts: apple: Add initial t6000/t6001/t6002 DTs
authorHector Martin <marcan@marcan.st>
Fri, 16 Sep 2022 14:25:45 +0000 (16:25 +0200)
committerHector Martin <marcan@marcan.st>
Mon, 24 Oct 2022 04:44:22 +0000 (13:44 +0900)
commit7b0b0191a2c769819b4155a597ecef5c58e646c6
tree8ee97c3b13bd0240d44de7c82037e53ee0a2b823
parent6053bb2ce45755916ed5774a9898db31bed8529a
arm64: dts: apple: Add initial t6000/t6001/t6002 DTs

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.

Co-developed-by: Janne Grunau <j@jannau.net>
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/multi-die-cpp.h [new file with mode: 0644]
arch/arm64/boot/dts/apple/t6000.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/apple/t6001.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/apple/t6002.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/apple/t600x-common.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/apple/t600x-die0.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/apple/t600x-dieX.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/apple/t600x-gpio-pins.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/apple/t600x-nvme.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/apple/t600x-pmgr.dtsi [new file with mode: 0644]