SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
The IEP has a selectable module input clock (ICSS_IEP_CLK input, see also Section 30.3). The clock source is selected by the state of the IEPCLK.OCP_EN bit within the PRU-ICSS CFG register space.
Two clock sources are supported for the IEP input clock:
Switching from PRUSS_IEP_CLK to PRUSS_GICLK is done by writing 1 to the PRUSS_IEPCLK.OCP_EN bit. This is a one time configuration step before enabling the IEP function. Switching back from PRUSS_GICLK to PRUSS_IEP_CLK is only supported through a hardware reset of the PRU-ICSS.
When software enables the clock (at PRU-ICSS level) to the IEP module clock input via setting bit PRUSS_IEPCLK[0] OCP_EN to 0b1 in the PRUSS_CFG space, there must be NO in-flight transactions to the IEP block.
ONLY switching from PRUSS_IEP_CLK (the IEP specific functional clock source) to the PRUSS_GICLK (top level interface clock) source is supported in software by device integrated PRU-ICSS. Switching back from PRUSS_GICLK to PRUSS_IEP_CLK is ONLY supported via assertion of a hardware reset to the PRU-ICSS.