Hi Dmitriy,
if you run standard Linux then it depends from where you handle this self-defined GPIO port. From user space it simply takes time to go down and up the layers, resulting in kHz performance. If you would implement a GPIO port read driver in the Kernel, then you would end up in a lower MHz performance. If you optimize things even more (for example bare metal on the Cortex-M4) you could maybe reach a small 2-digit MHz performance, but by far not 60MHz
Now you will still ask: Why?
The i.MX7 includes various bus systems and timing domains with a lot of sync bridges. This is much more complex than on microcontroller architechtures like Kinetis or LPC. So most of the time when reading a GPIO value is spend in these bridges, gettings the request down and the result up. There is no way to bypass them, also not with DMA.
If you want to test it anyway by yourself, I would go with a little program on the Cortex-M4.
In a nutshell: 60MHz reads with GPIO are simply impossible, that's why Arthur recommended an interface like the CSI, which is by definition a high speed parallel input interface with a high speed connection to the bus system.
Regards,
Bernhard.