summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/apple/t600x-nvme.dtsi
blob: 7dff738d317edcdf8b9f338607488741847d9c30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// SPDX-License-Identifier: GPL-2.0+ OR MIT
/*
 * NVMe related devices for Apple T600x SoCs.
 *
 * Copyright The Asahi Linux Contributors
 */

	DIE_NODE(ans_mbox): mbox@38f408000 {
		compatible = "apple,t6000-asc-mailbox", "apple,asc-mailbox-v4";
		reg = <0x3 0x8f408000 0x0 0x4000>;
		interrupt-parent = <&aic>;
		interrupts = <AIC_IRQ DIE_NO 1069 IRQ_TYPE_LEVEL_HIGH>,
			<AIC_IRQ DIE_NO 1070 IRQ_TYPE_LEVEL_HIGH>,
			<AIC_IRQ DIE_NO 1071 IRQ_TYPE_LEVEL_HIGH>,
			<AIC_IRQ DIE_NO 1072 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "send-empty", "send-not-empty",
			"recv-empty", "recv-not-empty";
		power-domains = <&DIE_NODE(ps_ans2)>;
		#mbox-cells = <0>;
	};

	DIE_NODE(sart): sart@393c50000 {
		compatible = "apple,t6000-sart";
		reg = <0x3 0x93c50000 0x0 0x10000>;
		power-domains = <&DIE_NODE(ps_ans2)>;
	};

	DIE_NODE(nvme): nvme@393cc0000 {
		compatible = "apple,t6000-nvme-ans2", "apple,nvme-ans2";
		reg = <0x3 0x93cc0000 0x0 0x40000>, <0x3 0x8f400000 0x0 0x4000>;
		reg-names = "nvme", "ans";
		interrupt-parent = <&aic>;
		/* The NVME interrupt is always routed to die */
		interrupts = <AIC_IRQ 0 1613 IRQ_TYPE_LEVEL_HIGH>;
		mboxes = <&DIE_NODE(ans_mbox)>;
		apple,sart = <&DIE_NODE(sart)>;
		power-domains = <&DIE_NODE(ps_ans2)>,
			<&DIE_NODE(ps_apcie_st_sys)>,
			<&DIE_NODE(ps_apcie_st1_sys)>;
		power-domain-names = "ans", "apcie0", "apcie1";
		resets = <&DIE_NODE(ps_ans2)>;
	};