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.

RTOS/AM5746: PCIe configuration registers

Part Number: AM5746


Tool/software: TI-RTOS

Hi.
My customers have questions on PCIe configuration registers.

Question 1:
About the following registers.
・PCIECTRL_EP_DBICS_PM_CAP [26] D2_SP
・PCIECTRL_EP_DBICS_PM_CAP [25] D1_SP
They looked at Figure 24-163. Do you agree with the following recognition?
Bit = 0 ::: It isn't possible to make state transition in D-state
Bit = 1 ::: It is possible to make state transition in D-state

Question 2:
What is the settings for the following register?
・PCIECTRL_PL_PHY_CTRL_R [31: 0] PHY_CTRL

Question 3:
What happens when you enable the following register?
We can't understand even if I looked at the register Description of TRM.
・PCIECTRL_PL_IATU_REG_CTRL_2[29]INVERT_MODE
Discription:Redefine match criteria as outside the defined range (instead of inside)

Regards,
Rei

  • Hi,

    Q1:
    The PCI Express protocol is compatible with all PCI power management functionality.
    The power states specified are D0, D1, D2, D3Hot, and D3cold. All functions must
    support D0 and D3 states.

    Support for the D1 state is optional and is primarily driven by software. It is considered
    to be a light sleep state that provides some power savings compared to D0 state while
    still allowing transition to D0 state.

    Support for the D2 state is optional in PCI Express and is primarily driven by software.
    It provides significant power savings while still retaining capability to transition back
    to a previous condition.

    PMCAP register bit 25, 26 defines if you support D1 and D2 or not. When it is, support. When it is 0, not support.

    Q2. I didn't see any code in our PCIE driver, why you care about this register. We expect customer directly use our PCIE driver code, we don't support customized development.

    Q3. In the IATU set up, we define a range (start from a certain address and with certain end address/length) to map incoming TLP packets. Within the range, we accept it. Out of the range, we reject it. When you set "INVERT_MODE", then the rule is reversed. When it is in the range, it is rejected. When out of the range, it is accepted. This is not a common usage.

    Regards, Eric
  • Hi Eric.
    Thank you for your reply as always.
    I understood very much.

    About the Q1. May we enable both of D1 and D2?

    Regards,
    Rei
  • Yes, you can enable both D1 and D2 in software.

    Regards, Eric
  • Thank you very much!!