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.

Using PCI on dm6467EVM

Hello,

I am looking for advice on how to get PCI up and running on my EVM board.  When I change the dip switches to PCIEN and the bootmode switches 0010, the device does not boot.  I thought this setting would allow it to boot over tftp still.  Is this not the case?  Please advise - is there a process or test application to prove PCI is working and at what speeds it is able to transfer data?

This is rather urgent.  I must decide to use PCI or not by the end of the week.

Thanks as always!

Brandy

  • Hello,

    Can you provide some details about the PCI setup you wish to use?

    The switch setting you mentioned would set the PCI boot mode and thus you need to have the EVM connected to a PCI Host (e.g., a PC's PCI slot) and boot the DM6467 by transferring UBL,U-Boot (and optionally, kernel, filesystem) images from DM6467 PCI boot driver using boot application running on the host.

    If you rather want DM6467 as PCI host (e.g., to control a PCI Ethernet card),  then you would need a PCI backplane to connect DM6467 EVM and the PCI card(s) in it. In this case, you should set up EVM for any non-PCI boot mode.

    In addition, note that due to pins being shared, NAND cannot be used when PCI is enabled.

       Hemant

  • Hi Hermant,

    We want to get 500mbps of raw video to the dm6467 for compression.  We were told that the ARM could not handle this amount of data over the gigE port.  So we were starting to think about how PCI could work.  We would prefer not to have to pass the UBL and UBoot over PCI - what are the other options?  We would only like to pass data over the PCI.  Until I figure out the other options though, I would like to see/profile the PCI data rate even if I have to boot over PCI. 

    But today, I had a hard time compiling the PCIHostDrivers as well.  It seems the module driver (pcidrv.ko) will not compile.  I was trying to follow this example:

    http://processors.wiki.ti.com/index.php/USB_to_PCI_loopback

    Is there a more upto date driver?  This one seems to be so old, that our host git does not support the dependancies.  Many are deprecated and unusable.  Is there another sample application I could follow?

    Also, once I get the host driver to compile and the evm booted and running, is there a sample application I can use to profile the data rate?

    Thanks,

    Brandy

  • Hi,

    Either of the PCI modes (Host or Target) should work for you in that case. But PCI Host mode is more convenient for you if you do not want to transfer UBL etc and rather want DM6467 to boot on its own (e.g., from NAND, SPI flash). Of course, the other end (transferring video data) should be presented as a PCI target and you should be able to perform DMA transfers over PCI.

    As I mentioned, since NAND and PCI cannot be used together and EVM would switch to PCI mode when put in a PCI slot, you might need the modifications as suggested on [1] to have DM6467 booted on its own even after putting EVM in the PCI slot.

    Regarding drivers/code, what is the kernel version you are using? Make sure the kernel version you are using matches with and the one drivers are for, otherwise would require porting effort.

    You can find the latest sources on arago repository:.

    A) DM6467 PCI Host Driver: To be used when DM6467 is a PCI host - See the source file here [2] (files pci-generic.c, pci-dm646x.c, pci.h, pinmux handling in board file)

    B) DM6467 PCI Boot Driver. To be used to integrate with Linux kernel on a PCI Host (e.g. a PC) to which DM6467 PCI Target is connected. - See the source code (dm646x_pci_targetdrv.c, dm646x_pci_targetdrv.h) here [3]

    C) Boot application. To be executed on PC Host (mentioned in (B) above) having the boot driver already loaded. See [4].

       Hemant

     

    [1] http://processors.wiki.ti.com/index.php?title=Pinmux_Switching_from_NAND_to_PCI

    [2] http://arago-project.org/git/people/?p=sneha/linux-davinci-staging.git;a=tree;f=arch/arm/mach-davinci;h=2b99dcdb45870b93159011d96dcfc01398844cca;hb=HEAD

    [3] http://arago-project.org/git/people/?p=sneha/linux-davinci-staging.git;a=tree;f=drivers/char;h=c127827b5d5a9feb5c3c53106027b5c67f54c42c;hb=HEAD

    [4] http://arago-project.org/git/people/?p=murali/linux-davinci-examples.git;a=tree;f=pci;h=9bcc48ce142736c7d779c3b3b077754e033a8f32;hb=HEAD