SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
The PRU-ICSS1 and PRU-ICSS2 external interface signals are described in Table 30-1 and Table 30-2, respectively. The PRU-ICSS has a large number of available I/O signals. Most of these are multiplexed with other functional signals at the device level.
The PRU-ICSS1 and PRU-ICSS2 also support an internal wrapper multiplexing that expands the device top-level multiplexing. This wrapper multiplexing is controlled by the PRUSS_GPCFGx register in the PRU-ICSS CFG register space and allows MII_RT, EnDAT, and Sigma Delta functionality to be muxed with the PRU GPI/O device signals, as shown in Figure 30-2. The PRU-ICSS wrapper multiplexing is described with the device-level signals in Table 30-1 and Table 30-2. Note that the device top-level muxing has higher priority over the internal wrapper muxing.
Figure 30-2 PRU-ICSS Internal Wrapper MultiplexingAdditionally to PRU-ICSS wrapper multiplexing the device I/O logic maps the PRU-ICSS signals to the different device pads by programming in the Control Module. For more information, refer to the Pad Configuration Registers in the Control Module.
| Device Signal | I/O | Description | Reset | PRU-ICSS Signal | ||
|---|---|---|---|---|---|---|
| From PRU-ICSS Wrapper Mux | 0x0 - GPIO | PRUSS_GPCFG1[29:26] PR1_PRU1_GP_MUX_SEL= | ||||
| 0x0 - GPIO | 0x3 - SD | 0x4 - MII2 | ||||
| pr1_pru1_gpo[0] | O | PRU1 R30 Output | 0 | pr1_pru1_pru_r30_out[0] | ||
| pr1_pru1_gpo[1] | O | PRU1 R30 Output/Mux options | 0 | pr1_pru1_pru_r30_out[1] | pr1_mii1_txd1(1) | |
| pr1_pru1_gpo[2] | O | PRU1 R30 Output/Mux options | 0 | pr1_pru1_pru_r30_out[2] | pr1_mii1_txd0(1) | |
| pr1_pru1_gpo[3] | O | PRU1 R30 Output/Mux options | 0 | pr1_pru1_pru_r30_out[3] | ||
| pr1_pru1_gpo[4] | O | PRU1 R30 Output/Mux options | 0 | pr1_pru1_pru_r30_out[4] | ||
| pr1_pru1_gpo[5] | O | PRU1 R30 Output/Mux options | 0 | pr1_pru1_pru_r30_out[5] | ||
| pr1_pru1_gpo[6] | O | PRU1 R30 Output/Mux options | 0 | pr1_pru1_pru_r30_out[6] | ||
| pr1_pru1_gpo[7:19] | O | PRU1 R30 Outputs | 0 | pr1_pru1_pru_r30_out[7:19] | ||
| pr1_pru1_gpo[20] | O | PRU1 R30 Outputs/Mux options | 0 | pr1_pru1_pru_r30_out[20] | ||
| pr1_pru1_gpi[0] | I | PRU1 R31 Input/Mux options | HiZ | pr1_pru1_pru_r31_in[0] | pr1_mii1_col(1) | |
| pr1_pru1_gpi[1:20] | I | PRU1 R31 Inputs | HiZ | pr1_pru1_pru_r31_in[1:20] | ||
| MII | MII | |||||
| pr1_mii_mr0_clk | I | MII0 Receive Clock | HiZ | pr1_mii_mr0_clk | ||
| pr1_mii0_rxdv | I | MII0 Receive Data Valid | HiZ | pr1_mii0_rxdv | ||
| pr1_mii0_rxd[0:3] | I | MII0 Receive Data | HiZ | pr1_mii0_rxd[0:3] | ||
| pr1_mii0_rxlink | I | MII0 Receive Link | HiZ | pr1_mii0_rxlink | ||
| pr1_mii0_rxer | I | MII0 Receive Data Error | HiZ | pr1_mii0_rxer | ||
| pr1_mii0_crs | I | MII0 Carrier Sense | HiZ | pr1_mii0_crs | ||
| pr1_mii0_col | I | MII0 Collision Detect | HiZ | pr1_mii0_col | ||
| pr1_mii_mt0_clk | I | MII0 Transmit Clock | HiZ | pr1_mii_mt0_clk | ||
| pr1_mii0_txen | O | MII0 Transmit Enable | 0 | pr1_mii0_txen | ||
| pr1_mii0_txd[0:3] | O | MII0 Transmit Data | 0 | pr1_mii0_txd[0:3] | ||
| pr1_mii_mr1_clk | I | MII1 Receive Clock | HiZ | pr1_mii_mr1_clk | ||
| pr1_mii1_rxdv | I | MII1 Receive Data Valid | HiZ | pr1_mii1_rxdv | ||
| pr1_mii1_rxd[0:3] | I | MII1 Receive Data | HiZ | pr1_mii1_rxd[0:3] | ||
| pr1_mii1_rxlink | I | MII1 Receive Link | HiZ | pr1_mii1_rxlink | ||
| pr1_mii1_rxer | I | MII1 Receive Data Error | HiZ | pr1_mii1_rxer | ||
| pr1_mii1_crs | I | MII1 Carrier Sense | HiZ | pr1_mii1_crs | ||
| pr1_mii1_col | I | MII1 Collision Detect | HiZ | pr1_mii1_col | ||
| pr1_mii_mt1_clk | I | MII1 Transmit Clock | HiZ | pr1_mii_mt1_clk | ||
| pr1_mii1_txen | O | MII1 Transmit Enable | 0 | pr1_mii1_txen | ||
| pr1_mii1_txd[0:3] | O | MII1 Transmit Data | 0 | pr1_mii1_txd[0:3] | ||
| MDIO | MDIO | |||||
| pr1_mdio_mdclk | O | MDIO Clock | 0 | pr1_mdio_mdclk | ||
| pr1_mdio_data | I/O | MDIO Data | HiZ | pr1_mdio_data | ||
| ECAT | ECAT | |||||
| pr1_edio_sof | O | ECAT Digital I/O Start of Frame | 0 | pr1_edio_sof | ||
| pr1_edio_latch_in | I | ECAT Digital I/O Latch In | HiZ | pr1_edio_latch_in | ||
| pr1_edio_data_in[0:7] | I | ECAT Digital I/Os Data In | HiZ | pr1_edio_data_in[0:7] | ||
| pr1_edio_data_out[0:7] | O | ECAT Digital I/Os Data Out | 0 | pr1_edio_data_out[0:7] | ||
| pr1_edc_sync0_out | O | ECAT Distributed Clock Sync Out | 0 | pr1_edc_sync0_out | ||
| pr1_edc_sync1_out | O | ECAT Distributed Clock Sync Out | 0 | pr1_edc_sync1_out | ||
| pr1_edc_latch0_in | I | ECAT Distributed Clock Latch In | HiZ | pr1_edc_latch0_in | ||
| pr1_edc_latch1_in | I | ECAT Distributed Clock Latch In | HiZ | pr1_edc_latch1_in | ||
| UART | UART | |||||
| pr1_uart0_cts_n | I | UART Clear to Send | HiZ | pr1_uart0_cts_n | ||
| pr1_uart0_rts_n | O | UART Request to Send | 0 | pr1_uart0_rts_n | ||
| pr1_uart0_rxd | I | UART Receive Data | HiZ | pr1_uart0_rxd | ||
| pr1_uart0_txd | O | UART Transmit Data | 0 | pr1_uart0_txd | ||
| ECAP | ECAP | |||||
| pr1_ecap0_ecap_capin_apwm_o | I/O | Enhanced capture (ECAP) input or Auxiliary PWM out | HiZ | pr1_ecap0_ecap_capin_apwm_o | ||
| Device Signal | I/O | Description | Reset | PRU-ICSS Signal | |||
|---|---|---|---|---|---|---|---|
| From PRU-ICSS Wrapper Mux | 0x0 - GPIO | PRUSS_GPCFG0[29:26] PR1_PRU0_GP_MUX_SEL= | |||||
| 0x0 - GPIO | 0x1 - EnDat | 0x3 - SD | 0x4 - MII2 | ||||
| pr2_pru0_gpo[0] | O | PRU0 R30 Output | 0 | pr2_pru0_pru_r30_out[0] | |||
| pr2_pru0_gpo[1] | O | PRU0 R30 Output | 0 | pr2_pru0_pru_r30_out[1] | pr2_pru0_pru_r30_out[1] | ||
| pr2_pru0_gpo[2:5] | O | PRU0 R30 Outputs | 0 | pr2_pru0_pru_r30_out[2:5] | |||
| pr2_pru0_gpo[6] | O | PRU0 R30 Output/Mux options | 0 | pr2_pru0_pru_r30_out[6] | pr1_mii0_txd3(4) | ||
| pr2_pru0_gpo[7] | O | PRU0 R30 Output/Mux options | 0 | pr2_pru0_pru_r30_out[7] | pr1_mii0_txd2(4) | ||
| pr2_pru0_gpo[8] | O | PRU0 R30 Output/Mux options | 0 | pr2_pru0_pru_r30_out[8] | pr1_mii0_txen(4) | ||
| pr2_pru0_gpo[9] | O | PRU0 R30 Output/Mux options | 0 | pr2_pru0_pru_r30_out[9] | pr1_mii0_txd1(4) | ||
| pr2_pru0_gpo[10] | O | PRU0 R30 Output/Mux options | 0 | pr2_pru0_pru_r30_out[10] | pr1_mii0_txd0(4) | ||
| pr2_pru0_gpo[11] | O | PRU0 R30 Output | 0 | pr2_pru0_pru_r30_out[11] | |||
| pr2_pru0_gpo[12] | O | PRU0 R30 Output/Mux options | 0 | pr2_pru0_pru_r30_out[12] | pr1_edc_sync0_out(1) | ||
| pr2_pru0_gpo[13] | O | PRU0 R30 Output/Mux options | 0 | pr2_pru0_pru_r30_out[13] | pr2_edc_sync0_out(1) | ||
| pr2_pru0_gpo[14:20] | O | PRU0 R30 Outputs | 0 | pr2_pru0_pru_r30_out[14:20] | |||
| pr2_pru0_gpi[0] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[0] | pr2_pru0_sd0_clk | pr1_mii1_rxdv(4) | |
| pr2_pru0_gpi[1] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[1] | pr2_pru0_sd0_d | pr1_mii1_rxd3(4) | |
| pr2_pru0_gpi[2] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[2] | pr2_pru0_sd1_clk | pr1_mii1_rxd2(4) | |
| pr2_pru0_gpi[3] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[3] | pr2_pru0_sd1_d | pr1_mii1_rxd1(4) | |
| pr2_pru0_gpi[4] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[4] | pr2_pru0_sd2_clk | pr1_mii1_rxd0(4) | |
| pr2_pru0_gpi[5] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[5] | pr2_pru0_sd2_d | pr1_mii_mt0_clk(4) | |
| pr2_pru0_gpi[6] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[6] | pr2_pru0_sd3_clk | ||
| pr2_pru0_gpi[7] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[7] | pr2_pru0_sd3_d | ||
| pr2_pru0_gpi[8] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[8] | pr2_pru0_sd4_clk | ||
| pr2_pru0_gpi[9] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[9] | pr2_pru0_sd4_d | ||
| pr2_pru0_gpi[10] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[10] | pr2_pru0_sd5_clk | ||
| pr2_pru0_gpi[11] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[11] | pr2_pru0_sd5_d | pr1_mii_mr0_clk(4) | |
| pr2_pru0_gpi[12] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[12] | pr2_pru0_sd6_clk | pr1_mii0_rxdv(4) | |
| pr2_pru0_gpi[13] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[13] | pr2_pru0_sd6_d | pr1_mii0_rxd3(4) | |
| pr2_pru0_gpi[14] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[14] | pr2_pru0_sd7_clk | pr1_mii0_rxd2(4) | |
| pr2_pru0_gpi[15] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[15] | pr2_pru0_sd7_d | pr1_mii0_rxd1(4) | |
| pr2_pru0_gpi[16] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[16] | pr2_pru0_sd8_clk/pr2_pru0_pru_r31_in[16] | pr1_mii0_rxd0(4) | |
| pr2_pru0_gpi[17] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[17] | pr2_pru0_sd8_d | pr1_mii0_rxer(4) | |
| pr2_pru0_gpi[18] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[18] | pr1_mii0_rxlink(4) | ||
| pr2_pru0_gpi[19] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[19] | pr1_mii0_col(4) | ||
| pr2_pru0_gpi[20] | I | PRU0 R31 Input/Mux options | HiZ | pr2_pru0_pru_r31_in[20] | pr1_mii0_crs(4) | ||
| From PRU-ICSS Wrapper Mux | 0x0 - GPIO | PRUSS_GPCFG1[29:26] PR1_PRU1_GP_MUX_SEL= | |||||
| 0x0 - GPIO | 0x1 - EnDat | 0x3 - SD | 0x4 - MII2 | ||||
| pr2_pru1_gpo[0] | O | PRU1 R30 Output/Mux options | 0 | pr2_pru1_pru_r30_out[0] | pr2_pru1_endat0_clk | ||
| pr2_pru1_gpo[1] | O | PRU1 R30 Output/Mux options | 0 | pr2_pru1_pru_r30_out[1] | pr2_pru1_endat0_out | ||
| pr2_pru1_gpo[2] | O | PRU1 R30 Output/Mux options | 0 | pr2_pru1_pru_r30_out[2] | pr2_pru1_endat0_out_en | ||
| pr2_pru1_gpo[3] | O | PRU1 R30 Output/Mux options | 0 | pr2_pru1_pru_r30_out[3] | pr2_pru1_endat1_clk | ||
| pr2_pru1_gpo[4] | O | PRU1 R30 Output/Mux options | 0 | pr2_pru1_pru_r30_out[4] | pr2_pru1_endat1_out | ||
| pr2_pru1_gpo[5] | O | PRU1 R30 Output/Mux options | 0 | pr2_pru1_pru_r30_out[5] | pr2_pru1_endat1_out_en | ||
| pr2_pru1_gpo[6] | O | PRU1 R30 Output/Mux options | 0 | pr2_pru1_pru_r30_out[6] | pr2_pru1_endat2_clk | ||
| pr2_pru1_gpo[7] | O | PRU1 R30 Output/Mux options | 0 | pr2_pru1_pru_r30_out[7] | pr2_pru1_endat2_out | ||
| pr2_pru1_gpo[8] | O | PRU1 R30 Output/Mux options | 0 | pr2_pru1_pru_r30_out[8] | pr2_pru1_endat2_out_en | ||
| pr2_pru1_gpo[9:20](2) | O | PRU1 R30 Outputs | 0 | pr2_pru1_pru_r30_out[9:20] | |||
| pr2_pru1_gpi[0:4] | I | PRU1 R31 Inputs | HiZ | pr2_pru1_pru_r31_in[0:4] | |||
| pr2_pru1_gpi[5] | I | PRU1 R31 Input/Mux options | HiZ | pr2_pru1_pru_r31_in[5] | pr1_edc_latch0_in (1) | ||
| pr2_pru1_gpi[6] | I | PRU1 R31 Input/Mux options | HiZ | pr2_pru1_pru_r31_in[6] | pr2_edc_latch0_in (1) | ||
| pr2_pru1_gpi[7:8] | I | PRU1 R31 Inputs | HiZ | pr2_pru1_pru_r31_in[7:8] | |||
| pr2_pru1_gpi[9] | I | PRU1 R31 Input/Mux options | HiZ | pr2_pru1_pru_r31_in[9] | pr2_pru1_endat0_in | ||
| pr2_pru1_gpi[10] | I | PRU1 R31 Input/Mux options | HiZ | pr2_pru1_pru_r31_in[10] | pr2_pru1_endat1_in | ||
| pr2_pru1_gpi[11] | I | PRU1 R31 Input/Mux options | HiZ | pr2_pru1_pru_r31_in[11] | pr2_pru1_endat2_in | ||
| pr2_pru1_gpi[12:15] | I | PRU1 R31 Inputs/Mux options | HiZ | pr2_pru1_pru_r31_in[12:15] | |||
| pr2_pru1_gpi[16] | I | PRU1 R31 Input | HiZ | pr2_pru1_pru_r31_in[16] | pr2_pru1_pru_r31_in[16] | ||
| pr2_pru1_gpi[17](2) | I | PRU1 R31 Input/Mux options | HiZ | pr2_pru1_pru_r31_in[17] | pr1_mii1_rxer(4) | ||
| pr2_pru1_gpi[18](2) | I | PRU1 R31 Input/Mux options | HiZ | pr2_pru1_pru_r31_in[18] | pr1_mii1_rxlink(4) | ||
| pr2_pru1_gpi[19](2) | I | PRU1 R31 Input/Mux options | HiZ | pr2_pru1_pru_r31_in[19] | pr1_mii1_crs(4) | ||
| pr2_pru1_gpi[20](2) | I | PRU1 R31 Input/Mux options | HiZ | pr2_pru1_pru_r31_in[20] | pr1_mii_mr1_clk(4) | ||
| MII | MII | ||||||
| pr2_mii_mr0_clk | I | MII0 Receive Clock | HiZ | pr2_mii_mr0_clk | |||
| pr2_mii0_rxdv | I | MII0 Receive Data Valid | HiZ | pr2_mii0_rxdv | |||
| pr2_mii0_rxd[0:3] | I | MII0 Receive Data | HiZ | pr2_mii0_rxd[0:3] | |||
| pr2_mii0_rxlink | I | MII0 Receive Link | HiZ | pr2_mii0_rxlink | |||
| pr2_mii0_rxer | I | MII0 Receive Data Error | HiZ | pr2_mii0_rxer | |||
| pr2_mii0_crs | I | MII0 Carrier Sense | HiZ | pr2_mii0_crs | |||
| pr2_mii0_col | I | MII0 Collision Detect | HiZ | pr2_mii0_col | |||
| pr2_mii_mt0_clk | I | MII0 Transmit Clock | HiZ | pr2_mii_mt0_clk | |||
| pr2_mii0_txen | O | MII0 Transmit Enable | 0 | pr2_mii0_txen | |||
| pr2_mii0_txd[0:3] | O | MII0 Transmit Data | 0 | pr2_mii0_txd[0:3] | |||
| pr2_mii_mr1_clk | I | MII1 Receive Clock | HiZ | pr2_mii_mr1_clk | |||
| pr2_mii1_rxdv | I | MII1 Receive Data Valid | HiZ | pr2_mii1_rxdv | |||
| pr2_mii1_rxd[0:3] | I | MII1 Receive Data | HiZ | pr2_mii1_rxd[0:3] | |||
| pr2_mii1_rxlink | I | MII1 Receive Link | HiZ | pr2_mii1_rxlink | |||
| pr2_mii1_rxer | I | MII1 Receive Data Error | HiZ | pr2_mii1_rxer | |||
| pr2_mii1_crs | I | MII1 Carrier Sense | HiZ | pr2_mii1_crs | |||
| pr2_mii1_col | I | MII1 Collision Detect | HiZ | pr2_mii1_col | |||
| pr2_mii_mt1_clk | I | MII1 Transmit Clock | HiZ | pr2_mii_mt1_clk | |||
| pr2_mii1_txen | O | MII1 Transmit Enable | 0 | pr2_mii1_txen | |||
| pr2_mii1_txd[0:3] | O | MII1 Transmit Data | 0 | pr2_mii1_txd[0:3] | |||
| MDIO | MDIO | ||||||
| pr2_mdio_mdclk | O | MDIO Clock | 0 | pr2_mdio_mdclk | |||
| pr2_mdio_data | I/O | MDIO Data | HiZ | pr2_mdio_data | |||
| ECAT(3) | ECAT | ||||||
| pr2_edio_sof | O | ECAT Digital I/O Start of Frame | 0 | pr2_edio_sof | |||
| pr2_edio_latch_in | I | ECAT Digital I/O Latch In | HiZ | pr2_edio_latch_in | |||
| pr2_edio_data_in[0:7] | I | ECAT Digital I/Os Data In | HiZ | pr2_edio_data_in[0:7] | |||
| pr2_edio_data_out[0:7] | O | ECAT Digital I/Os Data Out | 0 | pr2_edio_data_out[0:7] | |||
| pr2_edc_sync0_out | O | ECAT Distributed Clock Sync Out | 0 | pr2_edc_sync0_out | |||
| pr2_edc_sync1_out | O | ECAT Distributed Clock Sync Out | 0 | pr2_edc_sync1_out | |||
| pr2_edc_latch0_in | I | ECAT Distributed Clock Latch In | HiZ | pr2_edc_latch0_in | |||
| pr2_edc_latch1_in | I | ECAT Distributed Clock Latch In | HiZ | pr2_edc_latch1_in | |||
| UART(3) | UART | ||||||
| pr2_uart0_cts_n | I | UART Clear to Send | HiZ | pr2_uart0_cts_n | |||
| pr2_uart0_rts_n | O | UART Request to Send | 0 | pr2_uart0_rts_n | |||
| pr2_uart0_rxd | I | UART Receive Data | HiZ | pr2_uart0_rxd | |||
| pr2_uart0_txd | O | UART Transmit Data | 0 | pr2_uart0_txd | |||
| ECAP(3) | ECAP | ||||||
| pr2_ecap0_ecap_capin_apwm_o | I/O | Enhanced capture (ECAP) input or Auxiliary PWM out | HiZ | pr2_ecap0_ecap_capin_apwm_o | |||
Figure 30-3 illustrates the PRU-ICSS1 I/O interface signals at the device boundary.
Figure 30-3 PRU-ICSS1 External Interface I/Ospr1_pru0_gpi[20:0] and pr1_pru0_gpo[20:0] pins are not available on this device.
Figure 30-4 illustrates the PRU-ICSS2 I/O interface signals at the device boundary.
Figure 30-4 PRU-ICSS2 External Interface I/OsPRU-ICSS2 UART and eCAP are not supported on the AM570x family of devices.
PRU-ICSS2 IEP I/Os are not pinned out on AM570x. However, some internal features (such as the IEP timer) are still supported.
pr2_pru1_gpo[20:17] and pr2_pru1_gpi[20:17] are not pinned out on the AM570x family of devices.