1// SPDX-License-Identifier: GPL-2.0
2
3/ {
4	#address-cells = <1>;
5	#size-cells = <1>;
6
7	testcase-data {
8		#address-cells = <1>;
9		#size-cells = <1>;
10		ranges;
11
12		address-tests {
13			#address-cells = <1>;
14			#size-cells = <1>;
15			/* ranges here is to make sure we don't use it for
16			 * dma-ranges translation */
17			ranges = <0x70000000 0x70000000 0x50000000>,
18				 <0x00000000 0xd0000000 0x20000000>;
19			dma-ranges = <0x0 0x20000000 0x40000000>;
20
21			device@70000000 {
22				reg = <0x70000000 0x1000>;
23			};
24
25			bus@80000000 {
26				#address-cells = <2>;
27				#size-cells = <2>;
28				ranges = <0x0 0x0 0x80000000 0x0 0x100000>;
29				dma-ranges = <0x1 0x0 0x0 0x20 0x0>;
30
31				device@1000 {
32					reg = <0x0 0x1000 0x0 0x1000>;
33				};
34			};
35
36			pci@90000000 {
37				device_type = "pci";
38				#address-cells = <3>;
39				#size-cells = <2>;
40				reg = <0x90000000 0x1000>;
41				ranges = <0x42000000 0x0 0x40000000 0x40000000 0x0 0x10000000>;
42				dma-ranges = <0x42000000 0x0 0x80000000 0x00000000 0x0 0x10000000>,
43					     <0x42000000 0x0 0xc0000000 0x20000000 0x0 0x10000000>;
44			};
45
46			bus@a0000000 {
47				#address-cells = <3>;
48				#size-cells = <2>;
49				ranges = <0xf00baa 0x0 0x0 0xa0000000 0x0 0x100000>,
50					 <0xf00bee 0x1 0x0 0xb0000000 0x0 0x200000>;
51			};
52
53		};
54
55		address-tests2 {
56			#address-cells = <2>;
57			#size-cells = <1>;
58
59			ranges = <0x10000000 0x01000000 0xa0000000 0x01000000>,
60				 <0x10000000 0x02000000 0xb0000000 0x01000000>,
61				 <0x20000000 0x01000000 0xc0000000 0x01000000>,
62				 <0x20000000 0x02000000 0xd0000000 0x01000000>,
63				 <0x00000000 0xd1000000 0xd1000000 0x01000000>,
64				 <0x00000000 0xe8000000 0xe8000000 0x07f00000>,
65				 <0x00000000 0xefff0000 0xefff0000 0x00010000>;
66
67			bus-2cell@10000000 {
68				#address-cells = <2>;
69				#size-cells = <1>;
70				ranges = <0x100000 0x10000 0x10000000 0x1a00000 0x10000>,
71					 <0x100000 0x20000 0x10000000 0x1b00000 0x10000>,
72					 <0x200000 0x10000 0x20000000 0x1c00000 0x10000>,
73					 <0x200000 0x20000 0x20000000 0x2d00000 0x10000>;
74
75				device@100000 {
76					reg = <0x100000 0x11000 0x100>,
77					      <0x100000 0x12000 0x100>,
78					      <0x200000 0x11000 0x100>,
79					      <0x200000 0x21000 0x100>;
80				};
81			};
82
83			bus-3cell@20000000 {
84				#address-cells = <3>;
85				#size-cells = <1>;
86				ranges = <0x1 0x100000 0x10000 0x10000000 0x1a00000 0x10000>,
87					 <0x2 0x100000 0x10000 0x10000000 0x1b00000 0x10000>,
88					 <0x3 0x200000 0x10000 0x20000000 0x1c00000 0x10000>,
89					 <0x4 0x200000 0x20000 0x20000000 0x2d00000 0x10000>;
90
91				local-bus@100000 {
92					#address-cells = <1>;
93					#size-cells = <1>;
94					ranges = <0xf1000000 0x1 0x100000 0x10000 0x10000>,
95						 <0xf2000000 0x2 0x100000 0x10000 0x10000>,
96						 <0xf3000000 0x3 0x200000 0x10000 0x08000>,
97						 <0xf3800000 0x3 0x200000 0x18000 0x08000>,
98						 <0xf4000000 0x4 0x200000 0x20000 0x10000>;
99
100					device@f1001000 {
101						reg = <0xf1001000 0x100>,
102						      <0xf2002000 0x100>,
103						      <0xf3001000 0x100>,
104						      <0xf3801000 0x100>,
105						      <0xf4001000 0x100>;
106					};
107				};
108			};
109
110			pcie@d1070000 {
111				#address-cells = <0x03>;
112				#size-cells = <0x02>;
113				bus-range = <0x00 0xff>;
114				device_type = "pci";
115				ranges = <0x82000000 0 0xe8000000 0 0xe8000000 0 0x7f00000>,
116					 <0x81000000 0 0x00000000 0 0xefff0000 0 0x0010000>;
117				reg = <0x00000000 0xd1070000 0x20000>;
118
119				pci@0,0 {
120					#address-cells = <0x03>;
121					#size-cells = <0x02>;
122					bus-range = <0x01 0x01>;
123					device_type = "pci";
124					ranges = <0x82000000 0 0xe8000000
125						  0x82000000 0 0xe8000000
126						  0 0x4400000>;
127					reg = <0x00 0x00 0x00 0x00 0x00>;
128
129					dev@0,0 {
130						#address-cells = <0x03>;
131						#size-cells = <0x02>;
132						ranges = <0 0 0 0x82010000 0 0xe8000000 0 0x2000000>,
133							 <1 0 0 0x82010000 0 0xea000000 0 0x1000000>,
134							 <2 0 0 0x82010000 0 0xeb000000 0 0x0800000>,
135							 <3 0 0 0x82010000 0 0xeb800000 0 0x0800000>,
136							 <4 0 0 0x82010000 0 0xec000000 0 0x0020000>,
137							 <5 0 0 0x82010000 0 0xec020000 0 0x0002000>;
138						reg = <0x10000 0x00 0x00 0x00 0x00>;
139
140						local-bus@0 {
141							#address-cells = <0x01>;
142							#size-cells = <0x01>;
143							ranges = <0xa0000000 0 0 0 0x2000000>,
144								 <0xb0000000 1 0 0 0x1000000>;
145
146							dev@e0000000 {
147								reg = <0xa0001000 0x1000>,
148								      <0xb0002000 0x2000>;
149							};
150						};
151					};
152				};
153			};
154		};
155	};
156};
157