SPRUIM2H May 2020 – October 2023 AM2431 , AM2432 , AM2434 , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442
The PRU Constants Table is a structure of hard-coded memory addresses for commonly used peripherals and memories. The constants table is used for more efficiently load/store data to these commonly accessed addresses by:
Entry No. | Region Pointed To | Value [31:0] |
---|---|---|
0 | PRU_ICSSG INTC (local) | 0002_0000h |
1 | PRU_ICSSG IEP1 (local) | 0002_F000h |
2 | PRU_ICSSG IEP1_0x100 (local) | 0002_F100h |
3 | PRU_ICSSG ECAP0 (local) | 0003_0000h |
4 | PRU_ICSSG CFG (local) | 0002_6000h |
5 | PRU_ICSSG CFG_0x100 (local) | 0002_6100h |
6 | PRU_ICSSG INTC_0x200 (local) | 0002_0200h |
7 | PRU_ICSSG UART0 (local) | 0002_8000h |
8 | PRU_ICSSG IEP0_0x100 (local) | 0002_E100h |
9 | PRU_ICSSG0 CFG (local) | 0003_3000h |
10 | TM_CFG_PRU0 (Local Task Manager) | 0002_A000h PRU0 |
TM_CFG_RTU0 (Local Task Manager) | 0002_A100h RTU_PRU0 | |
TM_CFG_PRU1 (Local Task Manager) | 0002_A200h PRU1 | |
TM_CFG_RTU1 (Local Task Manager) | 0002_A300h RTU_PRU1 | |
11 | PRU_ICSSG PRU0 Control (local) | 0002_2000h PRU0 |
PRU_ICSSG RTU_PRU0 Control (local) | 0002_3000h RTU_PRU0 | |
PRU_ICSSG RTU_PRU1 Control (local) | 0002_3800h RTU_PRU1 | |
PRU_ICSSG PRU1 Control (local) | 0002_4000h PRU1 | |
12 | PRU_ICSSG PA_STATS_QRAM (local) | 0002 7000h |
13 | PRU_ICSSG PA_STATS_CRAM (local) | 0002 C000h |
14 | Reserved | 0002 4800h |
15 | Reserved | 6000_0000h |
16 | Reserved | 7000_0000h |
17 | Reserved | 8000_0000h |
18 | Reserved | 9000_0000h |
19 | Reserved | A000_0000h |
20 | Reserved | B000_0000h |
21 | MDIO (local) | 0003_2400h |
22 | RAT SLICE0 (local) | 0000_8000h PRU0/RTU_PRU0 |
RAT SLICE1 (local) | 0000_9000h PRU1/RTU_PRU1 | |
23 | Reserved | C000_0000h |
24 | PRU_ICSSG PRU0/PRU1 Data RAM (local) | 0000_0n00h, n = c24_blk_index[3:0] |
25 | PRU_ICSSG PRU1/PRU0 Data RAM (local) | 0000_2n00h, n = c25_blk_index[3:0] |
26 | PRU_ICSSG IEP (local) | 0002_En00h, n = c26_blk_index[3:0] |
27 | PRU_ICSSG MII_RT/SGMII0_CFG/SGMII1_CFG (local) | 0003_2n00h, n = c27_blk_index[3:0] |
28 | PRU_ICSSG Shared RAM (local) | 00nn_nn00h, nnnn = c28_pointer[15:0] |
29 | Reserved | 0Dnn_nn00h, nnnn = c29_pointer[15:0] |
30 | Reserved | 0Enn_nn00h, nnnn = c30_pointer[15:0] |
31 | Reserved | 0Fnn_nn00h, nnnn = c31_pointer[15:0] |
The addresses in constants entries 24–31 are partially programmable. Their programmable bit field (for example, c24_blk_index[3:0]) is programmable through the PRU CTRL register space. As a general rule, the PRU should configure this field before using the partially programmable constant entries.