panda's tech note


Device State

  • D3c: No power.
  • D3d: Power is applied but the host interface is disabled.
  • D3h: Hot Reset asserted (via in-band message).
  • D0r: Out of reset but initial setup not completed.
  • D0u: Out of reset and firmware load complete
  • D0a: Fully active state

PEP Reset

  1. SM writes SOFT_RESET.PCIeReset[i].
  2. BSM waits until PCIE_IP.NotInReset becomes 1. Timeout = 150 us, otherwise cold reset is needed.
  3. BSM re-loads PCIe configuration space and other settings from NVM
  5. When PCIe link is up and power state is D0u, kernel initializes the PCIe configuration space and invokes SW driver
  6. SW driver re-configures the PEP DMA

Data Path Reset

  1. SW driver sets PCIE_DMA_CTRL.DataPathReset.
  2. Global DataPathReset interrupt is issued to SM/BSM.
  3. NotInReset bit in PCIE_IP register is cleared.
  4. SW driver polls the NotInReset bit until it is read as 1b.
  5. W driver re-configures the PEP DMA.