Accessing /dev/mem with mmap at specified range

Hi,

I tried and failed accessing Internal periperal registers with mmap using /dev/mem on SAM9X60 CPU.
Peripheral regitsers located at address range 0xF0000000-0xFFFFFFFF
per_reg1
when I trying to mmap any small region in this range getting error:
INIT /dev/mem at 0xfffff400 size 3840 failed..

This is example from another MIPS CPU in another memory range where it works as expected

unsigned int *memMap; // global variable
int memFile = open("/dev/mem", O_RDWR);
memMap = (unsigned int *) mmap(0, size, PROT_READ | PROT_WRITE, MAP_SHARED, memFile, 0x2F000400);
close(memFile);

and then can be accessed directly:

memMap[REG_TESTSTAT2] &= ~FLAGS_bm;
memMap[REG_TESTSTAT2] |= (flags << FLAGS_bp);

Please point me to the right direction where and how I must declare it to have ability access regitsers in memory range 0xF0000000-0xFFFFFFFF?
In uboot DTS at ./target/linux/at91/files/arch/arm/boot/dts/at91-q5xr5.dts
or in main DTS file at /build_dir/toolchain-arm_arm926ej-s_gcc-12.3.0_musl_eabi/linux-5.15.116/arch/arm/boot/dts/at91-sam9x60ek.dts

and how it must be done correctly?
Thank you!