Follow these steps to configure Peripheral I/F clocks using the HW control of the clock:
- Select TX and RX clock sources:
- ICSSG_PRU0_ED_TX_CFG_REG[4] PRU0_ED_TX_CLK_SEL for the TX clock source
- ICSSG_PRU0_ED_RX_CFG_REG[4] PRU0_ED_RX_CLK_SEL for the RX clock source
- Configure the 1x (TX) clock frequency:
- Write Division Factor to ICSSG_PRU0_ED_TX_CFG_REG[31-16] PRU0_ED_TX_DIV_FACTOR
- Write Fraction division factor to ICSSG_PRU0_ED_TX_CFG_REGISTER[15] PRU0_ED_TX_DIV_FACTOR_FRAC
- Configure the oversampling (RX) frequency and oversample size:
- Write Division Factor to ICSSG_PRU0_ED_RX_CFG_REG[31-16] PRU0_ED_RX_DIV_FACTOR
- Write Fraction division factor to ICSSG_PRU0_ED_RX_CFG_REG[15] PRU0_ED_RX_DIV_FACTOR_FRAC
- Write RX oversample size to ICSSG_PRU0_ED_RX_CFG_REG[2-0] PRU0_ED_RX_SAMPLE_SIZE
- Select the clk_mode to configure how the PERIF<m>_CLK signal ends after TX/RX:
- Write to r30[20-19] (clk_mode). Note: The clk_mode setting can also be changed per transaction.
- Configure the wire, tst, and rx_en_counter delay values:
- ICSSG_PRU0_ED_CHm_CFG0_REG[10-0] PRU0_ED_TX_WDLYm for wire delay (where n = 0 or 1 and m = 0 to 2)
- ICSSG_PRU0_ED_CHm_CFG1_REG[15-0] PRU0_ED_TST_DELAY_COUNTERm for tst delay (where n = 0 or 1 and m = 0 to 2)
- ICSSG_PRUSS_ED_PRU0_CHm_CFG1_REG[31-16] PRU0_ED_RX_EN_COUNTER for auto-delay between TX and RX (where n = 0 or 1 and m = 0 to 2)