pcie secondary bus reset

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

pcie secondary bus reset

5,834 次查看
somyaaggarwal08
Contributor II

I have a board based on mpc8569 processor. I have an end point device connected to pcie bus 00-01 . I want to re-enumerate the pcie device on soft reset. I have set secondary bus reset bit of pcie bridge control register(0x3E) to enable hot reset , However I am unable to re-enumerate the pcie device.

0 项奖励
回复
3 回复数

4,513 次查看
somyaaggarwal08
Contributor II

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, &ltssm);
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);

0 项奖励
回复

4,513 次查看
ufedor
NXP Employee
NXP Employee

How exactly the re-enumeration is performed?

What is the LTSSM value just before the re-enumeration attempt?

0 项奖励
回复

4,513 次查看
ufedor
NXP Employee
NXP Employee

You wrote:

> I have set secondary bus reset bit of pcie bridge control register

How exactly this is done?

What is the LTSSM value immediately after the secondary bus reset bit setting?

> I am unable to re-enumerate the pcie device.

Is it ever possible to enumerate the device?

How exactly the re-enumeration is performed?

0 项奖励
回复