SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
Writing TLB entries statically avoids the need to write translation tables in memory and is commonly used for relatively small address spaces. This method ensures that the translation of time-critical data accesses execute as fast as possible with entries already present in the TLB. These entries must be locked to prevent them from being overwritten.
| Step | Register/ Bit Field / Programming Model | Value |
|---|---|---|
| Execute software reset | MMU_SYSCONFIG[1] SOFTRESET | 0x1 |
| Wait for reset to complete | MMU_SYSSTATUS[0] RESETDONE | =0x1 |
| Enable power saving via automatic interface clock gating | MMU_SYSCONFIG[0] AUTOIDLE | 0x1 |
| Configure TLB entries | See Table 20-10 | |
| Load the physical Address of the page | MMU_RAM[31:12] PHYSICALADDRESS | 0x- |
| Specify the TLB entry you want to write | MMU_LOCK[8:4] CURRENTVICTIM | 0x- |
| Load the specified entry in the TLB | MMU_LD_TLB[0] LDTLBITEM | 0x1 |
| Enable multihit fault and TLB miss | MMU_IRQENABLE[4] MULTIHITFAULT | 0x1 |
| MMU_IRQENABLE[0] TLBMISS | 0x1 | |
| Enable memory translations | MMU_CNTL[1] MMUENABLE | 0x1 |