linux/drivers/of/unittest-data/tests-address.dtsi

// SPDX-License-Identifier: GPL-2.0

/ {
	#address-cells = <1>;
	#size-cells = <1>;

	testcase-data {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		address-tests {
			#address-cells = <1>;
			#size-cells = <1>;
			/* ranges here is to make sure we don't use it for
			 * dma-ranges translation */
			ranges = <0x70000000 0x70000000 0x50000000>,
				 <0x00000000 0xd0000000 0x20000000>;
			dma-ranges = <0x0 0x20000000 0x40000000>;

			device@70000000 {
				reg = <0x70000000 0x1000>;
			};

			bus@80000000 {
				#address-cells = <2>;
				#size-cells = <2>;
				ranges = <0x0 0x0 0x80000000 0x0 0x100000>;
				dma-ranges = <0x1 0x0 0x0 0x20 0x0>;

				device@1000 {
					reg = <0x0 0x1000 0x0 0x1000>;
				};
			};

			pci@90000000 {
				device_type = "pci";
				#address-cells = <3>;
				#size-cells = <2>;
				reg = <0x90000000 0x1000>;
				ranges = <0x42000000 0x0 0x40000000 0x40000000 0x0 0x10000000>;
				dma-ranges = <0x42000000 0x0 0x80000000 0x00000000 0x0 0x10000000>,
					     <0x42000000 0x0 0xc0000000 0x20000000 0x0 0x10000000>;
			};

			bus@a0000000 {
				#address-cells = <3>;
				#size-cells = <2>;
				ranges = <0xf00baa 0x0 0x0 0xa0000000 0x0 0x100000>,
					 <0xf00bee 0x1 0x0 0xb0000000 0x0 0x200000>;
			};

		};

		address-tests2 {
			#address-cells = <2>;
			#size-cells = <1>;

			ranges = <0x10000000 0x01000000 0xa0000000 0x01000000>,
				 <0x10000000 0x02000000 0xb0000000 0x01000000>,
				 <0x20000000 0x01000000 0xc0000000 0x01000000>,
				 <0x20000000 0x02000000 0xd0000000 0x01000000>,
				 <0x00000000 0xd1000000 0xd1000000 0x01000000>,
				 <0x00000000 0xe8000000 0xe8000000 0x07f00000>,
				 <0x00000000 0xefff0000 0xefff0000 0x00010000>;

			bus-2cell@10000000 {
				#address-cells = <2>;
				#size-cells = <1>;
				ranges = <0x100000 0x10000 0x10000000 0x1a00000 0x10000>,
					 <0x100000 0x20000 0x10000000 0x1b00000 0x10000>,
					 <0x200000 0x10000 0x20000000 0x1c00000 0x10000>,
					 <0x200000 0x20000 0x20000000 0x2d00000 0x10000>;

				device@100000 {
					reg = <0x100000 0x11000 0x100>,
					      <0x100000 0x12000 0x100>,
					      <0x200000 0x11000 0x100>,
					      <0x200000 0x21000 0x100>;
				};
			};

			bus-3cell@20000000 {
				#address-cells = <3>;
				#size-cells = <1>;
				ranges = <0x1 0x100000 0x10000 0x10000000 0x1a00000 0x10000>,
					 <0x2 0x100000 0x10000 0x10000000 0x1b00000 0x10000>,
					 <0x3 0x200000 0x10000 0x20000000 0x1c00000 0x10000>,
					 <0x4 0x200000 0x20000 0x20000000 0x2d00000 0x10000>;

				local-bus@100000 {
					#address-cells = <1>;
					#size-cells = <1>;
					ranges = <0xf1000000 0x1 0x100000 0x10000 0x10000>,
						 <0xf2000000 0x2 0x100000 0x10000 0x10000>,
						 <0xf3000000 0x3 0x200000 0x10000 0x08000>,
						 <0xf3800000 0x3 0x200000 0x18000 0x08000>,
						 <0xf4000000 0x4 0x200000 0x20000 0x10000>;

					device@f1001000 {
						reg = <0xf1001000 0x100>,
						      <0xf2002000 0x100>,
						      <0xf3001000 0x100>,
						      <0xf3801000 0x100>,
						      <0xf4001000 0x100>;
					};
				};
			};

			pcie@d1070000 {
				#address-cells = <0x03>;
				#size-cells = <0x02>;
				bus-range = <0x00 0xff>;
				device_type = "pci";
				ranges = <0x82000000 0 0xe8000000 0 0xe8000000 0 0x7f00000>,
					 <0x81000000 0 0x00000000 0 0xefff0000 0 0x0010000>;
				reg = <0x00000000 0xd1070000 0x20000>;

				pci@0,0 {
					#address-cells = <0x03>;
					#size-cells = <0x02>;
					bus-range = <0x01 0x01>;
					device_type = "pci";
					ranges = <0x82000000 0 0xe8000000
						  0x82000000 0 0xe8000000
						  0 0x4400000>;
					reg = <0x00 0x00 0x00 0x00 0x00>;

					dev@0,0 {
						#address-cells = <0x03>;
						#size-cells = <0x02>;
						ranges = <0 0 0 0x82010000 0 0xe8000000 0 0x2000000>,
							 <1 0 0 0x82010000 0 0xea000000 0 0x1000000>,
							 <2 0 0 0x82010000 0 0xeb000000 0 0x0800000>,
							 <3 0 0 0x82010000 0 0xeb800000 0 0x0800000>,
							 <4 0 0 0x82010000 0 0xec000000 0 0x0020000>,
							 <5 0 0 0x82010000 0 0xec020000 0 0x0002000>;
						reg = <0x10000 0x00 0x00 0x00 0x00>;

						local-bus@0 {
							#address-cells = <0x01>;
							#size-cells = <0x01>;
							ranges = <0xa0000000 0 0 0 0x2000000>,
								 <0xb0000000 1 0 0 0x1000000>;

							dev@e0000000 {
								reg = <0xa0001000 0x1000>,
								      <0xb0002000 0x2000>;
							};
						};
					};
				};
			};
		};
	};
};