Reserve large (2+GiB) section of physical memory in the device tree

Hi, I would like to allocate a large contiguous section of physical memory in the device tree. I want to reserve 2+ GiB. It could be a couple of contiguous blocks to add up to 2+ GiB as well.

Currently I am editing the file tegra186-quill-p3310-1000-a00-00-base.dts in the kernel sources and re compiling the device tree. I have successfully reserved 1.25 GiB with the following entry.

memory@80000000 {

		device_type = "memory";
		reg = <0x0 0x80000000 0x0 0x70000000>;
	};

	/* reserved memory */
	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		reserved_c2h_50000000: c2h_50000000@0xa0000000{
			reg = <0x0 0xa0000000 0x0 0x50000000>; // 1.25 GiB
		};
	};

When I allocate more space in the memory@80000000 it seems to run into some problems. Can someone help me understand which physical addresses I can reserve to get 2 or more GiB of reserved space?

thank you.

you can allocate in this range:

	reserved_c2h_50000000: c2h_80000000@0xf0200000{
		reg = <0x0 0xf0200000 0x0 0x80000000>; // 2 GiB
	};

Thank you! How much memory is available there? If I wanted to allocate 2.5 or 3 GiB at that location would that work? Also where in the documentation or source code could I have figured this out?

Thank you!

You can check the /proc/device-tree/memory@80000000/reg node in target

xxd /proc/device-tree/memory@80000000/reg