AM6548: PCIe Error Interrupts

Part Number: AM6548

Tool/software:

Hello,

I am working on safety system based on AM6548. PCIe supports error interrupts that can be enabled in the PCIE_RC_ERR_IRQ_ENABLE_SET register and are handled by clearing the correspond bit in the PCIE_RC_ERR_IRQ_STATUS register.

We are trying to decide if additional actions are needed whenever any of the errors occur (ERR_SYS/ERR_FATAL/ERR_NONFATAL/ERR_CORR/ERR_AER).

Could you please provide more information about when these errors interrupts are generated?

From the TRM SPRUID7E:

  • ERR_SYS - This interrupt is generated due to the assertion of the cfg_sys_err_rc output of the PCIe controller core
  • ERR_FATAL - This interrupt is generated due to the assertion of the radm_fatal_err output of the PCIe controller core.
  • ERR_NONFATAL - This interrupt is generated due to the assertion of the radm_nonfatal_err output of the PCIe controller core.
  • ERR_CORR - This interrupt is generated due to the assertion of the radm_correctable_err output of the PCIe controller core.
  • ERR_AER - This interrupt is generated due to the assertion of the cfg_aer_rc_err_int or the cfg_aer_err_msi output of the PCIe controller core.

Could you please add more info about the outputs highlighted above? When are these asserted? Does it depend on the Advanced Error Reporting capability?

Thank you,

Alexandra

  • Hello Alexandra,

    Which operating system are you using? Linux OS or RTOS/baremetal?

    -Daolin

  • Hello Daolin,

    I'm using VxWorks. We have our own driver for PCIe, we just need more information to make the right decisions for our system.

    Thank you,

    Alexandra

  • Hi Alexandra,

    We don't support custom OS/driver development. I checked the Linux kernel PCIe driver, these error irq are enabled, and the handling in the driver is just printing a message and clearing the irq, nothing else.

  • Hello,

    Yes, I have seen the same thing but for a fatal error, just clearing the error might not be enough - a reset might be also needed.

    We will do our own implementation, we just need more information about the outputs specified in the TRM.

    According to the manual, ERR_SYS can be a correctable, non-fatal or fatal error. We need a better understanding of those outputs already mentioned in the TRM but have no additional information elsewhere in the documentation.

    Could you please point to the proper documentation?

    Thank you,

    Alexandra

  • Hi Alexandra,

    I am routing your query to our PCIe hardware expert to comment on the TRM details.

  • Hi Alexandra, thus far I have been unsuccessful in identifying the documentation you requested.  ERR_FATAL, ERR_NONFATAL,  ERR_CORR as additional documentation is referencing the PCI Express Base Specification.  Section 6.2.7 Table 6-2 has pointers to additional information which may be helpful to you.  For ERR_SYS I believe there may be additional bit references as to whether cfg_sys_err_rc_cor, cfg_sys_err_rc_f, cfg_sys_err_rc_nf but I need more assistance to provide any more information. NonFatal errors can't be corrected by hardware alone and Fatal errors will require a reset.  Apologies but there will be further delay until ~Jan 2nd due to holiday absences.