环境:使用版本r38.4, custom板卡参考p3971
我们参考p3971板卡设计了自己的板子,然后搭配p3834 SOM,使用uphy_tx13 连接了一个phy-aqr113c
在驱动加载的时候出现如下报错
nv@leopard:~$ sudo dmesg |grep “a808b10000”
[ 10.916217] nvethernet a808b10000.ethernet: Adding to iommu group 50
[ 10.958918] nvethernet a808b10000.ethernet: Virtualization is not enabled
[ 10.958922] nvethernet a808b10000.ethernet: failed to read skip mac reset flag, default 0
[ 10.958923] nvethernet a808b10000.ethernet: failed to read MDIO address
[ 10.958926] nvethernet a808b10000.ethernet: Failed to read nvida,pause_frames, so setting to default support as disable
[ 10.958927] nvethernet a808b10000.ethernet: Failed to read nvida,disable-rx-checksum, so setting to default - rx checksum offload enabled
[ 10.958929] nvethernet a808b10000.ethernet: setting to default DMA bit mask
[ 10.958933] nvethernet a808b10000.ethernet: max-platform-mtu DT entry missing, setting default 1500
[ 10.958962] nvethernet a808b10000.ethernet: failed to read UPHY GBE mode- default to 10G
[ 10.958979] nvethernet a808b10000.ethernet: failed to read or invalid MDC CR - default to 5
[ 10.958980] nvethernet a808b10000.ethernet: failed to read or invalid force-restart-lane-bringup - default to 0
[ 11.002414] nvethernet a808b10000.ethernet: Ethernet MAC index missing
[ 11.002473] nvethernet a808b10000.ethernet: Ethernet MAC address: 3c:6d:66:e4:3d:aa
[ 11.009163] nvethernet a808b10000.ethernet: VM IRQ is handled by Camera CPU: 4
[ 11.035001] nvethernet a808b10000.ethernet: DT info about vlan in clear is missing setting default-disabled
[ 11.036965] nvethernet a808b10000.ethernet: Macsec: Reduced MTU: 1466 Max: 1500
[ 11.040200] nvethernet a808b10000.ethernet: eth1 (HW ver: 42) created with 4 DMA channels
[ 11.471366] camrtc-coe tegra-capture-coe1: Camera Over Eth controller a808b10000.ethernet num_chans=5 IRQ=4
[ 12.413553] nvethernet a808b10000.ethernet: [poll_check][42][type:0x4][loga-0x0] poll_check: timeout
[ 12.426117] nvethernet a808b10000.ethernet: ether_open: failed to initialize MAC HW core with reason -1
这是我的dtb 配置
ethernet@a808b10000 {
compatible = "nvidia,tegra264-mgbe";
status = "okay";
reg = <0xa8 0x8b10000 0x00 0x10000 0xa8 0x8ba0000 0x00 0x10000 0xa8 0x8bd0000 0x00 0x10000 0xa8 0x8b00000 0x00 0x10000>;
reg-names = "mac\0xpcs\0macsec-base\0hypervisor";
interrupts = <0x00 0x36e 0x04 0x00 0x371 0x04 0x00 0x372 0x04 0x00 0x373 0x04 0x00 0x374 0x04 0x00 0x375 0x04 0x00 0x370 0x04 0x00 0x36f 0x04>;
interrupt-names = "common\0vm0\0vm1\0vm2\0vm3\0vm4\0macsec-ns-irq\0macsec-s-irq";
resets = <0x02 0x42 0x02 0x41 0x02 0x43>;
reset-names = "mac\0pcs\0macsec_ns_rst";
clocks = <0x02 0xdd 0x02 0x16b 0x02 0xdf 0x02 0xde 0x02 0xdc 0x02 0xd5 0x02 0x16f 0x02 0x16d 0x02 0x16c 0x02 0x170 0x02 0x16e 0x02 0x130 0x02 0x12c 0x02 0x1cc 0x02 0x1d0>;
clock-names = "mac\0tx\0mgbe\0macsec\0tx-pcs\0ptp-ref\0rx-input\0rx-pcs-input\0tx-m\0rx-input-m\0rx-pcs-m\0utmi_pll1_clk\0pll_bpmpcam\0tx_ser\0rx_ser";
power-domains = <0x02 0x0e>;
iommus = <0x139 0x1400>;
nvidia,num-dma-chans = <0x04>;
nvidia,dma-chans = <0x00 0x01 0x02 0x03>;
nvidia,num-mtl-queues = <0x0a>;
nvidia,mtl-queues = <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09>;
nvidia,tc-mapping = <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x00 0x01>;
nvidia,residual-queue = <0x01>;
nvidia,rxq_enable_ctrl = <0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02>;
nvidia,vm-irq-config = <0x151>;
nvidia,vm-vdma-config = <0x152>;
nvidia,tx-queue-prio = <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x00 0x00>;
nvidia,rx-queue-prio = <0x01 0x02 0x04 0x08 0x10 0x20 0x40 0x80 0x00 0x00>;
nvidia,dcs-enable = <0x01>;
nvidia,macsec-enable = <0x01>;
nvidia,mgbe-riit-config = <0x153>;
nvidia,rx_riwt = <0x200>;
nvidia,rx_frames = <0x40>;
nvidia,tx_usecs = <0x100>;
nvidia,tx_frames = <0x10>;
nvidia,promisc_mode = <0x01>;
nvidia,slot_num_check = <0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00>;
nvidia,slot_intvl_vals = <0x00 0x7d 0x7d 0x7d 0x7d 0x7d 0x7d 0x7d 0x7d>;
nvidia,ptp_ref_clock_speed = <0x12a05f20>;
nvidia,instance_id = <0x01>;
nvidia,ptp-rx-queue = <0x03>;
nvidia,dma_rx_ring_sz = <0x1000>;
nvidia,dma_tx_ring_sz = <0x1000>;
dma-coherent;
phy-handle = <0x154>;
nvidia,mac-addr-idx = <0x02>;
nvidia,uphy-gbe-mode = <0x01>;
nvidia,phy-iface-mode = <0x00>;
phy-mode = "10gbase-r";
nvidia,if-name = "mgbe1_0";
nvidia,force-restart-lane-bringup = <0x01>;
nvidia,phy-reset-gpio = <0x145 0x1c 0x00>;
phandle = <0x235>;
mdio {
status = "okay";
compatible = "nvidia,eqos-mdio";
#address-cells = <0x01>;
#size-cells = <0x00>;
phy@0 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0x00>;
#phy-cells = <0x00>;
phandle = <0x154>;
};
};
};
我感觉这是和uphy的配置有关,然后我查看了
tegra264-bpmp-3834-0008-3971-xxxx.dts
中默认使用的是
uphy {
status = "okay";
uphy0-config = <0x07>;
uphy1-config = <0x00>;
};
通过查看uphy1-lane-mapping-options
我尝试将uphy1-config = <0x00>; 改成 uphy1-config = <0x07>;然后重新烧录,发现烧录会报错提示bpm配置错误
我想请问一下这个p3971的板载应该怎么修改uphy1的功能
