xref: /linux/scripts/dtc/include-prefixes/arm64/apple/t602x-nvme.dtsi (revision 0f048c878ee32a4259dbf28e0ad8fd0b71ee0085)
1*a8f20eb6SHector Martin// SPDX-License-Identifier: GPL-2.0+ OR MIT
2*a8f20eb6SHector Martin/*
3*a8f20eb6SHector Martin * NVMe related devices for Apple T602x SoCs.
4*a8f20eb6SHector Martin *
5*a8f20eb6SHector Martin * Copyright The Asahi Linux Contributors
6*a8f20eb6SHector Martin */
7*a8f20eb6SHector Martin
8*a8f20eb6SHector Martin	DIE_NODE(ans_mbox): mbox@347408000 {
9*a8f20eb6SHector Martin		compatible = "apple,t6020-asc-mailbox", "apple,asc-mailbox-v4";
10*a8f20eb6SHector Martin		reg = <0x3 0x47408000 0x0 0x4000>;
11*a8f20eb6SHector Martin		interrupt-parent = <&aic>;
12*a8f20eb6SHector Martin		interrupts = <AIC_IRQ DIE_NO 1169 IRQ_TYPE_LEVEL_HIGH>,
13*a8f20eb6SHector Martin			<AIC_IRQ DIE_NO 1170 IRQ_TYPE_LEVEL_HIGH>,
14*a8f20eb6SHector Martin			<AIC_IRQ DIE_NO 1171 IRQ_TYPE_LEVEL_HIGH>,
15*a8f20eb6SHector Martin			<AIC_IRQ DIE_NO 1172 IRQ_TYPE_LEVEL_HIGH>;
16*a8f20eb6SHector Martin		interrupt-names = "send-empty", "send-not-empty",
17*a8f20eb6SHector Martin			"recv-empty", "recv-not-empty";
18*a8f20eb6SHector Martin		power-domains = <&DIE_NODE(ps_ans2)>;
19*a8f20eb6SHector Martin		#mbox-cells = <0>;
20*a8f20eb6SHector Martin	};
21*a8f20eb6SHector Martin
22*a8f20eb6SHector Martin	DIE_NODE(sart): sart@34bc50000 {
23*a8f20eb6SHector Martin		compatible = "apple,t6020-sart", "apple,t6000-sart";
24*a8f20eb6SHector Martin		reg = <0x3 0x4bc50000 0x0 0x10000>;
25*a8f20eb6SHector Martin		power-domains = <&DIE_NODE(ps_ans2)>;
26*a8f20eb6SHector Martin	};
27*a8f20eb6SHector Martin
28*a8f20eb6SHector Martin	DIE_NODE(nvme): nvme@34bcc0000 {
29*a8f20eb6SHector Martin		compatible = "apple,t6020-nvme-ans2", "apple,t8103-nvme-ans2";
30*a8f20eb6SHector Martin		reg = <0x3 0x4bcc0000 0x0 0x40000>, <0x3 0x47400000 0x0 0x4000>;
31*a8f20eb6SHector Martin		reg-names = "nvme", "ans";
32*a8f20eb6SHector Martin		interrupt-parent = <&aic>;
33*a8f20eb6SHector Martin		/* The NVME interrupt is always routed to die 0 */
34*a8f20eb6SHector Martin		interrupts = <AIC_IRQ 0 1832 IRQ_TYPE_LEVEL_HIGH>;
35*a8f20eb6SHector Martin		mboxes = <&DIE_NODE(ans_mbox)>;
36*a8f20eb6SHector Martin		apple,sart = <&DIE_NODE(sart)>;
37*a8f20eb6SHector Martin		power-domains = <&DIE_NODE(ps_ans2)>,
38*a8f20eb6SHector Martin			<&DIE_NODE(ps_apcie_st_sys)>,
39*a8f20eb6SHector Martin			<&DIE_NODE(ps_apcie_st1_sys)>;
40*a8f20eb6SHector Martin		power-domain-names = "ans", "apcie0", "apcie1";
41*a8f20eb6SHector Martin		resets = <&DIE_NODE(ps_ans2)>;
42*a8f20eb6SHector Martin	};
43