PCIE Signal Connections for help

background:transmitting data throuhgh pcie between TX2 & FPGA(xilinx).we want to customize Carrier board and it use x4 pcie interface.
1、We only connected the data lanes,How to connect the remaining wires?
2、Can tx2 and fpga use their own pcie clock?

#1, you need to connect pex_rst (PCIe reset signal) that goes from TX2 to your FPGA and also REFCLK signals (differential signals) that also go from TX2 to your FPGA. For more information on these, please refer to board design guide. BTW, there is one more signal CLKREQ and whether you want it or not depends on whether you are going to have support for low power states. If you are in doubt, leave it.

#2, Nope. That is not a verified configuration. Please use the REFCLK coming from TX2

i cannot find the board design guide ,where is the link? thank you very much

REFCLK can only be measured when we restart tx2. we have no idea about it.What conditions are required for the clock to work properly?

https://developer.nvidia.com/embedded/dlc/jetson-tx2-series-modules-oem-product-design-guide document should have all the info. There are many other documents there. Please explore and see where you can find the info you are looking for.

I’m not sure what is meant by “REFCLK can only be measured when we restart tx2. we have no idea about it.What conditions are required for the clock to work properly?”
If you connect TX2’s REFCLK to FPGA, is there any issue observed?

if a pcie device is in the slot, the REFCLK will hold output.Is it possible to keep the REFCLK output? When no PCIe device is plugged into the slot.

You can remove ‘nvidia,enable-power-down’ from the respective PCIe controller’s node to keep REFCLK flowing into the slot even without any endpoint connected

i don’t know how to remove ‘nvidia,enable-power-down’ from PCIe node?

i find this in fromu. Is ‘enable-power-down’ in device tree? Can i use this method to remove it from PCIe controller node?

Create a dts:

dtc -I dtb -O dts -o modified_tegra186-quill-p3310-1000-c03-00-base.dts tegra186-quill-p3310-1000-c03-00-base.dtb

Edit modified_tegra186-quill-p3310-1000-c03-00-base.dts


dtc -I dts -O dtb -o new_tegra186-quill-p3310-1000-c03-00-base.dtb modified_tegra186-quill-p3310-1000-c03-00-base.dts

Copy it…perhaps save a backup first of the original tegra186-quill-p3310-1000-c03-00-base.dtb

cp new_tegra186-quill-p3310-1000-c03-00-base.dtb /where/ever/it/is/Linux_for_Tegra/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb

Flash as in the previous note…

this is my device tree, i cannot find ‘nvidia,enable-power-down’, but i find this,

I changed it to look like the Yellow part.The attachment is not modified
pcie-controller@10003000 {
compatible = “nvidia,tegra186-pcie”;
power-domains = <0xcd>;
device_type = “pci”;
reg = <0x0 0x10003000 0x0 0x800 0x0 0x10003800 0x0 0x800 0x0 0x40000000 0x0 0x10000000>;
reg-names = “pads”, “afi”, “cs”;
clocks = <0xd 0x4 0xd 0x3 0xd 0x261>;
clock-names = “afi”, “pcie”, “clk_m”;
resets = <0xd 0x1 0xd 0x1d 0xd 0x1e>;
reset-names = “afi”, “pcie”, “pciex”;
interrupts = <0x0 0x48 0x4 0x0 0x49 0x4>;
interrupt-names = “intr”, “msi”;
#interrupt-cells = <0x1>;
interrupt-map-mask = <0x0 0x0 0x0 0x0>;
interrupt-map = <0x0 0x0 0x0 0x0 0x1 0x0 0x48 0x4>;
#stream-id-cells = <0x1>;
bus-range = <0x0 0xff>;
#address-cells = <0x3>;
#size-cells = <0x2>;
ranges = <0x82000000 0x0 0x10000000 0x0 0x10000000 0x0 0x1000 0x82000000 0x0 0x10001000 0x0 0x10001000 0x0 0x1000 0x82000000 0x0 0x10004000 0x0 0x10004000 0x0 0x1000 0x81000000 0x0 0x0 0x0 0x50000000 0x0 0x10000 0x82000000 0x0 0x50100000 0x0 0x50100000 0x0 0x7f00000 0xc2000000 0x0 0x58000000 0x0 0x58000000 0x0 0x28000000>;
status = “okay”;
vddio-pexctl-aud-supply = <0xe>;
linux,phandle = <0x79>;
phandle = <0x79>;

	pci@1,0 {
		device_type = "pci";
		assigned-addresses = <0x82000800 0x0 0x10000000 0x0 0x1000>;
		reg = <0x800 0x0 0x0 0x0 0x0>;
		status = "okay";
		#address-cells = <0x3>;
		#size-cells = <0x2>;
		nvidia,num-lanes = <0x4>;
		nvidia,afi-ctl-offset = <0x110>;




mdified_tegra186-quill-p3310-1000-c03-00-base.txt (352 KB)

My method didn’t work.
I want the reference clock to keep output as soon as tx2 is turned on when no device is inserted into the card slot
I need modify the u-boot or the kernel?

my first carrier baord have problem

Can you please give the Jetpack release you are using and I can give a patch to disable controller power down with which you can achieve your objective of getting REFCLK without connecting any device also.