The v2.2 EM Starterkit supports 3 different SOC selections:
em7d, em9d, em11d.
Zephyr has two of these implemented: em9d, and em11d.
But em7d cannot yet be implemented because it does not support the FIRQ interrupt in the same way. There is an option where FIRQ doesn't use a 2nd register bank.
RGF_NUM_BANKS==1 on em7d.
Thus the FIRQ handler has to save/restore all scratch registers, similar to what
regular interrupts do.
The task here is to make RGF_NUM_BANKS configurable and when its '1', to have firq handler save/restore scratch registers, and for em7d SOC to set RGF_NUM_BANKS=1.