1*7b0b0191SHector Martin// SPDX-License-Identifier: GPL-2.0+ OR MIT
2*7b0b0191SHector Martin/*
3*7b0b0191SHector Martin * NVMe related devices for Apple T600x SoCs.
4*7b0b0191SHector Martin *
5*7b0b0191SHector Martin * Copyright The Asahi Linux Contributors
6*7b0b0191SHector Martin */
7*7b0b0191SHector Martin
8*7b0b0191SHector Martin	DIE_NODE(ans_mbox): mbox@38f408000 {
9*7b0b0191SHector Martin		compatible = "apple,t6000-asc-mailbox", "apple,asc-mailbox-v4";
10*7b0b0191SHector Martin		reg = <0x3 0x8f408000 0x0 0x4000>;
11*7b0b0191SHector Martin		interrupt-parent = <&aic>;
12*7b0b0191SHector Martin		interrupts = <AIC_IRQ DIE_NO 1069 IRQ_TYPE_LEVEL_HIGH>,
13*7b0b0191SHector Martin			<AIC_IRQ DIE_NO 1070 IRQ_TYPE_LEVEL_HIGH>,
14*7b0b0191SHector Martin			<AIC_IRQ DIE_NO 1071 IRQ_TYPE_LEVEL_HIGH>,
15*7b0b0191SHector Martin			<AIC_IRQ DIE_NO 1072 IRQ_TYPE_LEVEL_HIGH>;
16*7b0b0191SHector Martin		interrupt-names = "send-empty", "send-not-empty",
17*7b0b0191SHector Martin			"recv-empty", "recv-not-empty";
18*7b0b0191SHector Martin		power-domains = <&DIE_NODE(ps_ans2)>;
19*7b0b0191SHector Martin		#mbox-cells = <0>;
20*7b0b0191SHector Martin	};
21*7b0b0191SHector Martin
22*7b0b0191SHector Martin	DIE_NODE(sart): sart@393c50000 {
23*7b0b0191SHector Martin		compatible = "apple,t6000-sart";
24*7b0b0191SHector Martin		reg = <0x3 0x93c50000 0x0 0x10000>;
25*7b0b0191SHector Martin		power-domains = <&DIE_NODE(ps_ans2)>;
26*7b0b0191SHector Martin	};
27*7b0b0191SHector Martin
28*7b0b0191SHector Martin	DIE_NODE(nvme): nvme@393cc0000 {
29*7b0b0191SHector Martin		compatible = "apple,t6000-nvme-ans2", "apple,nvme-ans2";
30*7b0b0191SHector Martin		reg = <0x3 0x93cc0000 0x0 0x40000>, <0x3 0x8f400000 0x0 0x4000>;
31*7b0b0191SHector Martin		reg-names = "nvme", "ans";
32*7b0b0191SHector Martin		interrupt-parent = <&aic>;
33*7b0b0191SHector Martin		/* The NVME interrupt is always routed to die */
34*7b0b0191SHector Martin		interrupts = <AIC_IRQ 0 1613 IRQ_TYPE_LEVEL_HIGH>;
35*7b0b0191SHector Martin		mboxes = <&DIE_NODE(ans_mbox)>;
36*7b0b0191SHector Martin		apple,sart = <&DIE_NODE(sart)>;
37*7b0b0191SHector Martin		power-domains = <&DIE_NODE(ps_ans2)>,
38*7b0b0191SHector Martin			<&DIE_NODE(ps_apcie_st_sys)>,
39*7b0b0191SHector Martin			<&DIE_NODE(ps_apcie_st1_sys)>;
40*7b0b0191SHector Martin		power-domain-names = "ans", "apcie0", "apcie1";
41*7b0b0191SHector Martin		resets = <&DIE_NODE(ps_ans2)>;
42*7b0b0191SHector Martin	};
43