请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:AM5728 工具/软件:Linux
您好、TI
我使用的是 am5728-EVM 板和 ti-processor-sdk-linux-am57xx-evm-04.01.00.06。
我尝试将 am5728-EVM 板用作 EP 器件、但有些奇怪。
在 pci-dra7xx.c 文件中、我可以看到代码。
899 static int dra7xx_PCIe_resume (struct device *dev)
900{
901 struct dra7xx_PCIe * dra7xx = dev_get_drvdata (dev);
902 struct dw_pcie *pci = dra7xx->pci;
903 u32 val;
904
905 if (dra7xx->mode!= DW_PCIe_RC_TYPE)
906 返回0;
907
908 printk ("PCIE:dra7xx_PCIe_resume\n");
909 /*设置 MSE */
910 Val = dw_PCIe_readl_dBi (PCI、PCI_COMMAND);
911 //val = dw_pcie_readl_dBi (PCI、base、pci_command);
912 Val |= PCI_COMMAND_MEMORY;
913 //dw_pcie_writel_dBi (PCI、base、pci_command、val)
914 DW_PCIe_writel_dBi (PCI、PCI_COMMAND、val);
915
916 返回0;
917}
RC 将设置 MEM_SPACY_EN 位、但我将其复制到 EP 模式。当 CFG_MSE_EVT 处于活动状态时、我将启用 MEM_SPACE_EN 位。
它失败了。 我无法在内核上设置此位、但我可以使用 devmem2来设置它。
下面是我的问题:
(1)为什么无法在内核上设置此位? 如果可能、请告诉我如何操作。