Hello,
I want to use rtl8822ce, but it was not detected.
I have some questions.
1.what’s the problem of ‘Phy link never came up’
2.PCIE2 have no clock signal
Please help me solve the problems,thanks.
these are my dtsi and logs
dmesg.txt (82.8 KB)
tegra234-p3768-0000-a0-pcie.dtsi.txt (1.8 KB)
kayccc
January 10, 2024, 8:59am
2
Any log and which JetPack SW you used?
hi,jetpack is 5.12
and also ,I have tried to modify p3767.conf.common
ODMDATA=“gbe-uphy-config-9,hsstp-lane-map-3,hsio-uphy-config-0”;
log and dtsi I just updated,thanks
Which pcie controller are you using for this card?
Do you have other PCIe card that can used to validated?
Sometimes specific PCIe WIFI card would need specific gpio to be enabled to make it work.
I have tested it with an oscilloscope and there is no clock waveform output,I think it It doesn’t work .and now I have no PCIe card to validate.
Thank you for your suggestion,I am currently verifying it。
hi, how to dump PADCTL_PEX_CTL_PEX_L*_CLKREQ_N_0 and PADCTL_PEX_CTL_PEX_L*_RST_N_0 pinmux values,I don’t know the values
please search something like PADCTL_PEX_CTL_PEX_L1_RST_N_0 in the Orin TRM document and it will give you the offset.
Choose the one you are using.
hi wayne
I follow the Debug PCIe Link-Up Failure
Triaging from Software side:
1.lspci
0007:00:00.0 PCI bridge: NVIDIA Corporation Device 229a (rev a1)
2.lspci -vvv
LnkSta: Speed 2.5GT/s (downgraded), Width x1 (ok)
TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
3.busybox devmem 0x02437010
0x00000470
busybox devmem 0x02437018
0x00000420
busybox devmem 0x02437020
0x00000415
busybox devmem 0x02437020
0x00000415
4.busybox devmem 0x141e00d0
0x00001818
5. pcie@141e0000 {
compatible = “nvidia,tegra234-pcie\0snps,dw-pcie”;
power-domains = <0x02 0x10>;
reg = <0x00 0x141e0000 0x00 0x20000 0x00 0x3e000000 0x00 0x40000 0x00 0x3e040000 0x00 0x40000 0x00 0x3e080000 0x00 0x40000 0x32 0x30000000 0x00 0x10000000>;
reg-names = “appl\0config\0atu_dma\0dbi\0ecam”;
status = “okay”;
#address-cells = <0x03>;
#size-cells = <0x02>;
device_type = “pci”;
num-lanes = <0x01>;
num-viewport = <0x08>;
linux,pci-domain = <0x07>;
clocks = <0x02 0xab 0x02 0xf4>;
clock-names = “core\0core_m”;
resets = <0x02 0x0f 0x02 0x0e>;
reset-names = “apb\0core”;
interrupts = <0x00 0x162 0x04 0x00 0x163 0x04>;
interrupt-names = “intr\0msi”;
interconnects = <0x03 0x2a 0x03 0x30>;
interconnect-names = “dma-mem\0dma-mem”;
iommus = <0x56 0x08>;
iommu-map = <0x00 0x56 0x08 0x1000>;
msi-parent = <0x53 0x08>;
msi-map = <0x00 0x53 0x08 0x1000>;
dma-coherent;
iommu-map-mask = <0x00>;
#interrupt-cells = <0x01>;
interrupt-map-mask = <0x00 0x00 0x00 0x00>;
interrupt-map = <0x00 0x00 0x00 0x00 0x01 0x00 0x162 0x04>;
nvidia,dvfs-tbl = <0xc28cb00 0xc28cb00 0xc28cb00 0xc28cb00 0xc28cb00 0xc28cb00 0xc28cb00 0x27ac4000 0xc28cb00 0xc28cb00 0x27ac4000 0x5f5e1000 0xc28cb00 0x27ac4000 0x5f5e1000 0x7f22ff40>;
nvidia,max-speed = <0x04>;
nvidia,disable-aspm-states = <0x0f>;
nvidia,controller-id = <0x02 0x07>;
nvidia,tsa-config = <0x200b004>;
nvidia,disable-l1-cpm;
nvidia,aux-clk-freq = <0x13>;
nvidia,preset-init = <0x05>;
nvidia,aspm-cmrt = <0x3c>;
nvidia,aspm-pwr-on-t = <0x14>;
nvidia,aspm-l0s-entrance-latency = <0x03>;
nvidia,bpmp = <0x02 0x07>;
nvidia,aspm-cmrt-us = <0x3c>;
nvidia,aspm-pwr-on-t-us = <0x14>;
nvidia,aspm-l0s-entrance-latency-us = <0x03>;
bus-range = <0x00 0xff>;
ranges = <0x81000000 0x00 0x3e100000 0x00 0x3e100000 0x00 0x100000 0x82000000 0x00 0x40000000 0x32 0x28000000 0x00 0x8000000 0xc3000000 0x2e 0x40000000 0x2e 0x40000000 0x03 0xe8000000>;
nvidia,cfg-link-cap-l1sub = <0x1c4>;
nvidia,cap-pl16g-status = <0x174>;
nvidia,cap-pl16g-cap-off = <0x188>;
nvidia,event-cntr-ctrl = <0x1d8>;
nvidia,event-cntr-data = <0x1dc>;
nvidia,dl-feature-cap = <0x30c>;
nvidia,ptm-cap-off = <0x318>;
vddio-pex-ctl-supply = <0x4b>;
phys = <0x59>;
phy-names = “p2u-0”;
max-link-speed = <0x03>;
phandle = <0x2fb>;
nvidia,disable-power-down;
};
Orin-jetson_orin_hdmia03_0109-gpio-default -1.dtsi.txt (3.1 KB)
Orin-jetson_orin_hdmia03_0109-padvoltage-default -1.dtsi.txt (2.4 KB)
Orin-jetson_orin_hdmia03_0109-pinmux -1.dtsi.txt (65.8 KB)
Can you provide some more suggestions?
Thanks again
by the way
to 3. Dump PADCTL_PEX_CTL_PEX_L _CLKREQ_N_0 and PADCTL_PEX_CTL_PEX_L _RST_N_0 pinmux values and check if settings are correct.**
I set is
Should I dump PADCTL_PEX_CTL_PEX_L2_CLKREQ_N_0?
busybox devmem 0x02437030
0x00000021
busybox devmem 0x02437038
0x00000415
Please check if changing nvidia,max-speed = <0x04>; to 0x1 (gen1 only) would make it work or not.
I just tried to modify it, but it didn’t work
Please check with vendor if there is wl-disable gpio needed to be enabled.
vendor hasn’t replied yet
but our hardware engineer say
wl-disable gpio is pulled up by default,also it can be pulled down,I should pull down it?
please also make sure your C7 pinmux setting is as below
pex_l7_clkreq_n_pag0 {
nvidia,pins = "pex_l7_clkreq_n_pag0";
- nvidia,function = "rsvd1";
+ nvidia,function = "pe7";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
- nvidia,tristate = <TEGRA_PIN_ENABLE>;
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
nvidia,lpdr = <TEGRA_PIN_DISABLE>;
pex_l7_rst_n_pag1 {
nvidia,pins = "pex_l7_rst_n_pag1";
- nvidia,function = "rsvd1";
+ nvidia,function = "pe7";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
- nvidia,tristate = <TEGRA_PIN_ENABLE>;
- nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
+ nvidia,enable-input = <TEGRA_PIN_DISABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
nvidia,lpdr = <TEGRA_PIN_DISABLE>;
okay,thnaks
I have modified my C7 pinmux
nvidia,tristate = <TEGRA_PIN_ENABLE>; → nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>; → nvidia,enable-input = <TEGRA_PIN_DISABLE>;
Should I pull down wl-disable gpio?