SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
The PEG is a dynamic software-programmable, initiator-indexed table of priorities. Its unique role is to bind a priority to an initiator on the fly. The mapping of each initiator to the table (split into eight registers) is based on its 6-MSB group ConnID (see L3_MAIN Connectivity Matrix, in Interconnect).
When an interconnect request enters the DMM, its priority is extracted from the PEG LUT.
The 64 priority entries are software-programmable with the DMM_PEG_PRIO_k register. A priority of 0 defines the highest priority and a priority of 7 defines the lowest priority. At reset, all priorities are set to 4.
These registers are each split into eight 4-bit fields, each field mapping an entry of the LUT with:
Table 15-9 lists the initiator ConnIDs that are mapped to PEG priority register fields (P/W).
Registers | P0/W0 | P1/W1 | P2/W2 | P3/W3 | P4/W4 | P5/W5 | P6/W6 | P7/W7 |
---|---|---|---|---|---|---|---|---|
DMM_PEG_PRIO_0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
DMM_PEG_PRIO_1 | 8 | 9 | 10(0xA) | 11(0xB) | 12(0xC) | 13(0xD) | 14(0xE) | 15(0xF) |
DMM_PEG_PRIO_2 | 16(0x10) | 17(0x11) | 18(0x12) | 19(0x13) | 20(0x14) | 21(0x15) | 22(0x16) | 23(0x17) |
DMM_PEG_PRIO_3 | 24(0x18) | 25(0x19) | 26(0x1A) | 27(0x1B) | 28(0x1C) | 29(0x1D) | 30(0x1E) | 31(0x1F) |
DMM_PEG_PRIO_4 | 32(0x20) | 33(0x21) | 34(0x22) | 35(0x23) | 36(0x24) | 37(0x25) | 38(0x26) | 39(0x27) |
DMM_PEG_PRIO_5 | 40(0x28) | 41(0x29) | 42(0x2A) | 43(0x2B) | 44(0x2C) | 45(0x2D) | 46(0x2E) | 47(0x2F) |
DMM_PEG_PRIO_6 | 48(0x30) | 49(0x31) | 50(0x32) | 51(0x33) | 52(0x34) | 53(0x35) | 54(0x36) | 55(0x37) |
DMM_PEG_PRIO_7 | 56(0x38) | 57(0x39) | 58(0x3A) | 59(0x3B) | 60(0x3C) | 61(0x3D) | 62(0x3E) | 63(0x3F) |
Although this priority information is generated before entering the LISA block, it is not used internally in the local interconnect arbitration but is forwarded to the EMIF as MReqInfo, where it indicates the command priority.
It is also possible to give a priority for the internal PAT engine through the DMM_PEG_PRIO_PAT register.