SPRUIV7B May 2022 – September 2023 AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM625SIP
The PRUSS implements an enhanced General Purpose Input/Output (GPIO) module with SCU that supports the following general-purpose input modes: direct input, 16-bit parallel capture, 28-bit serial shift in, and MII_RT. Register R31 serves as an interface with the general-purpose inputs. Table 7-40 describes the input modes in detail.
Each PRU core can only be configured for one GPI mode at a time. Each mode uses the same R31 signals and internal register bits for different purposes. A summary is found in Table 7-41.
The PRU_ICSSM_GPCFG0 register, bitfield [29-26] PR1_PRU0_GP_MUX_SEL (PRU0 or PRU1) in the PRUSS CFG register space needs to be set to 0h for GP mode. For a given PRU core, the following IO modes are mutually exclusive: GP mode, Sigma Delta mode, and 3 channel Peripheral I/F mode.
Mode | Function | Configuration |
---|---|---|
Direct input | GPI[19:0] feeds directly into the PRU R31 | Default state |
16-bit parallel capture | DATAIN[0:15] is captured by the posedge or negedge of CLOCKIN |
|
28-bit shift in | DATAIN is sampled and shifted into a 28-bit shift register.
|
|
PERIF | The 3 channel Peripheral Interface supports functionality for operations utilized the EnDat 2.2 and BiSS protocols. | Enabled by PRU_ICSSM_GPCFG0[1-0] PRU0_GPI_MODE register (value: 1h), where n = 0 or 1 |
MII_RT | mii_rt_r31_status [29:0] internally driven by the MII_RT module | Enabled by PRU_ICSSM_GPCFG0[1-0] PRUn_GPI_MODE register (value: 2h), where n = 0 or 1 |
Sigma Delta | Up to nine channels of concurrent counting with clock source configuration for each channel. | Enabled by PRU_ICSSM_GPCFG0[1-0] PRUn_GPI_MODE register (value: 3h), where n = 0 or 1 |
Pad Names at Device Level(1) | GPI Modes | |||||
---|---|---|---|---|---|---|
Direct input | Parallel Capture | 28-Bit Shift in | PERIF | MII | Sigma Delta | |
PR<k>_PRU<n>_GPI0 | GPI0 | DATAIN0 | DATAIN | RXD[0] | SD0_CLK | |
PR<k>_PRU<n>_GPI1 | GPI1 | DATAIN1 | RXD[1] | SD0_DATA | ||
PR<k>_PRU<n>_GPI2 | GPI2 | DATAIN2 | RXD[3] | SD1_CLK | ||
PR<k>_PRU<n>_GPI3 | GPI3 | DATAIN3 | RXDV | SD1_DATA | ||
PR<k>_PRU<n>_GPI4 | GPI4 | DATAIN4 | RXER | SD2_CLK | ||
PR<k>_PRU<n>_GPI5 | GPI5 | DATAIN5 | RX_CLK | SD2_DATA | ||
PR<k>_PRU<n>_GPI6 | GPI6 | DATAIN6 | SD3_CLK | |||
PR<k>_PRU<n>_GPI7 | GPI7 | DATAIN7 | RXLINK | SD3_DATA | ||
PR<k>_PRU<n>_GPI8 | GPI8 | DATAIN8 | COL | SD4_CLK | ||
PR<k>_PRU<n>_GPI9 | GPI9 | DATAIN9 | PERIF0_IN | CRS | SD4_DATA | |
PR<k>_PRU<n>_GPI10 | GPI10 | DATAIN10 | PERIF1_IN | SD5_CLK | ||
PR<k>_PRU<n>_GPI11 | GPI11 | DATAIN11 | PERIF2_IN | SD5_DATA | ||
PR<k>_PRU<n>_GPI12 | GPI12 | DATAIN12 | SD6_CLK | |||
PR<k>_PRU<n>_GPI13 | GPI13 | DATAIN13 | SD6_DATA | |||
PR<k>_PRU<n>_GPI14 | GPI14 | DATAIN14 | SD7_CLK | |||
PR<k>_PRU<n>_GPI15 | GPI15 | DATAIN15 | SD7_DATA | |||
PR<k>_PRU<n>_GPI16 | GPI16 | CLOCKIN | R31_IN[16] | TX_CLK,R31_IN[16] | SD8_CLK, R31_IN[16] | |
PR<k>_PRU<n>_GPI17 | GPI17 | SD8_DATA | ||||
PR<k>_PRU<n>_GPI18 | GPI18 | |||||
PR<k>_PRU<n>_GPI19 | GPI19 |