In generally, we should keep to a correct order of register settings to work correctly.
It is possible to mistake the order, so please try to reverse the order of PFC/GPIO setting.
Sorry, I cannot test it because I don't have verification environment for bare metal application ...
I tried reversing the order of the PFC and GPIO settings and the results were the same.
I think gpio module is initialized in ATF until v2.12.0 at least.
But, for any reasons, it maybe removed.
So, it may work to add to initialize any register (it is clock of modules? , or switch of module?) to your program.
Is it possible to investigate how to initialize gpio module?