This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DRA829V: How to set CTRLMMR_PCIEx_CLKSEL register

Part Number: DRA829V

Hi,

My customer wants to set the following PCIe Clock registers.

  • CTRLMMR_PCIE2_CLKSEL
  • CTRLMMR_PCIE3_CLKSEL

They will change it during board running, not in the boot loader.

Is the following procedure OK ? Could you tell them if they add some more procedure ?

  1. Unlock the CTRLMMR_LOCK_KICK
  2. Setting the above CLKSEL registers
  3. Lock the CTRLMMR_LOCK_KICK

Also, they want to set other clock registers of PCIe controller and SerDes (relating PCIe).

In these cases, the procedures are the same as the above procedure ?

Thanks and regards,

Hideaki

  • Hi Hideaki-san,

    Is the following procedure OK ?

    Yes, the CTRLMMR registers are kick protected, so a write to the correct register that locks the particular partition is needed to unlock. Please reference 5.1.3.3.1.2 Kick Protection Registers of the TRM for exact values to write to these registers and procedure to follow.

    For CTRLMMR_PCIE2_CLKSEL and CTRLMMR_PCIE3_CLKSEL, these are in the 0x8000 partition range:

    Also, they want to set other clock registers of PCIe controller and SerDes (relating PCIe).

    In these cases, the procedures are the same as the above procedure ?

    No, these do not need to be unlocked, since the CTRLMMR are the registers that are kick protected. General PCIe and SerDes registers do not have the need to be unlocked.

    Regards,

    Takuma