Zhiming,
I could not agree with you.
The i.MX93 gpio is orgnized by group. one gpio data register is for 32 bit/pin out put.
And according to the basic real time knowledge, the real time task need dedicated resource. Or it could not be real time. So, in this case of GPIO1. If the case on M core side is real time task, GPIO1 all 32 bit need to give to M core side, If the case on M core side is not real time task, the semaphore shoule be put on the entire GPIO1.
And even, it is related to the hardware design.
Here is NXP i.MX93 hardware design guide
