I noticed that you use old version BSP.
Yocto v3.21.0 is latest BSP.
So, could you update BSP to v3.21.0 from v3.9.0.
It may fix this issue.
Thank you for the reply.
I also tried Yocto v3.21.0.
But I was unable to access GPIO.
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?