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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
// SPDX-License-Identifier: (GPL-2.0 or BSD-3-Clause)
/*
* Copyright (c) 2019-2022, Arm Limited.
*/
#include "n1sdp-single-chip.dts"
/ {
cpus {
cpu4@100000000 {
compatible = "arm,neoverse-n1";
reg = <0x1 0x0>;
device_type = "cpu";
enable-method = "psci";
numa-node-id = <1>;
};
cpu5@100000100 {
compatible = "arm,neoverse-n1";
reg = <0x1 0x00000100>;
device_type = "cpu";
enable-method = "psci";
numa-node-id = <1>;
};
cpu6@100010000 {
compatible = "arm,neoverse-n1";
reg = <0x1 0x00010000>;
device_type = "cpu";
enable-method = "psci";
numa-node-id = <1>;
};
cpu7@100010100 {
compatible = "arm,neoverse-n1";
reg = <0x1 0x00010100>;
device_type = "cpu";
enable-method = "psci";
numa-node-id = <1>;
};
};
/* Remote N1SDP board address is mapped at offset 4TB.
* First DRAM Bank of remote N1SDP board is mapped at 4TB + 2GB.
*/
memory@40080000000 {
device_type = "memory";
reg = <0x00000400 0x80000000 0x0 0x80000000>,
<0x00000480 0x80000000 0x3 0x80000000>;
numa-node-id = <1>;
};
distance-map {
compatible = "numa-distance-map-v1";
distance-matrix = <0 0 10>,
<0 1 20>,
<1 1 10>;
};
smmu_secondary_pcie: iommu@4004f400000 {
compatible = "arm,smmu-v3";
reg = <0x400 0x4f400000 0 0x40000>;
interrupts = <GIC_SPI 715 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 716 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 717 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "eventq", "cmdq-sync", "gerror";
msi-parent = <&its2_secondary 0>;
#iommu-cells = <1>;
dma-coherent;
};
pcie_secondary_ctlr: pcie@40070000000 {
compatible = "arm,n1sdp-pcie";
device_type = "pci";
reg = <0x400 0x70000000 0 0x1200000>;
bus-range = <0 0xff>;
linux,pci-domain = <2>;
#address-cells = <3>;
#size-cells = <2>;
dma-coherent;
ranges = <0x01000000 0x00 0x00000000 0x400 0x75200000 0x00 0x00010000>,
<0x02000000 0x00 0x71200000 0x400 0x71200000 0x00 0x04000000>,
<0x42000000 0x09 0x00000000 0x409 0x00000000 0x20 0x00000000>;
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 7>;
interrupt-map = <0 0 0 1 &gic 0 0 0 649 IRQ_TYPE_LEVEL_HIGH>,
<0 0 0 2 &gic 0 0 0 650 IRQ_TYPE_LEVEL_HIGH>,
<0 0 0 3 &gic 0 0 0 651 IRQ_TYPE_LEVEL_HIGH>,
<0 0 0 4 &gic 0 0 0 652 IRQ_TYPE_LEVEL_HIGH>;
msi-map = <0 &its_secondary_pcie 0 0x10000>;
iommu-map = <0 &smmu_secondary_pcie 0 0x10000>;
numa-node-id = <1>;
status = "okay";
};
};
&gic {
#redistributor-regions = <2>;
reg = <0x0 0x30000000 0 0x10000>, /* GICD */
<0x0 0x300c0000 0 0x80000>, /* GICR */
<0x400 0x300c0000 0 0x80000>; /* GICR */
its2_secondary: its@40030060000 {
compatible = "arm,gic-v3-its";
msi-controller;
#msi-cells = <1>;
reg = <0x400 0x30060000 0x0 0x20000>;
};
its_secondary_pcie: its@400300a0000 {
compatible = "arm,gic-v3-its";
msi-controller;
#msi-cells = <1>;
reg = <0x400 0x300a0000 0x0 0x20000>;
};
};
&pcie_ctlr {
numa-node-id = <0>;
};
&ccix_pcie_ctlr {
numa-node-id = <0>;
};
|