SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
Address Offset | 0x0000 0000 | ||
Physical Address | 0x4B22 6000 0x4B2A 6000 | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | The Revision Register contains the ID and revision information. | ||
Type | R |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
REVISION |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:0 | REVISION | IP Revision | R | 0x-(1) |
Address Offset | 0x0000 0004 | ||
Physical Address | 0x4B22 6004 0x4B2A 6004 | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | The System Configuration Register defines the power IDLE and STANDBY modes. | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | SUB_MWAIT | STANDBY_INIT | STANDBY_MODE | IDLE_MODE |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:6 | RESERVED | R | 0x0 | |
5 | SUB_MWAIT | Status bit for wait state. 0x0 = Ready for Transaction 0x1 = Wait until 0 | R | 0x0 |
4 | STANDBY_INIT | 0x1 = Initiate standby sequence. 0x0 = Enable OCP master ports. | RW | 0x1 |
3:2 | STANDBY_MODE | 0x0 = Force standby mode: Initiator unconditionally in standby (standby = 1) 0x1 = No standby mode: Initiator unconditionally out of standby (standby = 0) 0x2 = Smart standby mode: Standby requested by initiator depending on internal conditions 0x3 = Reserved | RW | 0x2 |
1:0 | IDLE_MODE | 0x0 = Force-idle mode 0x1 = No-idle mode 0x2 = Smart-idle mode 0x3 = Reserved | RW | 0x2 |
Address Offset | 0x0000 0008 | ||
Physical Address | 0x4B22 6008 0x4B2A 6008 | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | The General Purpose Configuration 0 Register defines the GPIO configuration for PRU0. | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | PR1_PRU0_GP_MUX_SEL | PRU0_GPO_SH_SEL | PRU0_GPO_DIV1 | PRU0_GPO_DIV0 | PRU0_GPO_MODE | PRU0_GPI_SB | PRU0_GPI_DIV1 | PRU0_GPI_DIV0 | PRU0_GPI_CLK_MODE | PRU0_GPI_MODE |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:30 | RESERVED | R | 0x0 | |
29:26 | PR1_PRU0_GP_MUX_SEL | Controls the icss_wrap mux select 0000: GP selected 0001: EnDAT mode 0010: Reserved 0011: SD mode 0100: MII2 mode | R/W | 0x0 |
25 | PRU0_GPO_SH_SEL | Defines which shadow register is currently getting used for GPO shifting. 0x0 = gpo_sh0 is selected 0x1 = gpo_sh1 is selected | R | 0x0 |
24:20 | PRU0_GPO_DIV1 | Divisor value (divide by PRU0_GPO_DIV1 + 1). 0x00 = div 1.0 0x01 = div 1.5 0x02 = div 2.0 .. 0x1e = div 16.0 0x1f = reserved | RW | 0x0 |
19:15 | PRU0_GPO_DIV0 | Divisor value (divide by PRU0_GPO_DIV0 + 1). 0x00 = div 1.0 0x01 = div 1.5 0x02 = div 2.0 .. 0x1e = div 16.0 0x1f = reserved | RW | 0x0 |
14 | PRU0_GPO_MODE | 0x0 = Direct output mode 0x1 = Serial output mode | RW | 0x0 |
13 | PRU0_GPI_SB | Start Bit event for 28-bit shift mode. PRU0_GPI_SB (pru0_r31_status[29]) is set when first capture of a 1 on pru0_r31_status[0]. Read 1: Start Bit event occurred. Read 0: Start Bit event has not occurred. Write 1: Will clear PRU0_GPI_SB and clear the whole shift register. Write 0: No Effect. | RW | 0x0 |
12:8 | PRU0_GPI_DIV1 | Divisor value (divide by PRU0_GPI_DIV1 + 1). 0x00 = div 1.0 0x01 = div 1.5 0x02 = div 2.0 .. 0x1e = div 16.0 0x1f = reserved | RW | 0x0 |
7:3 | PRU0_GPI_DIV0 | Divisor value (divide by PRU0_GPI_DIV0 + 1). 0x00 = div 1.0 0x01 = div 1.5 0x02 = div 2.0 .. 0x1e = div 16.0 0x1f = reserved | RW | 0x0 |
2 | PRU0_GPI_CLK_MODE | Parallel 16-bit capture mode clock edge. 0x0 = Use the positive edge of pru0_r31_status[16] 0x1 = Use the negative edge of pru0_r31_status[16] | RW | 0x0 |
1:0 | PRU0_GPI_MODE | 0x0 = Direct input mode 0x1 = 16-bit parallel capture mode 0x2 = 28-bit shift mode 0x3 = MII_RT mode | RW | 0x0 |
Address Offset | 0x0000 000C | ||
Physical Address | 0x4B22 600C 0x4B2A 600C | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | The General Purpose Configuration 1 Register defines the GPI O configuration for PRU1. | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | PR1_PRU1_GP_MUX_SEL | PRU1_GPO_SH_SEL | PRU1_GPO_DIV1 | PRU1_GPO_DIV0 | PRU1_GPO_MODE | PRU1_GPI_SB | PRU1_GPI_DIV1 | PRU1_GPI_DIV0 | PRU1_GPI_CLK_MODE | PRU1_GPI_MODE |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:30 | RESERVED | R | 0x0 | |
29:26 | PR1_PRU1_GP_MUX_SEL | Controls the icss_wrap mux select 0000: GP selected 0001: EnDAT mode 0010: Reserved 0011: SD mode 0100: MII2 mode | R/W | 0x0 |
25 | PRU1_GPO_SH_SEL | Defines which shadow register is currently getting used for GPO shifting. 0x0 = gpo_sh0 is selected 0x1 = gpo_sh1 is selected | R | 0x0 |
24:20 | PRU1_GPO_DIV1 | Divisor value (divide by PRU1_GPO_DIV1 + 1). 0x00 = div 1.0 0x01 = div 1.5 0x02 = div 2.0 .. 0x1e = div 16.0 0x1f = reserved | RW | 0x0 |
19:15 | PRU1_GPO_DIV0 | Divisor value (divide by PRU1_GPO_DIV0 + 1). 0x00 = div 1.0 0x01 = div 1.5 0x02 = div 2.0 .. 0x1e = div 16.0 0x1f = reserved | RW | 0x0 |
14 | PRU1_GPO_MODE | 0x0 = Direct output mode 0x1 = Serial output mode | RW | 0x0 |
13 | PRU1_GPI_SB | 28-bit shift mode Start Bit event. PRU1_GPI_SB (pru1_r31_status[29]) is set when first capture of a 1 on pru1_r31_status[0]. Read 1: Start Bit event occurred. Read 0: Start Bit event has not occurred. Write 1: Will clear PRU1_GPI_SB and clear the whole shift register. Write 0: No Effect. | RW | 0x0 |
12:8 | PRU1_GPI_DIV1 | Divisor value (divide by PRU1_GPI_DIV1 + 1). 0x00 = div 1.0 0x01 = div 1.5 0x02 = div 2.0 .. 0x1e = div 16.0 0x1f = reserved | RW | 0x0 |
7:3 | PRU1_GPI_DIV0 | Divisor value (divide by PRU1_GPI_DIV0 + 1). 0x00 = div 1.0 0x01 = div 1.5 0x02 = div 2.0 .. 0x1e = div 16.0 0x1f = reserved | RW | 0x0 |
2 | PRU1_GPI_CLK_MODE | Parallel 16-bit capture mode clock edge. 0x0 = Use the positive edge of pru1_r31_status[16] 0x1 = Use the negative edge of pru1_r31_status[16] | RW | 0x0 |
1:0 | PRU1_GPI_MODE | 0x0 = Direct input mode 0x1 = 16-bit parallel capture mode 0x2 = 28-bit shift mode 0x3 = MII_RT mode | RW | 0x0 |
Address Offset | 0x0000 0010 | ||
Physical Address | 0x4B22 6010 0x4B2A 6010 | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | The Clock Gating Register controls the state of Clock Management of the different modules. Software should not clear {module}_CLK_EN until {module}_CLK_STOP_ACK is 0x1. Note: PRU-ICSS2 UART and eCAP are not supported on the AM570x family of devices. Note: PRU-ICSS2 IEP I/Os are not pinned out on AM570x. However, some internal features (such as the IEP timer) are still supported. | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | IEP_CLK_EN | IEP_CLK_STOP_ACK | IEP_CLK_STOP_REQ | ECAP_CLK_EN | ECAP_CLK_STOP_ACK | ECAP_CLK_STOP_REQ | UART_CLK_EN | UART_CLK_STOP_ACK | UART_CLK_STOP_REQ | PRUSS_INTC_CLK_EN | PRUSS_INTC_CLK_STOP_ACK | PRUSS_INTC_CLK_STOP_REQ | PRU1_CLK_EN | PRU1_CLK_STOP_ACK | PRU1_CLK_STOP_REQ | PRU0_CLK_EN | PRU0_CLK_STOP_ACK | PRU0_CLK_STOP_REQ |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:18 | RESERVED | R | 0x0 | |
17 | IEP_CLK_EN | IEP clock enable. 0x0 = Disable Clock 0x1 = Enable Clock | RW | 0x1 |
16 | IEP_CLK_STOP_ACK | Acknowledgement that IEP clock can be stopped. 0x0 = Not Ready to Gate Clock 0x1 = Ready to Gate Clock | R | 0x0 |
15 | IEP_CLK_STOP_REQ | IEP request to stop clock. 0x0 = do not request to stop Clock 0x1 = request to stop Clock | RW | 0x0 |
14 | ECAP_CLK_EN | ECAP clock enable. 0x0 = Disable Clock 0x1 = Enable Clock | RW | 0x1 |
13 | ECAP_CLK_STOP_ACK | Acknowledgement that ECAP clock can be stopped. 0x0 = Not Ready to Gate Clock 0x1 = Ready to Gate Clock | R | 0x0 |
12 | ECAP_CLK_STOP_REQ | ECAP request to stop clock. 0x0 = do not request to stop Clock 0x1 = request to stop Clock | RW | 0x0 |
11 | UART_CLK_EN | UART clock enable. 0x0 = Disable Clock 0x1 = Enable Clock | RW | 0x1 |
10 | UART_CLK_STOP_ACK | Acknowledgement that UART clock can be stopped. 0x0 = Not Ready to Gate Clock 0x1 = Ready to Gate Clock | R | 0x0 |
9 | UART_CLK_STOP_REQ | UART request to stop clock. 0x0 = do not request to stop Clock 0x1 = request to stop Clock | RW | 0x0 |
8 | PRUSS_INTC_CLK_EN | PRUSS_INTC clock enable. 0x0 = Disable Clock 0x1 = Enable Clock | RW | 0x1 |
7 | PRUSS_INTC_CLK_STOP_ACK | Acknowledgement that PRUSS_INTC clock can be stopped. 0x0 = Not Ready to Gate Clock 0x1 = Ready to Gate Clock | R | 0x0 |
6 | PRUSS_INTC_CLK_STOP_REQ | PRUSS_INTC request to stop clock. 0x0 = do not request to stop Clock 0x1 = request to stop Clock | RW | 0x0 |
5 | PRU1_CLK_EN | PRU1 clock enable. 0x0 = Disable Clock 0x1 = Enable Clock | RW | 0x1 |
4 | PRU1_CLK_STOP_ACK | Acknowledgement that PRU1 clock can be stopped. 0x0 = Not Ready to Gate Clock 0x1 = Ready to Gate Clock | R | 0x0 |
3 | PRU1_CLK_STOP_REQ | PRU1 request to stop clock. 0x0 = do not request to stop Clock 0x1 = request to stop Clock | RW | 0x0 |
2 | PRU0_CLK_EN | PRU0 clock enable. 0x0 = Disable Clock 0x1 = Enable Clock | RW | 0x1 |
1 | PRU0_CLK_STOP_ACK | Acknowledgement that PRU0 clock can be stopped. 0x0 = Not Ready to Gate Clock 0x1 = Ready to Gate Clock | R | 0x0 |
0 | PRU0_CLK_STOP_REQ | PRU0 request to stop clock. 0x0 = do not request to stop Clock 0x1 = request to stop Clock | RW | 0x0 |
Address Offset | 0x0000 0014 | ||
Physical Address | 0x4B22 6014 0x4B2A 6014 | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | The IRQ Status Raw Parity register is a snapshot of the IRQ raw status for the PRUSS memory parity events. The raw status is set even if the event is not enabled. | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RAM_PE_RAW | PRU1_DMEM_PE_RAW | PRU1_IMEM_PE_RAW | PRU0_DMEM_PE_RAW | PRU0_IMEM_PE_RAW |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:20 | RESERVED | R | 0 | |
19:16 | RAM_PE_RAW | RAM Parity Error RAW for Byte3, Byte2, Byte1, Byte0. Note RAM_PE_RAW[0] maps to Byte0. Write 0: No action. Read 0: No event pending. Read 1: Event pending. Write 1: Set event (debug). | RW | 0x0 |
15:12 | PRU1_DMEM_PE_RAW | PRU1 DMEM Parity Error RAW for Byte3, Byte2, Byte1, Byte0. Note PRU1_DMEM_PE_RAW[0] maps to Byte0. Write 0: No action. Read 0: No event pending. Read 1: Event pending. Write 1: Set event (debug). | RW | 0x0 |
11:8 | PRU1_IMEM_PE_RAW | PRU1 IMEM Parity Error RAW for Byte3, Byte2, Byte1, Byte0. Note PRU1_IMEM_PE_RAW[0] maps to Byte0. Write 0: No action. Read 0: No event pending. Read 1: Event pending. Write 1: Set event (debug). | RW | 0x0 |
7:4 | PRU0_DMEM_PE_RAW | PRU0 DMEM Parity Error RAW for Byte3, Byte2, Byte1, Byte0. Note PRU0_DMEM_PE_RAW[0] maps to Byte0. Write 0: No action. Read 0: No event pending. Read 1: Event pending. Write 1: Set event (debug). | RW | 0x0 |
3:0 | PRU0_IMEM_PE_RAW | PRU0 IMEM Parity Error RAW for Byte3, Byte2, Byte1, Byte0. Note PRU0_IRAM_PE_RAW[0] maps to Byte0. Write 0: No action. Read 0: No event pending. Read 1: Event pending. Write 1: Set event (debug). | RW | 0x0 |
Address Offset | 0x0000 0018 | ||
Physical Address | 0x4B22 6018 0x4B2A 6018 | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | The IRQ Status Parity Register is a snapshot of the IRQ status for the PRUSS memory parity events. The status is set only if the event is enabled. Write 1 to clear the status after the interrupt has been serviced. | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RAM_PE | PRU1_DMEM_PE | PRU1_IMEM_PE | PRU0_DMEM_PE | PRU0_IMEM_PE |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:20 | RESERVED | R | 0x0 | |
19:16 | RAM_PE | RAM Parity Error for Byte3, Byte2, Byte1, Byte0. Note RAM_PE[0] maps to Byte0. Write 0: No action. Read 0: No (enabled) event pending. Read 1: Event pending. Write 1: Clear event. | RW | 0x0 |
15:12 | PRU1_DMEM_PE | PRU1 DMEM Parity Error for Byte3, Byte2, Byte1, Byte0. Note PRU1_DMEM_PE[0] maps to Byte0. Write 0: No action. Read 0: No (enabled) event pending. Read 1: Event pending. Write 1: Clear event. | RW | 0x0 |
11:8 | PRU1_IMEM_PE | PRU1 IMEM Parity Error for Byte3, Byte2, Byte1, Byte0. Note PRU1_IMEM_PE[0] maps to Byte0. Write 0: No action. Read 0: No (enabled) event pending. Read 1: Event pending. Write 1: Clear event. | RW | 0x0 |
7:4 | PRU0_DMEM_PE | PRU0 DMEM Parity Error for Byte3, Byte2, Byte1, Byte0. Note PRU0_DMEM_PE[0] maps to Byte0. Write 0: No action. Read 0: No(enabled) event pending. Read 1: Event pending. Write 1: Clear event. | RW | 0x0 |
3:0 | PRU0_IMEM_PE | PRU0 IMEM Parity Error for Byte3, Byte2, Byte1, Byte0. Note PRU0_IMEM_PE[0] maps to Byte0. Write 0: No action. Read 0: No (enabled) event pending. Read 1: Event pending. Write 1: Clear event. | RW | 0x0 |
Address Offset | 0x0000 001C | ||
Physical Address | 0x4B22 601C 0x4B2A 601C | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | The IRQ Enable Set Parity Register enables the IRQ PRUSS memory parity events. | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | RAM_PE_SET | PRU1_DMEM_PE_SET | PRU1_IMEM_PE_SET | PRU0_DMEM_PE_SET | PRU0_IMEM_PE_SET |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:20 | RESERVED | R | 0x0 | |
19:16 | RAM_PE_SET | RAM Parity Error Set Enable for Byte3, Byte2, Byte1, Byte0. Note RAM_PE_SET[0] maps to Byte0. Write 0: No action. Read 0: Interrupt disabled (masked). Read 1: Interrupt enabled. Write 1: Enable interrupt. | RW | 0x0 |
15:12 | PRU1_DMEM_PE_SET | PRU1 DMEM Parity Error Set Enable for Byte3, Byte2, Byte1, Byte0. Note PRU1_DMEM_PE_SET[0] maps to Byte0. Write 0: No action. Read 0: Interrupt disabled (masked). Read 1: Interrupt enabled. Write 1: Enable interrupt. | RW | 0x0 |
11:8 | PRU1_IMEM_PE_SET | PRU1 IMEM Parity Error Set Enable for Byte3, Byte2, Byte1, Byte0. Note PRU1_IMEM_PE_SET[0] maps to Byte0. Write 0: No action. Read 0: Interrupt disabled (masked). Read 1: Interrupt enabled. Write 1: Enable interrupt. | RW | 0x0 |
7:4 | PRU0_DMEM_PE_SET | PRU0 DMEM Parity Error Set Enable for Byte3, Byte2, Byte1, Byte0. Note PRU0_DMEM_PE_SET[0] maps to Byte0. Write 0: No action. Read 0: Interrupt disabled (masked). Read 1: Interrupt enabled. Write 1: Enable interrupt. | RW | 0x0 |
3:0 | PRU0_IMEM_PE_SET | PRU0 IMEM Parity Error Set Enable for Byte3, Byte2, Byte1, Byte0. Note PRU0_IMEM_PE_SET[0] maps to Byte0. Write 0: No action. Read 0: Interrupt disabled (masked). Read 1: Interrupt enabled. Write 1: Enable interrupt. | RW | 0x0 |
Address Offset | 0x0000 0020 | ||
Physical Address | 0x4B22 6020 0x4B2A 6020 | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | The IRQ Enable Clear Parity Register disables the IRQ PRUSS memory parity events. | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | PRU1_DMEM_PE_CLR | PRU1_IMEM_PE_CLR | PRU0_DMEM_PE_CLR | PRU0_IMEM_PE_CLR |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:16 | RESERVED | R | 0x0 | |
15:12 | PRU1_DMEM_PE_CLR | PRU1 DMEM Parity Error Clear Enable for Byte3, Byte2, Byte1, Byte0. Note PRU1_DMEM_PE_CLR[0] maps to Byte0. Write 0: No action. Read 0: Interrupt disabled (masked). Read 1: Interrupt enabled. Write 1: Disable interrupt. | RW | 0x0 |
11:8 | PRU1_IMEM_PE_CLR | PRU1 IMEM Parity Error Clear Enable for Byte3, Byte2, Byte1, Byte0. Note PRU1_IMEM_PE_CLR[0] maps to Byte0. Write 0: No action. Read 0: Interrupt disabled (masked). Read 1: Interrupt enabled. Write 1: Disable interrupt. | RW | 0x0 |
7:4 | PRU0_DMEM_PE_CLR | PRU0 DMEM Parity Error Clear Enable for Byte3, Byte2, Byte1, Byte0. Note PRU0_DMEM_PE_CLR[0] maps to Byte0. Write 0: No action. Read 0: Interrupt disabled (masked). Read 1: Interrupt enabled. Write 1: Disable interrupt. | RW | 0x0 |
3:0 | PRU0_IMEM_PE_CLR | PRU0 IMEM Parity Error Clear Enable for Byte3, Byte2, Byte1, Byte0. Note PRU0_IMEM_PE_CLR[0] maps to Byte0. Write 0: No action. Read 0: Interrupt disabled (masked). Read 1: Interrupt enabled. Write 1: Disable interrupt. | RW | 0x0 |
Address Offset | 0x0000 0028 | ||
Physical Address | 0x4B22 6028 0x4B2A 6028 | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | The PRU Master OCP Address Offset Register enables for the PRU OCP Master Port Address to have an offset of minus 0x0008_0000. This enables the PRU to access External Host address space starting at 0x0000_0000. | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | PMAO_PRU1 | PMAO_PRU0 |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:2 | RESERVED | R | 0x0 | |
1 | PMAO_PRU1 | PRU1 OCP Master Port Address Offset Enable. 0x0 = Disable address offset. 0x1 = Enable address offset of -0x0008_0000. | RW | 0x0 |
0 | PMAO_PRU0 | PRU0 OCP Master Port Address Offset Enable. 0x0 = Disable address offset. 0x1 = Enable address offset of -0x0008_0000. | RW | 0x0 |
Address Offset | 0x0000 002C | ||
Physical Address | 0x4B22 602C 0x4B2A 602C | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | The MII_RT Event Enable Register enables MII_RT mode events to the PRUSS.PRUSS_INTC. | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | MII_RT_EVENT_EN |
Address Offset | 0x0000 0030 | ||
Physical Address | 0x4B22 6030 0x4B2A 6030 | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | The IEP Clock Source Register defines the source of the IEP clock. | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | OCP_EN |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:1 | RESERVED | R | 0x0 | |
0 | OCP_EN | IEP clock source 0x0 = IEP_CLK is the source 0x1 = ICLK is the source. While this is selected no transactions should be active. It can only be cleared by a hardware reset. | RW | 0x0 |
Address Offset | 0x0000 0034 | ||
Physical Address | 0x4B22 6034 0x4B2A 6034 | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | The Scratch Pad Priority and Configuration Register defines the access priority assigned to the PRU cores and configures the scratch pad XFR shift functionality. | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | XFR_SHIFT_EN | PRU1_PAD_HP_EN |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:2 | RESERVED | R | 0x0 | |
1 | XFR_SHIFT_EN | Enables XIN XOUT shift functionality. When enabled, R0[4:0] (internal to PRU) defines the 32-bit offset for XIN and XOUT operations with the scratch pad. 0x0 = Disabled. 0x1 = Enabled. | RW | 0x0 |
0 | PRU1_PAD_HP_EN | Defines which PRU wins write cycle arbitration to a common scratch pad bank. The PRU which has higher priority will always perform the write cycle with no wait states. The lower PRU will get stalled wait states until higher PRU is not performing write cycles. If the lower priority PRU writes to the same byte has the higher priority PRU, then the lower priority PRU will over write the bytes. 0x0 = PRU0 has highest priority. 0x1 = PRU1 has highest priority. | RW | 0x0 |
Address Offset | 0x0000 0040 | ||
Physical Address | 0x4B22 6040 0x4B2A 6040 | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | The Pin Mux Select Register defines the state of the PRUSS internal pinmuxing. | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | PWM3_REMAP_EN | PWM0_REMAP_EN | RESERVED |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:10 | RESERVED | Reserved. Always write 0. | R | 0x0 |
9 | PWM3_REMAP_EN | UNUSED IN THIS DEVICE | RW | 0x0 |
8 | PWM0_REMAP_EN | If enabled, host intr6 of PRUSS2 controls epwm_sync_in of PWMSS1 instead of ehrpwm1_synci device pin | RW | 0x0 |
7:0 | RESERVED | Reserved | R | 0x0 |
Address Offset | 0x0000 0048 + (0x8 * i) | Index | i = 0 to 8 |
Physical Address | 0x4B22 6048 + (0x8 * i) 0x4B2A 6048 + (0x8 * i) | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | SD acc and clock select | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | PRU0_SD_ACC2_SEL | RESERVED | PRU0_SD_CLK_INV | PRU0_SD_CLK_SEL |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:5 | RESERVED | Reserved | R | 0x0 |
4 | PRU0_SD_ACC2_SEL | acc3/acc2 mux 0: acc3 is selected 1: acc2 is selected | RW | 0x0 |
3 | RESERVED | Reserved | R | 0x0 |
2 | PRU0_SD_CLK_INV | Optional clock inversion post clock selection mux 0 = No inversion 1 = Inversion | RW | 0x0 |
1:0 | PRU0_SD_CLK_SEL | Selects the clock source 0x0: pr1/2_pru0_gpi[16] 0x1: pr1/2_pru0_sdi_clk 0x2: pr1/2_pru0_sd0_clk for sd0, sd1, and sd2; pr1/2_pru0_sd3_clk for sd3, sd4, and sd5; pr1/2_pru0_sd6_clk for sd6, sd7, and sd8 0x3: reserved | RW | 0x0 |
Address Offset | 0x0000 004C + (0x8 * i) | Index | i = 0 to 8 |
Physical Address | 0x4B22 604C + (0x8 * i) 0x4B2A 604C + (0x8 * i) | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | SD oversample size | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | PRU0_SD_SAMPLE_SIZE |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:8 | RESERVED | Reserved | R | 0x0 |
7:0 | PRU0_SD_SAMPLE_SIZE | SD Sample Size. This field defines the sample size window to latch selected accumulator. 0 = Reserved 1 = Reserved 2 = Reserved 3 = 4 samples 4 = 5 samples 5 = 6 samples 6 = 7 samples 7 = 8 samples N = N+1 samples Max value (N) may be capped by number of bits supported by accumulator. Note this value is only loaded into a shadow copy when channel_en is 0 OR re_init is asserted. | RW | 0x7 |
Address Offset | 0x0000 0094 + (0x8 * i) | Index | i = 0 to 8 |
Physical Address | 0x4B22 6094 + (0x8 * i) 0x4B2A 6094 + (0x8 * i) | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | SD acc and clock select | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | PRU1_SD_ACC2_SEL | RESERVED | PRU1_SD_CLK_INV | PRU1_SD_CLK_SEL |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:5 | RESERVED | Reserved | R | 0x0 |
4 | PRU1_SD_ACC2_SEL | acc3/acc2 mux 0: acc3 is selected 1: acc2 is selected | RW | 0x0 |
3 | RESERVED | Reserved | R | 0x0 |
2 | PRU1_SD_CLK_INV | Optional clock inversion post clock selection mux 0 = No inversion 1 = Inversion | RW | 0x0 |
1:0 | PRU1_SD_CLK_SEL | Selects the clock source 0x0: pr1/2_pru1_gpi[16] 0x1: pr1/2_pru1_sdi_clk 0x2: pr1/2_pru1_sd0_clk for sd0, sd1, and sd2; pr1/2_pru1_sd3_clk for sd3, sd4, and sd5; pr1/2_pru1_sd6_clk for sd6, sd7, and sd8 0x3: reserved | RW | 0x0 |
Address Offset | 0x0000 0098 + (0x8 * i) | Index | i = 0 to 8 |
Physical Address | 0x4B22 6098 + (0x8 * i) 0x4B2A 6098 + (0x8 * i) | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | SD oversample size | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | PRU1_SD_SAMPLE_SIZE |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:8 | RESERVED | Reserved | R | 0x0 |
7:0 | PRU1_SD_SAMPLE_SIZE | SD Sample Size. This field defines the sample size window to latch selected accumulator. 0 = Reserved 1 = Reserved 2 = Reserved 3 = 4 samples 4 = 5 samples 5 = 6 samples 6 = 7 samples 7 = 8 samples N = N+1 samples Max value (N) may be capped by number of bits supported by accumulator. Note this value is only loaded into a shadow copy when channel_en is 0 OR re_init is asserted. | RW | 0x7 |
Address Offset | 0x0000 00E0 | ||
Physical Address | 0x4B22 60E0 0x4B2A 60E0 | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | Endat Rx Config | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PRU0_ED_RX_DIV_FACTOR | PRU0_ED_RX_DIV_FACTOR_FRAC | RESERVED | PRU0_ED_RX_CLK_SEL | RESERVED | PRU0_ED_RX_SAMPLE_SIZE |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:16 | PRU0_ED_RX_DIV_FACTOR | Division factor for divh16. Effective value is PRU0_ED_RX_DIV_FACTOR + 1. 0 = Div 1 1 = Div 2 N = Div (N+1) | RW | 0x0 |
15 | PRU0_ED_RX_DIV_FACTOR_FRAC | Enable Fractional division before the divh16. 0: div 1 1: div 1.5 | RW | 0x0 |
14:5 | RESERVED | R | 0x0 | |
4 | PRU0_ED_RX_CLK_SEL | Selects the clock source for the divh16fr. 0: 192 MHz UART_CLK 1: 200MHz ICLK | RW | 0x0 |
3 | RESERVED | R | 0x0 | |
2:0 | PRU0_ED_RX_SAMPLE_SIZE | Over Sample size. This field defines the number of samples before the shadow copy gets updated and the VAL flag gets set. The effective count is (RX_SAMPLE_SIZE + 1). 0 = Reserved 1 = Reserved 2 = Reserved 3 = Over Sample of 4 4 = Over Sample of 5 5 = Over Sample of 6 6 = Over Sample of 7 7 = Over Sample of 8 Note the Over Sample Clock rate divided by the TX Clock rate must equal the Over Sample size. | RW | 0x7 |
Address Offset | 0x0000 00E4 | ||
Physical Address | 0x4B22 60E4 0x4B2A 60E4 | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | Endat Tx Config | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PRU0_ED_TX_DIV_FACTOR | PRU0_ED_TX_DIV_FACTOR_FRAC | RESERVED | PRU0_ENDAT2_CLK_SYNC | PRU0_ENDAT1_CLK_SYNC | PRU0_ENDAT0_CLK_SYNC | PRU0_ED_BUSY_2 | PRU0_ED_BUSY_1 | PRU0_ED_BUSY_0 | PRU0_ED_TX_CLK_SEL | RESERVED |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:16 | PRU0_ED_TX_DIV_FACTOR | Division factor for divh16. Effective value is PRU0_ED_TX_DIV_FACTOR + 1. 0 = Div 1 1 = Div 2 N = Div (N+1) | RW | 0x0 |
15 | PRU0_ED_TX_DIV_FACTOR_FRAC | Enable Fractional division before the divh16. 0: div1 1: div 1.5 | RW | 0x0 |
14:11 | RESERVED | R | 0x0 | |
10 | PRU0_ENDAT2_CLK_SYNC | Observation of pr1/2_pru0_endat2_clk pin. Note this is part of the Peripheral Interface configuration settings. The usage of this signal is not restricted to only ENDAT interfaces. | R | 0x0 |
9 | PRU0_ENDAT1_CLK_SYNC | Observation of pr1/2_pru0_endat1_clk pin. Note this is part of the Peripheral Interface configuration settings. The usage of this signal is not restricted to only ENDAT interfaces. | R | 0x0 |
8 | PRU0_ENDAT0_CLK_SYNC | Observation of pr1/2_pru0_endat0_clk pin. Note this is part of the Peripheral Interface configuration settings. The usage of this signal is not restricted to only ENDAT interfaces. | R | 0x0 |
7 | PRU0_ED_BUSY_2 | Determines when is allowed to assert tx go for channel 2. 0: ready to go 1: busy | R | 0x0 |
6 | PRU0_ED_BUSY_1 | Determines when is allowed to assert tx go for channel 1. 0: ready to gob 1: busy | R | 0x0 |
5 | PRU0_ED_BUSY_0 | Determines when is allowed to assert tx go for channel 0. 0: ready to go 1: busy | R | 0x0 |
4 | PRU0_ED_TX_CLK_SEL | Selects the clock source for the divh16fr. 0: 192 MHz UART_CLK 1: 200MHz ICLK | RW | 0x0 |
3:0 | RESERVED | R | 0x0 |
Address Offset | 0x0000 00E8 + (0x8 * j) | Index | j = 0 to 2 |
Physical Address | 0x4B22 60E8 + (0x8 * j) 0x4B2A 60E8 + (0x8 * j) | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | Endat Channel j Config 0 register | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PRU0_ED_TX_FIFO_SWAP_BITS | PRU0_ED_SW_CLK_OUT | PRU0_ED_CLK_OUT_OVR_EN | PRU0_ED_RX_SNOOP | PRU0_ED_RX_FRAME_SIZE | PRU0_ED_TX_FRAME_SIZE | PRU0_ED_TX_WDLY |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31 | PRU0_ED_TX_FIFO_SWAP_BITS | Enables the swapping of the bits when they are loaded into the TX FIFO. 0: no swap 1: swap [7:0] -> [0:7] NOTE: FIFO MSB always exports bit [7] first. | RW | 0x0 |
30 | PRU0_ED_SW_CLK_OUT | This controls the state of pr1/2_pru0_endatj_clk pin when PRU0_ED_CLK_OUT_OVR_EN is set. Note this is part of the Peripheral Interface configuration settings. The usage of this signal is not restricted to only ENDAT interfaces. | RW | 0x0 |
29 | PRU0_ED_CLK_OUT_OVR_EN | When set, enables the software to control pr1/2_pru0_endatj_clk pin. WARNING: Do not override clock during free running mode. This will cause clock duty cycle violation. | RW | 0x0 |
28 | PRU0_ED_RX_SNOOP | Direct view of pr1/2_pru0_endatj_in pin. Note this is part of the Peripheral Interface configuration settings. The usage of this signal is not restricted to only ENDAT interfaces. | R | 0x0 |
27:16 | PRU0_ED_RX_FRAME_SIZE | RX frame size, after start bit is detected 0: = Special case for TX only phase, ignores start bit, in this case TX CLK_OUT will stop after last TX 1: = TX CLK_OUT will stop after 1 X Over Sample 8: = TX CLK_OUT will stop after 8 X Over Sample 9: = TX CLK_OUT will stop after 9 X Over Sample 4095 TX CLK_OUT will stop after 2047 X Over Sample Note X Over Sample means the number of VAL events. 1 VAL per Over Sample event. When the TX CLK_MODE[1:0] is either 0x0 or 0x1, when this RX_FRAME_SIZE is reached, the tx master CLK_OUT will remain high or low. WARNING: Software must not de-assert RX_EN before RX_FRAME_SIZE expires. | RW | 0x0 |
15:11 | PRU0_ED_TX_FRAME_SIZE | TX frame size 0: disabled, the FIFO will transmit until empty then stop 1: TX FIFO will transmit 1 bits then stop 2: TX FIFO will transmit 2 bits then stop 31: TX FIFO will transmit 31 bits then stop Note: At TX completion, pr1/2_pru0_endatj_out_en will deassert. | RW | 0x0 |
10:0 | PRU0_ED_TX_WDLY | EnDAT TX wire delay using 200-MHz steps (ICLK). Software must program a number divisible by 5. 0: = no delay 5: = 5 ns delay 10: = 10 ns delay 15: = 15 ns delay 2024 = 2.045 µs delay. This is used during TX state when CLK_OUT goes from high to low, this transmission can be compensated. Hardware will keep count of clocks and add 5 each time. Note the first rising edge of EnDAT CLK from a TX GO event is tx_wire_dly + tst_delay_counter + ½ EnDAT CLK period +/- 15ns. Note this is part of the Peripheral Interface configuration settings. The usage of this signal is not restricted to only ENDAT interfaces. | RW | 0x0 |
Address Offset | 0x0000 00EC + (0x8 * j) | Index | j = 0 to 2 |
Physical Address | 0x4B22 60EC + (0x8 * j) 0x4B2A 60EC + (0x8 * j) | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | Endat Channel j Config 1 register | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PRU0_ED_RX_EN_COUNTER | PRU0_ED_TST_DELAY_COUNTER |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:16 | PRU0_ED_RX_EN_COUNTER | This counter will start counting after the last TX bit is sent. When it expires, the HW will automatically arm the receiver (RX_EN = 1). Program to 0 if HW support is not desired. Counts in ICLK cycles. Software must program value in increments of 5 (hardware will count by 5s). For example 30, will be 6 ICLK cycles. All channels must be use this feature if enabled. The HW does not allow support of some channels with auto enable and others manual enable. | RW | 0x0 |
15:0 | PRU0_ED_TST_DELAY_COUNTER | This counter will start after the tx_wire_delay has been met. After this counter expires the 1st transmit clock will be driven high. Counts in ICLK cycles. Software must program value divisible by 5, and hardware will count by 5. For example 30, will be 6 ICLK cycles. Note the first rising edge of EnDAT CLK from a TX GO event is tx_wire_dly + tst_delay_counter + ½ EnDAT CLK period +/- 15ns | RW | 0x0 |
Address Offset | 0x0000 0100 | ||
Physical Address | 0x4B22 6100 0x4B2A 6100 | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | Endat Rx Config | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PRU1_ED_RX_DIV_FACTOR | PRU1_ED_RX_DIV_FACTOR_FRAC | RESERVED | PRU1_ED_RX_CLK_SEL | RESERVED | PRU1_ED_RX_SAMPLE_SIZE |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:16 | PRU1_ED_RX_DIV_FACTOR | Division factor for divh16. Effective value is PRU1_ED_RX_DIV_FACTOR + 1. 0 = Div 1 1 = Div 2 N = Div (N+1) | RW | 0x0 |
15 | PRU1_ED_RX_DIV_FACTOR_FRAC | Enable Fractional division before the divh16. 0: div 1 1: div 1.5. | RW | 0x0 |
14:5 | RESERVED | R | 0x0 | |
4 | PRU1_ED_RX_CLK_SEL | Selects the clock source for the divh16fr. 0: 192 MHz UART_CLK 1: 200MHz ICLK | RW | 0x0 |
3 | RESERVED | R | 0x0 | |
2:0 | PRU1_ED_RX_SAMPLE_SIZE | Over Sample size. This field defines the number of samples before the shadow copy gets updated and the VAL flag gets set. The effective count is (RX_SAMPLE_SIZE + 1). 0 = Reserved 1 = Reserved 2 = Reserved 3 = Over Sample of 4 4 = Over Sample of 5 5 = Over Sample of 6 6 = Over Sample of 7 7 = Over Sample of 8 Note the Over Sample Clock rate divided by the TX Clock rate must equal the Over Sample size. | RW | 0x7 |
Address Offset | 0x0000 0104 | ||
Physical Address | 0x4B22 6104 0x4B2A 6104 | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | Endat Tx Config | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PRU1_ED_TX_DIV_FACTOR | PRU1_ED_TX_DIV_FACTOR_FRAC | RESERVED | PRU1_ENDAT2_CLK_SYNC | PRU1_ENDAT1_CLK_SYNC | PRU1_ENDAT0_CLK_SYNC | PRU1_ED_BUSY_2 | PRU1_ED_BUSY_1 | PRU1_ED_BUSY_0 | PRU1_ED_TX_CLK_SEL | RESERVED |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:16 | PRU1_ED_TX_DIV_FACTOR | Division factor for divh16. Effective value is PRU1_ED_TX_DIV_FACTOR + 1. 0 = Div 1 1 = Div 2 N = Div (N+1) | RW | 0x0 |
15 | PRU1_ED_TX_DIV_FACTOR_FRAC | Enable Fractional division before the divh16. 0: div1 1: div 1.5 | RW | 0x0 |
14:11 | RESERVED | R | 0x0 | |
10 | PRU1_ENDAT2_CLK_SYNC | Observation of pr1/2_pru1_endat2_clk pin. Note this is part of the Peripheral Interface configuration settings. The usage of this signal is not restricted to only ENDAT interfaces. | R | 0x0 |
9 | PRU1_ENDAT1_CLK_SYNC | Observation of pr1/2_pru1_endat1_clk pin. Note this is part of the Peripheral Interface configuration settings. The usage of this signal is not restricted to only ENDAT interfaces. | R | 0x0 |
8 | PRU1_ENDAT0_CLK_SYNC | Observation of pr1/2_pru1_endat0_clk pin. Note this is part of the Peripheral Interface configuration settings. The usage of this signal is not restricted to only ENDAT interfaces. | R | 0x0 |
7 | PRU1_ED_BUSY_2 | Determines when is allowed to assert tx go for channel 2. 0: ready to go 1: busy | R | 0x0 |
6 | PRU1_ED_BUSY_1 | Determines when is allowed to assert tx go for channel 1. 0: ready to go 1: busy | R | 0x0 |
5 | PRU1_ED_BUSY_0 | Determines when is allowed to assert tx go for channel 0. 0: ready to go 1: busy | R | 0x0 |
4 | PRU1_ED_TX_CLK_SEL | Selects the clock source for the divh16fr. 0: 192 MHz UART_CLK 1: 200MHz ICLK | RW | 0x0 |
3:0 | RESERVED | R | 0x0 |
Address Offset | 0x0000 0108 + (0x8 * j) | Index | j = 0 to 2 |
Physical Address | 0x4B22 6108 + (0x8 * j) 0x4B2A 6108 + (0x8 * j) | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | Endat Channel j Config 0 register | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PRU1_ED_TX_FIFO_SWAP_BITS | PRU1_ED_SW_CLK_OUT | PRU1_ED_CLK_OUT_OVR_EN | PRU1_ED_RX_SNOOP | PRU1_ED_RX_FRAME_SIZE | PRU1_ED_TX_FRAME_SIZE | PRU1_ED_TX_WDLY |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31 | PRU1_ED_TX_FIFO_SWAP_BITS | Enables the swapping of the bits when they are loaded into the TX FIFO. 0: no swap 1: swap [7:0] -> [0:7] NOTE: FIFO MSB always exports bit [7] first. | RW | 0x0 |
30 | PRU1_ED_SW_CLK_OUT | This controls the state of pr1/2_pru1_endatj_clk pin when PRU1_ED_CLK_OUT_OVR_EN is set. Note this is part of the Peripheral Interface configuration settings. The usage of this signal is not restricted to only ENDAT interfaces. | RW | 0x0 |
29 | PRU1_ED_CLK_OUT_OVR_EN | When set, enables the software to control pr1/2_pru1_endatj_clk pin. WARNING: Do not override clock during free running mode. This will cause clock duty cycle violation. | RW | 0x0 |
28 | PRU1_ED_RX_SNOOP | Direct view of pr1/2_pru1_endatj_in pin. Note this is part of the Peripheral Interface configuration settings. The usage of this signal is not restricted to only ENDAT interfaces. | R | 0x0 |
27:16 | PRU1_ED_RX_FRAME_SIZE | RX frame size, after start bit is detected 0: = Special case for TX only phase, ignores start bit, in this case TX CLK_OUT will stop after last TX 1: = tx_clk out will stop after 1 X Over Sample 8: = tx_clk out will stop after 8 X Over Sample 9: = tx_clk out will stop after 9 X Over Sample 4095 tx_clk out will stop after 2047 X Over Sample Note X Over Sample means the number of VAL events. 1 VAL per Over Sample event. When the TX CLK_MODE[1:0] is either 0x0 or 0x1, when this RX_FRAME_SIZE is reached, the tx master CLOCK_OUT will remain high or low. WARNING: Software must not de-assert RX_EN before RX_FRAME_SIZE expires. | RW | 0x0 |
15:11 | PRU1_ED_TX_FRAME_SIZE | TX frame size 0: disabled, the FIFO will transmit until empty then stop 1: TX FIFO will transmit 1 bits then stop 2: TX FIFO will transmit 2 bits then stop ... 31: TX FIFO will transmit 31 bits then stop Note: At TX completion, pr1/2_pru1_endatj_out_en will deassert. | RW | 0x0 |
10:0 | PRU1_ED_TX_WDLY | EnDAT TX wire delay using 200-MHz steps (ICLK). Software must program a number divisible by 5. 0: = no delay 5: = 5 ns delay 10: = 10 ns delay 15: = 15 ns delay 2024 = 2.045 µs delay. This is used during TX state when CLK_OUT goes from high to low, this transmission can be compensated. Hardware will keep count of clocks and add 5 each time. Note the first rising edge of EnDAT CLK from a TX GO event is tx_wire_dly + tst_delay_counter + ½ EnDAT CLK period +/- 15ns. Note this is part of the Peripheral Interface configuration settings. The usage of this signal is not restricted to only ENDAT interfaces. | RW | 0x0 |
Address Offset | 0x0000 010C + (0x8 * j) | Index | j = 0 to 2 |
Physical Address | 0x4B22 610C + (0x8 * j) 0x4B2A 610C + (0x8 * j) | Instance | PRUSS1_CFG PRUSS2_CFG |
Description | Endat Channel j Config 1 register | ||
Type | RW |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PRU1_ED_RX_EN_COUNTER | PRU1_ED_TST_DELAY_COUNTER |
Bits | Field Name | Description | Type | Reset |
---|---|---|---|---|
31:16 | PRU1_ED_RX_EN_COUNTER | This counter will start counting after the last TX bit is sent. When it expires, the HW will automatically arm the receiver (RX_EN = 1). Program to 0 if HW support is not desired. Counts in ICLK cycles. Software must program value in increments of 5 (hardware will count by 5s). For example 30, will be 6 ICLK cycles. All channels must be use this feature if enabled. The HW does not allow support of some channels with auto enable and others manual enable. | RW | 0x0 |
15:0 | PRU1_ED_TST_DELAY_COUNTER | This counter will start after the tx_wire_delay has been met. After this counter expires the 1st transmit clock will be driven high. Counts in ICLK cycles. Software must program value divisible by 5, and hardware will count by 5. For example 30, will be 6 ICLK cycles. Note the first rising edge of EnDAT CLK from a TX GO event is tx_wire_dly + tst_delay_counter + ½ EnDAT CLK period +/- 15ns | RW | 0x0 |