SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
The warm main reset of the PCIe controller is sourced by the device PRCM L3INIT_RST output. For more information on the PCIe controller hardware reset inputs see Section 24.9.3, PCIe Controller Integration). For more information on the PRCM.L3INIT_RST hardware reset, refer to Reset Domains, in Power, Reset, and Clock Management.
The L3INIT_RST main reset is tiggered from different warm reset sources within the PD_L3INIT power domain (global warm software reset, MPU watchdog reset, and so forth).
Software triggered main reset to PCIe controller : To the above group of PRCM warm main reset sources, there is also a software-triggered reset which can be asserted locally and independently to each of the PCIe_SS1 and PCIe_SS2 in the PD_L3INIT domain. The main software reset is triggered via assertion of bit:
The software (warm) reset completion triggered through device PRCM is flagged in the Write-one to Clear PRCM register:
The user software running on PCIe controller is supposed to clear the reset status bit upon reset completion event via writing 0b1 to RM_PCIESS_RSTST[0] RST_LOCAL_PCIE1 and RM_PCIESS_RSTST[1] RST_LOCAL_PCIE2 bit in PRCM.
For more details on above PCIe controller software reset bits, refer to the PRCM Register Manual, in the Power, Reset and Clock Management
The warm main reset (icluding PCIe subsystem software reset) from PRCM impacts all PCIe core register bits (sticky and non-sticky) and the PCIe TI wrapper configuration registers (PCIe_SS_TI_CONF). Note that the PCIe device type in the PCIECTRL_TI_CONF_DEVICE_TYPE register is reset by default to "Root Complex".
For more details on sticky/non-sticky bits behaviour refer to the PCI Express Base 3.0 Specification, revision 1.0.