Hi,
Our carrier board want to use pcie x4 (c0) as endpoint mode , and we change tegra194-p2888-0000-a00.dtsi file just like:
+ pcie_ep@14180000 {
+ status = “okay”;
+ vddio-pex-ctl-supply = <&p2888_spmic_sd3>;
+ nvidia,disable-aspm-states = <0xf>;
+
+ phys = <&p2u_2>,
+ <&p2u_3>,
+ <&p2u_4>,
+ <&p2u_5>;
+ phy-names = “pcie-p2u-0”, “pcie-p2u-1”, “pcie-p2u-2”, “pcie-p2u-3”;
+
+ };
and we call pex_ep_event_pex_rst_deassert func directory in func tegra_pcie_dw_ep_probe:
— a/drivers/pci/ep/pcie-tegra-dw-ep.c
+++ b/drivers/pci/ep/pcie-tegra-dw-ep.c
@@-2725,7 +2725,7 @@ static int tegra_pcie_dw_ep_probe(struct platform_device *pdev)
dev_err(pcie->dev, “%s failed to create char\n”, MODULENAME);
goto fail_create_char_device;
}
-
+ pex_ep_event_pex_rst_deassert(pcie);
return ret;
fail_create_char_device:
it seem bpmp not work.the error log is:
dji@xavier[1]:~$ dmesg | grep pci
[ 0.985086] iommu: Adding device 14180000.pcie_ep to group 0
[ 0.986106] iommu: Adding device 141a0000.pcie_ep to group 1
[ 1.612239] pcie->cid = 0
[ 1.612871] tegra-pcie-dw-ep 14180000.pcie_ep: alloc_single_page_bar0_mem: iommu_map(RAM) alloc page dma_buf: 0x46ab8c000
[ 1.613367] tegra-pcie-dw-ep 14180000.pcie_ep: alloc_multi_page_bar0_mem: iommu_map(RAM) alloc page dma_buf: 0xd8a00000
[ 1.613837] tegra-pcie-dw-ep 14180000.pcie_ep: BAR0 IOVA: 0xff000000, dma_buf_va: ffffff800d801000, dma_buf_pa: 0xff002000
[ 1.616358] tegra-pcie-dw-ep 14180000.pcie_ep: length=2097152 iommu_to_buf=457632, buf_to_buf=396960 buf_to_iommu=413408
[ 1.617572] tegra-pcie-dw-ep 14180000.pcie_ep: length=2097152 iommu_to_buf=386624, buf_to_buf=390080 buf_to_iommu=402656
[ 1.618713] tegra-pcie-dw-ep 14180000.pcie_ep: length=2097152 iommu_to_buf=364192, buf_to_buf=390208 buf_to_iommu=358848
[ 1.619901] tegra-pcie-dw-ep 14180000.pcie_ep: length=2097152 iommu_to_buf=347840, buf_to_buf=408864 buf_to_iommu=349280
[ 1.620954] tegra-pcie-dw-ep 14180000.pcie_ep: length=2097152 iommu_to_buf=359968, buf_to_buf=348096 buf_to_iommu=314208
[ 1.621965] tegra-pcie-dw-ep 14180000.pcie_ep: length=2097152 iommu_to_buf=330336, buf_to_buf=340800 buf_to_iommu=313408
[ 1.623147] tegra-pcie-dw-ep 14180000.pcie_ep: length=2097152 iommu_to_buf=372128, buf_to_buf=363680 buf_to_iommu=412768
[ 1.624368] tegra-pcie-dw-ep 14180000.pcie_ep: length=2097152 iommu_to_buf=421920, buf_to_buf=357376 buf_to_iommu=409152
[ 1.625486] tegra-pcie-dw-ep 14180000.pcie_ep: length=2097152 iommu_to_buf=368960, buf_to_buf=355872 buf_to_iommu=362208
[ 1.626564] tegra-pcie-dw-ep 14180000.pcie_ep: length=2097152 iommu_to_buf=362112, buf_to_buf=347968 buf_to_iommu=339456
[ 1.627780] tegra-pcie-dw-ep 14180000.pcie_ep: length=2097152 iommu_to_buf=356992, buf_to_buf=346432 buf_to_iommu=483552
[ 1.628955] tegra-pcie-dw-ep 14180000.pcie_ep: length=2097152 iommu_to_buf=352928, buf_to_buf=350624 buf_to_iommu=434976
[ 1.630045] tegra-pcie-dw-ep 14180000.pcie_ep: length=2097152 iommu_to_buf=330144, buf_to_buf=322816 buf_to_iommu=401120
[ 1.631218] tegra-pcie-dw-ep 14180000.pcie_ep: length=2097152 iommu_to_buf=354080, buf_to_buf=344288 buf_to_iommu=434848
[ 1.632552] tegra-pcie-dw-ep 14180000.pcie_ep: length=2097152 iommu_to_buf=445952, buf_to_buf=401664 buf_to_iommu=449984
[ 1.633781] tegra-pcie-dw-ep 14180000.pcie_ep: length=2097152 iommu_to_buf=392352, buf_to_buf=353760 buf_to_iommu=449216
[ 1.635686] tegra-pcie-dw-ep 14180000.pcie_ep: UPHY init failed for PCIe EP:-116
[ 1.905152] ehci-pci: EHCI PCI platform driver
can you show some way how to us pcie c0 as endpoint mode. thank you;