This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3894- PCIE detection inconsistency issue

Other Parts Discussed in Thread: AM3894

Hi,

In my custom board I m using Xilinx sparten-6 FPGA which interfaced to AM3894 through PCIe x1 lane.

Using lspci command in linux we are able to detect the user id & vendor id of the PCIE end point.

But we are having some inconstistency in PCIE endpoint detection. Means 7 out of 10 times the the PCIe end point is detected using lspci command & 3 times doesn't.

So can anyone have the idea regarding this issue or any suggestion what may be the cause?

I have checked the PCIE clock & reset to the FPGA & AM3894 both are 100MHz & proper.

 

Regards,

Roshan D'souza

  • Hi,

    Can you provide the dump of register @0x51001728 (DEBUG register showing LTSSM states) for the cases for those 30% cases when FPGA is not detected? I want to check if PCIe link itself is not established on those occasions.

       Hemant

  • Hi Hemant,


    In linux all the bus is scanned during boot up in a function called check_device in pcie-ti816x.c
    The result of working and non working cases is added below.
    static int check_device(struct pci_bus *bus, int dev)
    {
            printk("IWAVE PCI DEBUG0 =%X\r\n",__raw_readl(reg_virt + SPACE0_LOCAL_CFG_OFFSET + DEBUG0));
            if ((__raw_readl(reg_virt + SPACE0_LOCAL_CFG_OFFSET + DEBUG0) &
                                    LTSSM_STATE_MASK) != LTSSM_STATE_L0)
                    return 0;

            if (bus->number <= 1) {
                    if (dev == 0)
                            return 1;
                    else
                            return 0;
            }

            return 1;
    }

    See the result below, non working case
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =B503
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =B503
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =4A03
    IWAVE PCI DEBUG0 =4A03
    IWAVE PCI DEBUG0 =4A03
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =4A03
    IWAVE PCI DEBUG0 =B503
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =B503
    IWAVE PCI DEBUG0 =4A03
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =B503
    IWAVE PCI DEBUG0 =BC43
    IWAVE PCI DEBUG0 =B503
    IWAVE PCI DEBUG0 =B503
    IWAVE PCI DEBUG0 =B503

    in working board we are getting below values
    IWAVE PCI DEBUG0 =3001D11
    IWAVE PCI DEBUG0 =3003D11
    IWAVE PCI DEBUG0 =3005511
    IWAVE PCI DEBUG0 =3009B11
    IWAVE PCI DEBUG0 =3005911
    IWAVE PCI DEBUG0 =3009E11
    IWAVE PCI DEBUG0 =3003211
    IWAVE PCI DEBUG0 =300B411
    IWAVE PCI DEBUG0 =3009E11
    IWAVE PCI DEBUG0 =3006F11
    IWAVE PCI DEBUG0 =3006711
    IWAVE PCI DEBUG0 =300D311
    IWAVE PCI DEBUG0 =3008B11
    IWAVE PCI DEBUG0 =3001811
    IWAVE PCI DEBUG0 =3006411
    IWAVE PCI DEBUG0 =3004311
    IWAVE PCI DEBUG0 =3000711
    IWAVE PCI DEBUG0 =3005F11
    IWAVE PCI DEBUG0 =3002E11
    IWAVE PCI DEBUG0 =3002311
    IWAVE PCI DEBUG0 =3006411
    IWAVE PCI DEBUG0 =3002211
    IWAVE PCI DEBUG0 =3008611
    IWAVE PCI DEBUG0 =3004B11
    IWAVE PCI DEBUG0 =3002F11
    IWAVE PCI DEBUG0 =3008811
    IWAVE PCI DEBUG0 =300F811
    IWAVE PCI DEBUG0 =3009311
    IWAVE PCI DEBUG0 =3002F11
    IWAVE PCI DEBUG0 =300C611
    IWAVE PCI DEBUG0 =3002611
    IWAVE PCI DEBUG0 =3008811
    IWAVE PCI DEBUG0 =3006D11
    IWAVE PCI DEBUG0 =3009D11
    IWAVE PCI DEBUG0 =3000D11
    IWAVE PCI DEBUG0 =3007211
    IWAVE PCI DEBUG0 =300A011
    IWAVE PCI DEBUG0 =300C711
    IWAVE PCI DEBUG0 =3002111
    IWAVE PCI DEBUG0 =3006911
    IWAVE PCI DEBUG0 =3007C11
    IWAVE PCI DEBUG0 =3002C11
    IWAVE PCI DEBUG0 =3007211
    IWAVE PCI DEBUG0 =3005E11
    IWAVE PCI DEBUG0 =300FA11
    IWAVE PCI DEBUG0 =300DE11
    IWAVE PCI DEBUG0 =300F411
    IWAVE PCI DEBUG0 =3005211
    IWAVE PCI DEBUG0 =3003D11
    IWAVE PCI DEBUG0 =3004811
    IWAVE PCI DEBUG0 =3008611
    IWAVE PCI DEBUG0 =3000311
    IWAVE PCI DEBUG0 =3006011
    IWAVE PCI DEBUG0 =9611
    IWAVE PCI DEBUG0 =300E711
    IWAVE PCI DEBUG0 =300CC11
    IWAVE PCI DEBUG0 =300E911
    IWAVE PCI DEBUG0 =300DF11
    IWAVE PCI DEBUG0 =300CF11
    IWAVE PCI DEBUG0 =300AC11
    IWAVE PCI DEBUG0 =3000D11
    IWAVE PCI DEBUG0 =300CF11
    IWAVE PCI DEBUG0 =3001011
    IWAVE PCI DEBUG0 =3003811
    IWAVE PCI DEBUG0 =3005C11
    IWAVE PCI DEBUG0 =300C311
    IWAVE PCI DEBUG0 =300AC11
    IWAVE PCI DEBUG0 =300BA11
    IWAVE PCI DEBUG0 =3003211
    IWAVE PCI DEBUG0 =3007211
    IWAVE PCI DEBUG0 =300AC11
    IWAVE PCI DEBUG0 =3000D11
    IWAVE PCI DEBUG0 =300AE11
    IWAVE PCI DEBUG0 =3000211
    IWAVE PCI DEBUG0 =3008D11
    IWAVE PCI DEBUG0 =3003011
    IWAVE PCI DEBUG0 =300BE11
    IWAVE PCI DEBUG0 =3005111
    IWAVE PCI DEBUG0 =3001811
    IWAVE PCI DEBUG0 =300D311
    IWAVE PCI DEBUG0 =3003011
    IWAVE PCI DEBUG0 =3007011
    IWAVE PCI DEBUG0 =300DF11
    IWAVE PCI DEBUG0 =3005E11
    IWAVE PCI DEBUG0 =3000B11
    IWAVE PCI DEBUG0 =300AC11
    IWAVE PCI DEBUG0 =3001111
    IWAVE PCI DEBUG0 =300F211
    IWAVE PCI DEBUG0 =300DA11
    IWAVE PCI DEBUG0 =3007011
    IWAVE PCI DEBUG0 =3005C11
    IWAVE PCI DEBUG0 =300CA11
    IWAVE PCI DEBUG0 =3000E11
    IWAVE PCI DEBUG0 =300A511
    IWAVE PCI DEBUG0 =3002711
    IWAVE PCI DEBUG0 =3002911
    IWAVE PCI DEBUG0 =3000111
    IWAVE PCI DEBUG0 =3003911
    IWAVE PCI DEBUG0 =300B811
    IWAVE PCI DEBUG0 =300E011
    IWAVE PCI DEBUG0 =300ED11
    IWAVE PCI DEBUG0 =3005711
    IWAVE PCI DEBUG0 =3002811
    IWAVE PCI DEBUG0 =3005011
    IWAVE PCI DEBUG0 =3005211
    IWAVE PCI DEBUG0 =300A311
    IWAVE PCI DEBUG0 =3000611
    IWAVE PCI DEBUG0 =300D711
    IWAVE PCI DEBUG0 =3001611
    IWAVE PCI DEBUG0 =3000111
    IWAVE PCI DEBUG0 =3007611
    IWAVE PCI DEBUG0 =3005211
    IWAVE PCI DEBUG0 =3008811
    IWAVE PCI DEBUG0 =3000D11
    IWAVE PCI DEBUG0 =3007611
    IWAVE PCI DEBUG0 =3005711
    IWAVE PCI DEBUG0 =300E911
    IWAVE PCI DEBUG0 =300A511
    IWAVE PCI DEBUG0 =3004011
    IWAVE PCI DEBUG0 =3007A11
    IWAVE PCI DEBUG0 =300D811
    IWAVE PCI DEBUG0 =300B611
    IWAVE PCI DEBUG0 =300DD11
    IWAVE PCI DEBUG0 =300A111
    IWAVE PCI DEBUG0 =3001B11
    IWAVE PCI DEBUG0 =3000911
    IWAVE PCI DEBUG0 =300B311
    IWAVE PCI DEBUG0 =300A111
    IWAVE PCI DEBUG0 =3002511
    IWAVE PCI DEBUG0 =3000C11
    IWAVE PCI DEBUG0 =3006811
    IWAVE PCI DEBUG0 =300E611
    IWAVE PCI DEBUG0 =3001111
    IWAVE PCI DEBUG0 =300F211
    IWAVE PCI DEBUG0 =3001411
    IWAVE PCI DEBUG0 =3006411
    IWAVE PCI DEBUG0 =3005F11
    IWAVE PCI DEBUG0 =300CB11
    IWAVE PCI DEBUG0 =3006A11
    IWAVE PCI DEBUG0 =3006611
    IWAVE PCI DEBUG0 =3007311
    IWAVE PCI DEBUG0 =3006211
    IWAVE PCI DEBUG0 =3009E11
    IWAVE PCI DEBUG0 =300FB11
    IWAVE PCI DEBUG0 =300B911
    IWAVE PCI DEBUG0 =3003111
    IWAVE PCI DEBUG0 =3006C11
    IWAVE PCI DEBUG0 =300E511
    IWAVE PCI DEBUG0 =3007011
    IWAVE PCI DEBUG0 =3002C11
    IWAVE PCI DEBUG0 =3001A11
    IWAVE PCI DEBUG0 =300BD11
    IWAVE PCI DEBUG0 =300B411
    IWAVE PCI DEBUG0 =3008611
    IWAVE PCI DEBUG0 =3000B11
    IWAVE PCI DEBUG0 =3004511
    IWAVE PCI DEBUG0 =3006611
    IWAVE PCI DEBUG0 =3007211
    IWAVE PCI DEBUG0 =3003111
    IWAVE PCI DEBUG0 =300E711
    IWAVE PCI DEBUG0 =300FC11
    IWAVE PCI DEBUG0 =3006F11
    IWAVE PCI DEBUG0 =300A411
    IWAVE PCI DEBUG0 =3005E11
    IWAVE PCI DEBUG0 =300DA11
    IWAVE PCI DEBUG0 =300F511
    IWAVE PCI DEBUG0 =3008B11
    IWAVE PCI DEBUG0 =300E511
    IWAVE PCI DEBUG0 =300C411
    IWAVE PCI DEBUG0 =3006F11
    IWAVE PCI DEBUG0 =3000711
    IWAVE PCI DEBUG0 =3008711
    IWAVE PCI DEBUG0 =3000911
    IWAVE PCI DEBUG0 =300D311
    IWAVE PCI DEBUG0 =3002D11
    IWAVE PCI DEBUG0 =3008011
    IWAVE PCI DEBUG0 =3003911
    IWAVE PCI DEBUG0 =300C511
    IWAVE PCI DEBUG0 =300C611
    IWAVE PCI DEBUG0 =3004B11
    IWAVE PCI DEBUG0 =300A411
    IWAVE PCI DEBUG0 =2B11
    IWAVE PCI DEBUG0 =300B611
    IWAVE PCI DEBUG0 =3007311
    IWAVE PCI DEBUG0 =300DA11
    IWAVE PCI DEBUG0 =300B011
    IWAVE PCI DEBUG0 =3008211
    IWAVE PCI DEBUG0 =3007311
    IWAVE PCI DEBUG0 =300A311
    IWAVE PCI DEBUG0 =3001211
    IWAVE PCI DEBUG0 =3005411
    IWAVE PCI DEBUG0 =3002B11
    IWAVE PCI DEBUG0 =300BC11
    IWAVE PCI DEBUG0 =3005911
    IWAVE PCI DEBUG0 =300E111
    IWAVE PCI DEBUG0 =300DE11
    IWAVE PCI DEBUG0 =3006611
    IWAVE PCI DEBUG0 =3002C11
    IWAVE PCI DEBUG0 =300A511
    IWAVE PCI DEBUG0 =300BC51
    IWAVE PCI DEBUG0 =3007611
    IWAVE PCI DEBUG0 =3003F11
    IWAVE PCI DEBUG0 =3001B11
    IWAVE PCI DEBUG0 =300F511
    IWAVE PCI DEBUG0 =300B211
    IWAVE PCI DEBUG0 =3004011
    IWAVE PCI DEBUG0 =3000B11
    IWAVE PCI DEBUG0 =3001011
    IWAVE PCI DEBUG0 =3002111
    IWAVE PCI DEBUG0 =3003711
    IWAVE PCI DEBUG0 =300EC11
    IWAVE PCI DEBUG0 =3000E11
    IWAVE PCI DEBUG0 =3001811
    IWAVE PCI DEBUG0 =300C111
    IWAVE PCI DEBUG0 =3003E11
    IWAVE PCI DEBUG0 =3004511
    IWAVE PCI DEBUG0 =300E911
    IWAVE PCI DEBUG0 =3004311
    IWAVE PCI DEBUG0 =3006F11
    IWAVE PCI DEBUG0 =3008911
    IWAVE PCI DEBUG0 =3006D11
    IWAVE PCI DEBUG0 =300F811
    IWAVE PCI DEBUG0 =3006711
    IWAVE PCI DEBUG0 =3001B11
    IWAVE PCI DEBUG0 =3007B11
    IWAVE PCI DEBUG0 =3003811
    IWAVE PCI DEBUG0 =300A211
    IWAVE PCI DEBUG0 =3003D11
    IWAVE PCI DEBUG0 =3003B11
    IWAVE PCI DEBUG0 =300B111
    IWAVE PCI DEBUG0 =300F011
    IWAVE PCI DEBUG0 =300AE11
    IWAVE PCI DEBUG0 =300A711
    IWAVE PCI DEBUG0 =3006C11
    IWAVE PCI DEBUG0 =3003511
    IWAVE PCI DEBUG0 =300C211
    IWAVE PCI DEBUG0 =300CF11
    IWAVE PCI DEBUG0 =300ED11
    IWAVE PCI DEBUG0 =300C711
    IWAVE PCI DEBUG0 =3000F11
    IWAVE PCI DEBUG0 =300B611
    IWAVE PCI DEBUG0 =300A611
    IWAVE PCI DEBUG0 =3000211
    IWAVE PCI DEBUG0 =3004911
    IWAVE PCI DEBUG0 =3009811
    IWAVE PCI DEBUG0 =3005811
    IWAVE PCI DEBUG0 =300E911
    IWAVE PCI DEBUG0 =3003E11
    IWAVE PCI DEBUG0 =300E911
    IWAVE PCI DEBUG0 =3006B11
    IWAVE PCI DEBUG0 =300BF11
    IWAVE PCI DEBUG0 =300F611
    IWAVE PCI DEBUG0 =300CD11
    IWAVE PCI DEBUG0 =3006011
    IWAVE PCI DEBUG0 =300B011
    IWAVE PCI DEBUG0 =3004911
    IWAVE PCI DEBUG0 =3006611
    IWAVE PCI DEBUG0 =300A311
    IWAVE PCI DEBUG0 =3000E11
    IWAVE PCI DEBUG0 =300D511
    IWAVE PCI DEBUG0 =3003211
    IWAVE PCI DEBUG0 =3006311
    IWAVE PCI DEBUG0 =300A111
    IWAVE PCI DEBUG0 =3006C11
    IWAVE PCI DEBUG0 =300EE11
    IWAVE PCI DEBUG0 =3003111
    IWAVE PCI DEBUG0 =300A311
    IWAVE PCI DEBUG0 =3001111
    IWAVE PCI DEBUG0 =3007C11
    IWAVE PCI DEBUG0 =300B311
    IWAVE PCI DEBUG0 =3005411
    IWAVE PCI DEBUG0 =3004711
    IWAVE PCI DEBUG0 =3005E11
    IWAVE PCI DEBUG0 =300B311
    IWAVE PCI DEBUG0 =3006F11
    IWAVE PCI DEBUG0 =3006211
    IWAVE PCI DEBUG0 =3009D11
    IWAVE PCI DEBUG0 =3002011
    IWAVE PCI DEBUG0 =300A711
    IWAVE PCI DEBUG0 =3002D11
    IWAVE PCI DEBUG0 =300A411
    IWAVE PCI DEBUG0 =3002C11
    IWAVE PCI DEBUG0 =300B311
    IWAVE PCI DEBUG0 =3009611
    IWAVE PCI DEBUG0 =3005911
    IWAVE PCI DEBUG0 =3002C11
    IWAVE PCI DEBUG0 =300BB11
    IWAVE PCI DEBUG0 =300D511
    IWAVE PCI DEBUG0 =300DF11
    IWAVE PCI DEBUG0 =3008C11
    IWAVE PCI DEBUG0 =3003111
    IWAVE PCI DEBUG0 =3002211
    IWAVE PCI DEBUG0 =3001B11
    IWAVE PCI DEBUG0 =3004511
    IWAVE PCI DEBUG0 =3006211
    IWAVE PCI DEBUG0 =300EF11
    IWAVE PCI DEBUG0 =300B011
    IWAVE PCI DEBUG0 =3007011
    IWAVE PCI DEBUG0 =300AA11
    IWAVE PCI DEBUG0 =3000F11
    IWAVE PCI DEBUG0 =3008611
    IWAVE PCI DEBUG0 =3002E11
    IWAVE PCI DEBUG0 =3002A11
    IWAVE PCI DEBUG0 =3002311
    IWAVE PCI DEBUG0 =300D311
    IWAVE PCI DEBUG0 =300C011
    IWAVE PCI DEBUG0 =300D111
    IWAVE PCI DEBUG0 =3003111
    IWAVE PCI DEBUG0 =3000911
    IWAVE PCI DEBUG0 =300D311


    Regards,

    Roshan D'souza

  • Hi Hemanth,

    Can you please help on this issue.

    Regards,

    Roshan D'souza

     

  • Hello,

    Just want to check, is this same as http://e2e.ti.com/support/embedded/linux/f/354/t/150649.aspx ?

       Hemant

     

  • yes.. We will reply in that post