Два утверждения
reg = <0 0x40000000 0 0x20000000>;
reg = <2 0x00000000 0 0x20000000>;
означает, что используется 64-битная схема адресации. Однако каждое число в «ячейке» дерева устройств представляет 32-битное поле. Таким образом, числа должны читаться как:
Addr: 0x040000000 Size: 0x020000000
Addr: 0x200000000 Size: 0x020000000
Таким образом, у вас есть два диапазона 512 МБ ОЗУ в двух разных сегментах адреса.
Пожалуйста, найдите объявление в вашем файле dts / dtsi, например:
#address-cells = <2>;
#size-cells = <2>;