Hi,
I want to implement hot reset feature of pcie. In the mpc8569 manual it is mentioned that in order to implement hot reset we need to set secondary bus reset bit of pci bridge control register.
Value of ltssm just after hot reset is 0x33
Also when board is powered off, I am able to enumerate pcie device.
Below is the code snapshot:
pci_read_config_word(dev, PCI_BRIDGE_CONTROL, &brg_ctrl);
brg_ctrl |= 0x40; //setting hot reset
pci_write_config_word(dev, PCI_BRIDGE_CONTROL, brg_ctrl);
pci_hose_read_config_word(hose, dev, PCI_LTSSM, <ssm);
printf("Reading link training status... ltssm = 0x%X", ltssm);
udelay(10000);
//bringing secondary bus out of reset
brg_ctrl &= FFBF;
pci_write_config_word(dev, PCI_BRIDGE_CONTROL, brg_ctrl);
udelay(10000);
pci_read_config_word(dev, PCI_BRIDGE_CONTROL, &brg_ctrl);