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.

PCIe issue in android

Hi guys,

 

We are workimg on Sitara evm 8168 with TI-Android-GingerBread-2.3-DevKit-2.0 release.

We are trying to connect the PCIe based giga bit nic  to the board  It was working fine with Linux kernel demo sd card.

But when it comes to android, initial detection was fine but after 2-3 seconds device link is going down.

pci reads are giving data aborts .

Is there any configuration changes  we need to do for android ..?

 

Thanks & regards

Valeswara Rao D

 

 

 

 

 

  • Hello,

    Can you please include the results you are seeing?

    Regards,
    Marc

  • Hi Marc,

     

    I have attached the android log while enabling the pci device.

    please search for PCI_LOG for pci related logs.

     

    7144.LOG.txt

     

     

    Observation with pci analyzer:

    In Android pci controller stopped sending SKP packets. There is no activity on BUS.  When it comes to Linux SDK demo image on BUS activity is continuous .

     

    Is there any configurations we need to do from user space ..?

    please let me know any information on this.

     

     

    Thanks & regards

    Valeswara Rao D

  • Hi,

    I guess this is a follow up of http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/137123/495375.aspx#495375

    Can you please attach the TLP/DLLP packet trace image captured from analyzer (preferably as many exchanges as possible before the DM8168 PCIe stops sending packets)?

    Also, please let me know which kernel driver for EP are you using - I suspect some issue if the driver is putting the device into some low power state as part of (run time) power management.

       Hemant

     

  • Hi Valeswara Rao,

    In addition to what hemnat posted

    1. Gingerbread android devkit is using same kernel as Linux SDK. So I would request to check with menuconfig of both release

    2. Kindly provide information requested by hemant. Meanwhile we will also looking on this further.

    BR,

    satish

  • Hi Hemant,

     

    we are using custom pcie device[PCIe x1 interface]

    We haven't loaded the EP driver, we are trying to enable the device using sysfs interface

    /sys/bus/pci/devices/0000:30xxxx/enable

     

    Same scenario is working fine in Linux Demo image

     

     

    Thanks & Regards

    Valeswara Rao D

  • Hi Hemant,

     

    we are using custom pcie device[PCIe x1 interface]

    We haven't loaded the EP driver, we are trying to enable the device using sysfs interface

    /sys/bus/pci/devices/0000:30xxxx/enable

     

    Same scenario is working fine in Linux Demo image

     

    Thanks & regards

    Valeswara rao D

  • Hello,

    I suspect the PCIe module could be reset. Can you please provide the dump of register @0x48180b10? You can use devmem2 utility (source available over internet - need to be built for Cortex A8).

    I am particularly looking if the bit 7 of the register is 1 - which means PCIe module is held in reset.

       Hemant

     

  • Hi Hemant,

    I read the register value using below command.

     

    Observations:

    1)With Android:

     

    $ devmem2 0x48180b10 w

     

    /dev/mem opened.

    Memory mapped at address 0x40130000.

    Value at address 0x48180B10 (0x40130b10): 0xE7

     

    2)With Linux Demo Image:

     

    devmem2 0x48180b10 w
    /dev/mem opened.
    Memory mapped at address 0x4025d000.
    Read at address 0x48180B10 (0x4025db10): 0x00000003

     

     

    Observations in Source:

    Both android kernel and Linux Demo image kernel arch folders are same.

     

    Thanks & regards

    Valeswara Rao D

     

     

  • Hi,

    As suspected, in Android dump, I see that the PCIe module is getting reset (bit 7 is 1) whereas with demo image it doesn't - hence PCIe doesn't work with the Android setup you are using.

    From the log you I attached, I see following:

    <1>SysLink version : 02.00.00.67_alpha2
    <1>SysLink module created on Date:Oct  4 2011 Time:19:38:12
    <1>Entered KnlUtilsDrv_initializeModule

    As I remember, there was an issue in Syslink module/package where it used to reset the PCIe module during procmgr run. Please refer thread associated with this link http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/98131.aspx?PageIndex=2. I think the issue was present in syslink 02.00.00.67_alpha2 version too).

    If possible, please try avoiding syslink/procmgr execution and see if the PCIe works fine with Android - this will confirm the issue is same as mentioned above.

     

       Hemant

     

     

  • Hi Hemant,

     

                  As you said this is issue with Syslink only,so  we have applied the patch mentioned in link.

             Now it is working fine. Thanks for your support.

     

     

    Thanks & Regards

    Valeswara Rao D

     

     

  • Hi Hemant,

    I'm facing the same issue, but the link provided on the page that you give seems broken (403 - Forbidden).

    Julien.