I tested on Hikey960 Development Board using busybox devmem, there are some MMIO registers (GPU_ID, GPU_FEATURE, etc.) which are not writable from CPU side. I wonder how does hardware implement read-only/write-only permissions on this registers?
busybox devmem
GPU_ID
GPU_FEATURE