Visible to Intel only — GUID: xfx1672684842037
Ixiasoft
Visible to Intel only — GUID: xfx1672684842037
Ixiasoft
10.4.2.5.1. HPS Peripheral Master Input IDs
The following table identifies the ID that must be programmed in the mid field of the vid*rd and vid*wr registers, if an HPS master requires a fixed ACP mapping. The first column of the table gives the generic ID encoding, where the "x"s represent bits that change based on if the vid*rd or vid*wr register is being configured.
Interconnect Master |
ID 23 |
vid*rd.mid | vid*wr.mid |
---|---|---|---|
L2M0 | 0xxx xxxx x010 |
Slave port 0, Address ID {ARIDS0, 00}—Non-cacheable exclusive or locked read from slave 0 Slave port 1, Address ID {ARIDS0, 10}—Non-cacheable exclusive or locked read from slave 1
Note:
The following IDs define only the "xs" in
0xxx xxxx x010, which means the non-x bits are fixed.
|
Slave port 0, Address ID {AWIDS0, 00}—Non-bufferable write from slave 0 Slave port 1, Address ID {AWIDS1, 10}—Non-bufferable write from slave 1
Note:
The following IDs define only the "xs" in
0xxx xxxx x010, which means the non-x bits are fixed.
|
DMA |
0000 0xxx x001 |
"x" should indicate the total number of DMA channels. When the DMA performs an ACP read, the DMA controller signals the x values to be the same number as the number of DMA channels that the DMA controller provides. For example, if the DMA controller provides eight DMA channels, the x values must be set to 4'b1000. |
"x" should indicate the number of the channel performing the write. When a DMA channel performs and an ACP write, the DMA controller signals the x values to be the same number as the DMA channel. For example, when DMA channel 5 performs a DMA store operation, the DMA Controller sets the x values to 4'b0101. |
EMAC0 |
1000 0000 x001 |
When x=0, this indicates the EMAC0 Rx channel is accessing memory and when x=1, this indicates the EMAC0 Tx channel is accessing memory. Each channel, Rx and Tx, requires read access to memory. This requirement exists because each channel DMA controller reads descriptors from memory when the packet is moved to or from memory. If you use static ACP ID mapping, you must allocate two static mappings for EMAC0: one for x=0 and one for x=1. |
When x=0, this indicates the EMAC0 Rx channel is accessing memory and when x=1, this indicates the EMAC0 Tx channel is accessing memory. Each channel, Rx and Tx, requires write access to memory. This requirement exists because each channel DMA controller writes descriptors to memory when the packet is moved to or from memory. If you use static ACP ID mapping, then you need to allocate two static mappings for EMAC0: one for x=0 and one for x=1. |
EMAC1 |
1000 0000 x010 |
When x=0, this indicates the EMAC1 Rx channel is accessing memory and when x=1, this indicates the EMAC1 Tx channel is accessing memory. Each channel, Rx and Tx, requires read access to memory. This requirement exists because each channel DMA controller reads descriptors from memory when the packet is moved to or from memory. If you use static ACP ID mapping, then you must allocate two static mappings for EMAC1: one for x=0 and one for x=1. |
When x=0, this indicates the EMAC1 Rx channel is accessing memory and when x=1, this indicates the EMAC1 Tx channel is accessing memory. Each channel, Rx and Tx, requires write access to memory. This requirement exists because each channel DMA controller writes descriptors to memory when the packet is moved to or from memory. If you use static ACP ID mapping, then you must allocate two static mappings for EMAC1: one for x=0 and one for x=1. |
USB0 |
1000 0000 0011 |
1000 0000 0011 |
1000 0000 0011 |
USB1 |
1000 0000 0110 |
1000 0000 0110 |
1000 0000 0110 |
NAND |
1000 0000 0100 |
1000 0000 0100 |
1000 0000 0100 |
ETR |
1000 0000 0000 |
1000 0000 0000 |
1000 0000 0000 |
DAP |
0000 0000 0100 |
0000 0000 0100 |
0000 0000 0100 |
SD/MMC |
1000 0000 0101 |
1000 0000 0101 |
1000 0000 0101 |
FPGA-to-HPS bridge |
0xxx xxxx x000 |
The "x"s in this field are user-defined. | The "x"s in this field are user-defined. |