summaryrefslogtreecommitdiffstats
path: root/p9-fsi.dtsi.m4
blob: 4a25ea2549154eeb1e98413984395a5e97cefb8b (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
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
define(`CONCAT', `$1$2')dnl
define(`HEX', `CONCAT(0x, $1)')dnl
define(`CORE_BASE', `eval(0x20000000 + $1 * 0x1000000, 16)')dnl
define(`CORE', `core@CORE_BASE($1) {
#address-cells = <0x1>;
#size-cells = <0x0>;
compatible = "ibm,power9-core";
reg = <0x0 HEX(CORE_BASE($1)) 0xfffff>;
index = <HEX(eval($2, 16))>;

THREAD(0);
THREAD(1);
THREAD(2);
THREAD(3);
}')dnl
define(`THREAD_BASE', `eval($1, 16)')dnl
define(`THREAD',`thread@THREAD_BASE($1) {
compatible = "ibm,power9-thread";
reg = <0x0>;
tid = <HEX(eval($1, 16))>;
index = <HEX(eval($1, 16))>;
}')dnl

/ {
	#address-cells = <0x1>;
	#size-cells = <0x0>;

	fsi0: fsi@0 {
		#address-cells = <0x2>;
		#size-cells = <0x1>;
		compatible = "ibm,bmcfsi";
		reg = <0x0 0x0 0x0>;

		index = <0x0>;
		status = "hidden";

		pib@1000 {
			#address-cells = <0x2>;
			#size-cells = <0x1>;
			reg = <0x0 0x1000 0x7>;
			compatible = "ibm,fsi-pib", "ibm,power9-fsi-pib";
			index = <0x0>;

			adu@90000 {
				compatible = "ibm,power9-adu";
				reg = <0x0 0x90000 0x5>;
			};

			CORE(0, 0);
			CORE(1, 1);
			CORE(2, 2);
			CORE(3, 3);
			CORE(4, 4);
			CORE(5, 5);
			CORE(6, 6);
			CORE(7, 7);
			CORE(8, 8);
			CORE(9, 9);
			CORE(10, 10);
			CORE(11, 11);
			CORE(12, 12);
			CORE(13, 13);
			CORE(14, 14);
			CORE(15, 15);
			CORE(16, 16);
			CORE(17, 17);
			CORE(18, 18);
			CORE(19, 19);
			CORE(20, 20);
			CORE(21, 21);
			CORE(22, 22);
			CORE(23, 23);
		};

		hmfsi@100000 {
			compatible = "ibm,fsi-hmfsi";
			reg = <0x0 0x100000 0x8000>;
			port = <0x1>;
			index = <0x1>;

			pib@1000 {
				#address-cells = <0x2>;
				#size-cells = <0x1>;
				reg = <0x0 0x1000 0x7>;
				compatible = "ibm,fsi-pib", "ibm,power9-fsi-pib";
				index = <0x1>;

				adu@90000 {
					compatible = "ibm,power9-adu";
					reg = <0x0 0x90000 0x5>;
				};

				CORE(0, 0);
				CORE(1, 1);
				CORE(2, 2);
				CORE(3, 3);
				CORE(4, 4);
				CORE(5, 5);
				CORE(6, 6);
				CORE(7, 7);
				CORE(8, 8);
				CORE(9, 9);
				CORE(10, 10);
				CORE(11, 11);
				CORE(12, 12);
				CORE(13, 13);
				CORE(14, 14);
				CORE(15, 15);
				CORE(16, 16);
				CORE(17, 17);
				CORE(18, 18);
				CORE(19, 19);
				CORE(20, 20);
				CORE(21, 21);
				CORE(22, 22);
				CORE(23, 23);
			 };
		};

	};
};
OpenPOWER on IntegriCloud