Line 19: |
Line 19: |
| * For the DDR SEQ registers, MEM_SEQ_ADDR and MEM_SEQ_DATA | | * For the DDR SEQ registers, MEM_SEQ_ADDR and MEM_SEQ_DATA |
| * For the DDR BIST, MEM_BIST_ADDR and MEM_BIST_DATA | | * For the DDR BIST, MEM_BIST_ADDR and MEM_BIST_DATA |
| + | * For the DPERF registers, presumably MEM_PERF and MEM_PERF_READ are involved {{check}} |
| + | * MEM_ARB_EXADDR and MEM_ARB_EXCMD might hint at the existence of some other yet-undocumented register space (perhaps for AHB arbitration) {{check}} |
| | | |
| Although the memory controller registers are actually mapped and available to ARM starting at 0x0d8b4200, some [all?] of the indirect accesses are | | Although the memory controller registers are actually mapped and available to ARM starting at 0x0d8b4200, some [all?] of the indirect accesses are |
| performed starting with another pair in the [[Hardware/Memory_Interface|Memory Interface registers]]. | | performed starting with another pair in the [[Hardware/Memory_Interface|Memory Interface registers]]. |
− |
| |
− | ''Note: MEM_ARB_EXADDR and MEM_ARB_EXCMD at the end of the register space may also indicate an additional set of indirectly-accessible registers.''
| |
| | | |
| | | |
Line 112: |
Line 112: |
| ''Note: These registers are NOT mapped into memory.'' | | ''Note: These registers are NOT mapped into memory.'' |
| {{reglist|DDR SEQ Registers}} | | {{reglist|DDR SEQ Registers}} |
| + | |
| + | {{rld|0x00000000|16|DDR_SEQ_BL4||}} |
| + | {{rld|0x00000001|16|DDR_SEQ_TRCDR||}} |
| + | {{rld|0x00000002|16|DDR_SEQ_TRCDW||}} |
| + | {{rld|0x00000003|16|DDR_SEQ_TRAS||}} |
| + | {{rld|0x00000004|16|DDR_SEQ_TRC||}} |
| + | {{rld|0x00000005|16|DDR_SEQ_TCL||}} |
| + | {{rld|0x00000006|16|DDR_SEQ_TWL||}} |
| + | {{rld|0x00000007|16|DDR_SEQ_RRL||}} |
| + | {{rld|0x00000008|16|DDR_SEQ_TRRD||}} |
| + | {{rld|0x00000009|16|DDR_SEQ_TFAW||}} |
| + | {{rld|0x0000000a|16|DDR_SEQ_TRFC||}} |
| + | {{rld|0x0000000b|16|DDR_SEQ_TRDWR||}} |
| + | {{rld|0x0000000c|16|DDR_SEQ_TWRRD||}} |
| + | {{rld|0x0000000d|16|DDR_SEQ_TR2R||}} |
| + | {{rld|0x0000000e|16|DDR_SEQ_RDPR||}} |
| + | {{rld|0x0000000f|16|DDR_SEQ_WRPR||}} |
| + | {{rld|0x00000010|16|DDR_SEQ_BANK4||}} |
| + | {{rld|0x00000011|16|DDR_SEQ_QSOE0||}} |
| + | {{rld|0x00000012|16|DDR_SEQ_QSOE1||}} |
| + | {{rld|0x00000013|16|DDR_SEQ_QSOE2||}} |
| + | {{rld|0x00000014|16|DDR_SEQ_QSOE3||}} |
| + | {{rld|0x00000015|16|DDR_SEQ_RANK2||}} |
| + | {{rld|0x00000016|16|DDR_SEQ_DDR2||}} |
| + | {{rld|0x00000017|16|DDR_SEQ_RSTB||}} |
| + | {{rld|0x00000018|16|DDR_SEQ_CKEEN||}} |
| + | {{rld|0x00000019|16|DDR_SEQ_CKEDYN||}} |
| + | {{rld|0x0000001a|16|DDR_SEQ_CKESR||}} |
| + | {{rld|0x0000001b|16|DDR_SEQ_ODTON||}} |
| + | {{rld|0x0000001c|16|DDR_SEQ_ODTDYN||}} |
| + | {{rld|0x0000001d|16|DDR_SEQ_ODT0||}} |
| + | {{rld|0x0000001e|16|DDR_SEQ_ODT1||}} |
| + | {{rld|0x0000001f|16|DDR_SEQ_RECEN0||}} |
| + | {{rld|0x00000020|16|DDR_SEQ_RECEN1||}} |
| + | {{rld|0x00000021|16|DDR_SEQ_IDLEST||}} |
| + | {{rld|0x00000022|16|DDR_SEQ_NPLRD||}} |
| + | {{rld|0x00000023|16|DDR_SEQ_NPLCONF||}} |
| + | {{rld|0x00000024|16|DDR_SEQ_NOOPEN||}} |
| + | {{rld|0x00000025|16|DDR_SEQ_QSDEF||}} |
| + | {{rld|0x00000026|16|DDR_SEQ_ODTPIN||}} |
| + | {{rld|0x00000027|16|DDR_SEQ_NPLDLY||}} |
| + | {{rld|0x00000028|16|DDR_SEQ_STATUS||}} |
| + | {{rld|0x00000029|16|DDR_SEQ_VENDORID0||}} |
| + | {{rld|0x0000002a|16|DDR_SEQ_VENDORID1||}} |
| + | {{rld|0x0000002b|16|DDR_SEQ_NMOSPD||}} |
| + | {{rld|0x0000002c|16|DDR_SEQ_STR0||}} |
| + | {{rld|0x0000002d|16|DDR_SEQ_STR1||}} |
| + | {{rld|0x0000002e|16|DDR_SEQ_STR2||}} |
| + | {{rld|0x0000002f|16|DDR_SEQ_STR3||}} |
| + | {{rld|0x00000030|16|DDR_SEQ_APAD0||}} |
| + | {{rld|0x00000031|16|DDR_SEQ_APAD1||}} |
| + | {{rld|0x00000032|16|DDR_SEQ_CKPAD0||}} |
| + | {{rld|0x00000033|16|DDR_SEQ_CKPAD1||}} |
| + | {{rld|0x00000034|16|DDR_SEQ_CMDPAD0||}} |
| + | {{rld|0x00000035|16|DDR_SEQ_CMDPAD1||}} |
| + | {{rld|0x00000036|16|DDR_SEQ_DQPAD0||}} |
| + | {{rld|0x00000037|16|DDR_SEQ_DQPAD1||}} |
| + | {{rld|0x00000038|16|DDR_SEQ_QSPAD0||}} |
| + | {{rld|0x00000039|16|DDR_SEQ_QSPAD1||}} |
| + | {{rld|0x0000003a|16|DDR_SEQ_WRDQ0||}} |
| + | {{rld|0x0000003b|16|DDR_SEQ_WRDQ1||}} |
| + | {{rld|0x0000003c|16|DDR_SEQ_WRQS0||}} |
| + | {{rld|0x0000003d|16|DDR_SEQ_WRQS1||}} |
| + | {{rld|0x0000003e|16|DDR_SEQ_MADJL||}} |
| + | {{rld|0x0000003f|16|DDR_SEQ_MADJH||}} |
| + | {{rld|0x00000040|16|DDR_SEQ_SADJ0L||}} |
| + | {{rld|0x00000041|16|DDR_SEQ_SADJ0H||}} |
| + | {{rld|0x00000042|16|DDR_SEQ_SADJ1L||}} |
| + | {{rld|0x00000043|16|DDR_SEQ_SADJ1H||}} |
| + | {{rld|0x00000044|16|DDR_SEQ_RDDQ1||}} |
| + | {{rld|0x00000045|16|DDR_SEQ_WR||}} |
| + | {{rld|0x00000046|16|DDR_SEQ_PADA||}} |
| + | {{rld|0x00000047|16|DDR_SEQ_PAD0||}} |
| + | {{rld|0x00000048|16|DDR_SEQ_PAD1||}} |
| + | {{rld|0x00000049|16|DDR_SEQ_ARAM||}} |
| + | {{rld|0x0000004a|16|DDR_SEQ_WR2PR||}} |
| + | {{rld|0x0000004b|16|DDR_SEQ_SYNC||}} |
| + | {{rld|0x0000004c|16|DDR_SEQ_RECVON||}} |
| |} | | |} |
| | | |
Line 126: |
Line 204: |
| ''Note: These registers are NOT mapped into memory.'' | | ''Note: These registers are NOT mapped into memory.'' |
| {{reglist|DDR BIST Registers}} | | {{reglist|DDR BIST Registers}} |
| + | {{rld|0x00000000|16|BIST_EN||}} |
| + | {{rld|0x00000001|16|BIST_WRGO||}} |
| + | {{rld|0x00000002|16|BIST_WRRPT||}} |
| + | {{rld|0x00000003|16|BIST_WRCNTH||}} |
| + | {{rld|0x00000004|16|BIST_WRCNTL||}} |
| + | {{rld|0x00000005|16|BIST_RDGO||}} |
| + | {{rld|0x00000006|16|BIST_RDRPT||}} |
| + | {{rld|0x00000007|16|BIST_RDCNTH||}} |
| + | {{rld|0x00000008|16|BIST_RDCNTL||}} |
| + | {{rld|0x00000009|16|BIST_WA_CH||}} |
| + | {{rld|0x0000000a|16|BIST_WA_CL||}} |
| + | {{rld|0x0000000b|16|BIST_WA_SCNTH||}} |
| + | {{rld|0x0000000c|16|BIST_WA_SCNTL||}} |
| + | {{rld|0x0000000d|16|BIST_WA_SCONH||}} |
| + | {{rld|0x0000000e|16|BIST_WA_SCONL||}} |
| + | {{rld|0x0000000f|16|BIST_RA_CH||}} |
| + | {{rld|0x00000010|16|BIST_RA_CL||}} |
| + | {{rld|0x00000011|16|BIST_RA_SCNTH||}} |
| + | {{rld|0x00000012|16|BIST_RA_SCNTL||}} |
| + | {{rld|0x00000013|16|BIST_RA_SCONH||}} |
| + | {{rld|0x00000014|16|BIST_RA_SCONL||}} |
| + | {{rld|0x00000015|16|BIST_WD_C0H||}} |
| + | {{rld|0x00000016|16|BIST_WD_C0L||}} |
| + | {{rld|0x00000017|16|BIST_WD_C1H||}} |
| + | {{rld|0x00000018|16|BIST_WD_C1L||}} |
| + | {{rld|0x00000019|16|BIST_WD_C2H||}} |
| + | {{rld|0x0000001a|16|BIST_WD_C2L||}} |
| + | {{rld|0x0000001b|16|BIST_WD_C3H||}} |
| + | {{rld|0x0000001c|16|BIST_WD_C3L||}} |
| + | {{rld|0x0000001d|16|BIST_WD_C4H||}} |
| + | {{rld|0x0000001e|16|BIST_WD_C4L||}} |
| + | {{rld|0x0000001f|16|BIST_WD_C5H||}} |
| + | {{rld|0x00000020|16|BIST_WD_C5L||}} |
| + | {{rld|0x00000021|16|BIST_WD_C6H||}} |
| + | {{rld|0x00000022|16|BIST_WD_C6L||}} |
| + | {{rld|0x00000023|16|BIST_WD_C7H||}} |
| + | {{rld|0x00000024|16|BIST_WD_C7L||}} |
| + | {{rld|0x00000025|16|BIST_WD_SCNTH||}} |
| + | {{rld|0x00000026|16|BIST_WD_SCNTL||}} |
| + | {{rld|0x00000027|16|BIST_WD_SCONH||}} |
| + | {{rld|0x00000028|16|BIST_WD_SCONL||}} |
| + | {{rld|0x00000029|16|BIST_RD_C0H||}} |
| + | {{rld|0x0000002a|16|BIST_RD_C0L||}} |
| + | {{rld|0x0000002b|16|BIST_RD_C1H||}} |
| + | {{rld|0x0000002c|16|BIST_RD_C1L||}} |
| + | {{rld|0x0000002d|16|BIST_RD_C2H||}} |
| + | {{rld|0x0000002e|16|BIST_RD_C2L||}} |
| + | {{rld|0x0000002f|16|BIST_RD_C3H||}} |
| + | {{rld|0x00000030|16|BIST_RD_C3L||}} |
| + | {{rld|0x00000031|16|BIST_RD_C4H||}} |
| + | {{rld|0x00000032|16|BIST_RD_C4L||}} |
| + | {{rld|0x00000033|16|BIST_RD_C5H||}} |
| + | {{rld|0x00000034|16|BIST_RD_C5L||}} |
| + | {{rld|0x00000035|16|BIST_RD_C6H||}} |
| + | {{rld|0x00000036|16|BIST_RD_C6L||}} |
| + | {{rld|0x00000037|16|BIST_RD_C7H||}} |
| + | {{rld|0x00000038|16|BIST_RD_C7L||}} |
| + | {{rld|0x00000039|16|BIST_RD_SCNTH||}} |
| + | {{rld|0x0000003a|16|BIST_RD_SCNTL||}} |
| + | {{rld|0x0000003b|16|BIST_RD_SCONH||}} |
| + | {{rld|0x0000003c|16|BIST_RD_SCONL||}} |
| + | {{rld|0x0000003d|16|BIST_RD_MSKH||}} |
| + | {{rld|0x0000003e|16|BIST_RD_MSKL||}} |
| + | {{rld|0x0000003f|16|BIST_WRIDLE||}} |
| + | {{rld|0x00000040|16|BIST_RDIDLE||}} |
| + | {{rld|0x00000041|16|BIST_ERRCNT||}} |
| |} | | |} |
| | | |
Line 140: |
Line 284: |
| ''Note: These registers are NOT mapped into memory.'' | | ''Note: These registers are NOT mapped into memory.'' |
| {{reglist|DDR PERF Registers}} | | {{reglist|DDR PERF Registers}} |
| + | {{rld|0x00000000|16|DPERF_TIME||}} |
| + | {{rld|0x00000002|16|DPERF_SEQCMD||}} |
| + | {{rld|0x00000004|16|DPERF_SEQDATA||}} |
| + | {{rld|0x00000006|16|DPERF_RF_CNT_PI||}} |
| + | {{rld|0x00000008|16|DPERF_NREQ_DDR_PI||}} |
| + | {{rld|0x0000000a|16|DPERF_TREQ_DDR_PI||}} |
| + | {{rld|0x0000000c|16|DPERF_TACK_DDR_PI||}} |
| + | {{rld|0x0000000e|16|DPERF_NREQ_SPL_PI||}} |
| + | {{rld|0x00000010|16|DPERF_TREQ_SPL_PI||}} |
| + | {{rld|0x00000012|16|DPERF_TACK_SPL_PI||}} |
| + | {{rld|0x00000014|16|DPERF_RF_CNT_CPUAHM||}} |
| + | {{rld|0x00000016|16|DPERF_NREQ_DDR_CPUAHM||}} |
| + | {{rld|0x00000018|16|DPERF_TREQ_DDR_CPUAHM||}} |
| + | {{rld|0x0000001a|16|DPERF_TACK_DDR_CPUAHM||}} |
| + | {{rld|0x0000001c|16|DPERF_NREQ_SPL_CPUAHM||}} |
| + | {{rld|0x0000001e|16|DPERF_TREQ_SPL_CPUAHM||}} |
| + | {{rld|0x00000020|16|DPERF_TACK_SPL_CPUAHM||}} |
| + | {{rld|0x00000022|16|DPERF_RF_CNT_DMAAHM||}} |
| + | {{rld|0x00000024|16|DPERF_NREQ_DDR_DMAAHM||}} |
| + | {{rld|0x00000026|16|DPERF_TREQ_DDR_DMAAHM||}} |
| + | {{rld|0x00000028|16|DPERF_TACK_DDR_DMAAHM||}} |
| + | {{rld|0x0000002a|16|DPERF_NREQ_SPL_DMAAHM||}} |
| + | {{rld|0x0000002c|16|DPERF_TREQ_SPL_DMAAHM||}} |
| + | {{rld|0x0000002e|16|DPERF_TACK_SPL_DMAAHM||}} |
| + | {{rld|0x00000030|16|DPERF_RF_CNT_VI||}} |
| + | {{rld|0x00000032|16|DPERF_NREQ_DDR_VI||}} |
| + | {{rld|0x00000034|16|DPERF_TREQ_DDR_VI||}} |
| + | {{rld|0x00000036|16|DPERF_TACK_DDR_VI||}} |
| + | {{rld|0x00000038|16|DPERF_NREQ_SPL_VI||}} |
| + | {{rld|0x0000003a|16|DPERF_TREQ_SPL_VI||}} |
| + | {{rld|0x0000003c|16|DPERF_TACK_SPL_VI||}} |
| + | {{rld|0x0000003e|16|DPERF_RF_CNT_IO||}} |
| + | {{rld|0x00000040|16|DPERF_NREQ_DDR_IO||}} |
| + | {{rld|0x00000042|16|DPERF_TREQ_DDR_IO||}} |
| + | {{rld|0x00000044|16|DPERF_TACK_DDR_IO||}} |
| + | {{rld|0x00000046|16|DPERF_NREQ_SPL_IO||}} |
| + | {{rld|0x00000048|16|DPERF_TREQ_SPL_IO||}} |
| + | {{rld|0x0000004a|16|DPERF_TACK_SPL_IO||}} |
| + | {{rld|0x0000004c|16|DPERF_RF_CNT_DSP||}} |
| + | {{rld|0x0000004e|16|DPERF_NREQ_DDR_DSP||}} |
| + | {{rld|0x00000050|16|DPERF_TREQ_DDR_DSP||}} |
| + | {{rld|0x00000052|16|DPERF_TACK_DDR_DSP||}} |
| + | {{rld|0x00000054|16|DPERF_NREQ_SPL_DSP||}} |
| + | {{rld|0x00000056|16|DPERF_TREQ_SPL_DSP||}} |
| + | {{rld|0x00000058|16|DPERF_TACK_SPL_DSP||}} |
| + | {{rld|0x0000005a|16|DPERF_RF_CNT_TC||}} |
| + | {{rld|0x0000005c|16|DPERF_NREQ_DDR_TC||}} |
| + | {{rld|0x0000005e|16|DPERF_TREQ_DDR_TC||}} |
| + | {{rld|0x00000060|16|DPERF_TACK_DDR_TC||}} |
| + | {{rld|0x00000062|16|DPERF_NREQ_SPL_TC||}} |
| + | {{rld|0x00000064|16|DPERF_TREQ_SPL_TC||}} |
| + | {{rld|0x00000066|16|DPERF_TACK_SPL_TC||}} |
| + | {{rld|0x00000068|16|DPERF_RF_CNT_CP||}} |
| + | {{rld|0x0000006a|16|DPERF_NREQ_DDR_CP||}} |
| + | {{rld|0x0000006c|16|DPERF_TREQ_DDR_CP||}} |
| + | {{rld|0x0000006e|16|DPERF_TACK_DDR_CP||}} |
| + | {{rld|0x00000070|16|DPERF_NREQ_SPL_CP||}} |
| + | {{rld|0x00000072|16|DPERF_TREQ_SPL_CP||}} |
| + | {{rld|0x00000074|16|DPERF_TACK_SPL_CP||}} |
| + | {{rld|0x00000076|16|DPERF_RF_CNT_ACC||}} |
| + | {{rld|0x00000078|16|DPERF_NREQ_DDR_ACC||}} |
| + | {{rld|0x0000007a|16|DPERF_TREQ_DDR_ACC||}} |
| + | {{rld|0x0000007c|16|DPERF_TACK_DDR_ACC||}} |
| + | {{rld|0x0000007e|16|DPERF_NREQ_SPL_ACC||}} |
| + | {{rld|0x00000080|16|DPERF_TREQ_SPL_ACC||}} |
| + | {{rld|0x00000082|16|DPERF_TACK_SPL_ACC||}} |
| |} | | |} |