We use the S32K148 in an automotive application with some ASIL B functionality.
Safety block diagram (p.107 of S32K-RM.pdf rev 13)

We want to prevent non safe code (unprivileged code) from changing the GPIO outputs.
Safe code (Highest ASIL level of the application) must still be able to change GPIO Outputs at all times (not only at startup but also at runtime)
We cannot seem to protect the GPIO controller using MPU: p.281 of S32K-RM.pdf rev 13

We know that the mux configuration of the GPIOs can be protected:
S32K1xx_Memory_Map.xlsx :

However the S32K148 doesn’t seem to allow to configure the access rights of the GPIO controller.
We do know it is available for S32K118, and have studied the aips_demo_s32k118 form the S32K knowledge base: https://community.nxp.com/t5/S32K-Knowledge-Base/aips-demo-s32k118-zip/ta-p/1124234

The aliased peripheral of does not have any registers allowing privilege control.


I thought we could use the clock gating of the SIM module (which himself can be protected from unprivileged access),
but on p.169 of S32K-RM.pdf rev 13, it says that clock gating is not available for our MCU S32K148, only for S32K11x variants.

Is there any way to protect the access to the GPIOs outputs for S32K148 ?
Thank you for your help.