There are 3 memory banks each of 512KB available as L2OCRAM.
By default all of this banks are in Power ON.
Individual L2OCRAM banks can be powered OFF using software writes to
MSS_RCM.L2OCRAM_BANK*_PD_CTRL register and by observing status bits from
MSS_RCM.L2OCRAM_BANK*_PD_STATUS
Sequence to power off each bank is captured below
- Write 0x7 to ISO field of the register.
- Write 0x0 to AONIN field of the register.
- Wait till AONOUT status field is 0x0.
- Write 0x0 to AGOODIN field of the register.
- Wait till AGOODOUT status field is 0x0.
Sequence to Power On each bank is capture below
- Write 0x7 to AONIN field of the register.
- Wait till AONOUT status field is 0x1.
- Write 0x7 to AGOODIN field of the register.
- Wait till AGOODOUT field is 0x1.
- Write 0x0 to ISO field of the register.
When a block is powered off, a bus
error is generated on access.
Note: It is always safe to have decent delay between each step because
memory might take some time before reaching to total power on state.
So even though aonout is 1’b1 does not mean memory is ON.