DRA829J: SGMII 5-8 interface not link in SDK9.2 for J721E

Part Number: DRA829J

1. we are using the TI DP83TG720 Ethernet PHY using the SGMII interface between the SOC and PHY 

2. apply TDA4VM: SGMII interface not communicating with PHY(DP83TG720) in SDK9.2 for J721E - Processors forum - Processors - TI E2E support forums, eth1-eth6 can link up ; but only  lane2 sgmii can link, lane5 - lane8 sgmii can not link ;

3. some content in k3-j721e-common-proc-board.dts

 

&serdes_ln_ctrl {
	idle-states = //<J721E_SERDES0_LANE0_PCIE0_LANE0>, <J721E_SERDES0_LANE1_PCIE0_LANE1>,
	          <J721E_SERDES0_LANE0_PCIE0_LANE0>, <J721E_SERDES0_LANE1_QSGMII_LANE2>,
		      <J721E_SERDES1_LANE0_PCIE1_LANE0>, <J721E_SERDES1_LANE1_PCIE1_LANE1>,
		      <J721E_SERDES2_LANE0_PCIE2_LANE0>, <J721E_SERDES2_LANE1_PCIE2_LANE1>,
		      <J721E_SERDES3_LANE0_USB3_0_SWAP>, <J721E_SERDES3_LANE1_USB3_0>,
		      //<J721E_SERDES4_LANE0_EDP_LANE0>, <J721E_SERDES4_LANE1_EDP_LANE1>,
			  <J721E_SERDES4_LANE0_QSGMII_LANE5>, <J721E_SERDES4_LANE1_QSGMII_LANE6>,
		      //<J721E_SERDES4_LANE2_EDP_LANE2>, <J721E_SERDES4_LANE3_EDP_LANE3>;
			  <J721E_SERDES4_LANE2_QSGMII_LANE7>, <J721E_SERDES4_LANE3_QSGMII_LANE8>;
};
&serdes_wiz3 {
	typec-dir-gpios = <&main_gpio1 3 GPIO_ACTIVE_HIGH>;
	typec-dir-debounce-ms = <700>;	/* TUSB321, tCCB_DEFAULT 133 ms
};

&serdes3 {
	serdes3_usb_link: phy@0 {
		reg = <0>;
		cdns,num-lanes = <2>;
		#phy-cells = <0>;
		cdns,phy-type = <PHY_TYPE_USB3>;
		resets = <&serdes_wiz3 1>, <&serdes_wiz3 2>;
	};
};

&cpsw0 {
        status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&main_mdio0_pins_default &main_rgmii2_pins_def

};


&cpsw9g_mdio {
        status = "okay";
        #address-cells = <1>;
        #size-cells = <0>;

        cpsw9g_phy0: ethernet-phy@4 {
        reg = <4>;
        };

		cpsw9g_phy3: ethernet-phy@13 {
        reg = <13>;
        };

		cpsw9g_phy5: ethernet-phy@5 {
        reg = <5>;
        };

		cpsw9g_phy6: ethernet-phy@8 {
        reg = <8>;
        };

		cpsw9g_phy7: ethernet-phy@10 {
        reg = <10>;
        };

		cpsw9g_phy8: ethernet-phy@12 {
        reg = <12>;
        };


};

&cpsw0_port1 {
	status = "disabled";
};

&cpsw0_port2 {
        status = "okay";
        phy-handle = <&cpsw9g_phy0>;
        phy-mode = "sgmii";
        mac-address = [00 00 00 00 00 00];
	    phys = <&cpsw0_phy_gmii_sel 2>, <&serdes0_sgmii_link>;
	    phy-names = "portmode", "serdes-phy";
};

&cpsw0_port3 {
	   status = "okay";
       phy-handle = <&cpsw9g_phy3>;
       phy-mode = "rgmii-id";
       mac-address = [00 00 00 00 00 00];
       phys = <&cpsw0_phy_gmii_sel 3>;
      
};  //rgmii

&cpsw0_port4 {
	status = "disabled";
};

&cpsw0_port5 {
	   status = "okay";
       phy-handle = <&cpsw9g_phy5>;
       phy-mode = "sgmii";
       mac-address = [00 00 00 00 00 00];
       phys = <&cpsw0_phy_gmii_sel 5>, <&serdes4_sgmii_link>;
       phy-names = "portmode", "serdes-phy";
};

&cpsw0_port6 {
	   status = "okay";
       phy-handle = <&cpsw9g_phy6>;
       phy-mode = "sgmii";
       mac-address = [00 00 00 00 00 00];
       phys = <&cpsw0_phy_gmii_sel 6>, <&serdes4_sgmii_link>;
       phy-names = "portmode", "serdes-phy";
};

&cpsw0_port7 {
	   status = "okay";
       phy-handle = <&cpsw9g_phy7>;
       phy-mode = "sgmii";
       mac-address = [00 00 00 00 00 00];
       phys = <&cpsw0_phy_gmii_sel 7>, <&serdes4_sgmii_link>;
       phy-names = "portmode", "serdes-phy";
};

&cpsw0_port8 {
	   status = "okay";
       phy-handle = <&cpsw9g_phy8>;
       phy-mode = "sgmii";
       mac-address = [00 00 00 00 00 00];
       phys = <&cpsw0_phy_gmii_sel 8>, <&serdes4_sgmii_link>;
       phy-names = "portmode", "serdes-phy";
};

&mcu_cpsw {
	pinctrl-names = "default";
	pinctrl-0 = <&mcu_cpsw_pins_default &mcu_mdio_pins_default>;

	cpts@3d000 {
		/* Map HW4_TS_PUSH to GENF1 */
		ti,pps = <3 1>;
	};
};

&davinci_mdio {
	phy0: ethernet-phy@0 {
		reg = <0>;
		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
	};
};

&cpsw_port1 {
	phy-mode = "rgmii-rxid";
	phy-handle = <&phy0>;
};

&dss {
	/*
	 * These clock assignments are chosen to enable the following outputs:
	 *
	 * VP0 - DisplayPort SST
	 * VP1 - DPI0
	 * VP2 - DSI
	 * VP3 - DPI1
	 */

	assigned-clocks = <&k3_clks 152 1>,
			  <&k3_clks 152 4>,
			  <&k3_clks 152 9>,
			  <&k3_clks 152 13>;
	assigned-clock-parents = <&k3_clks 152 2>,	/* PLL16_HSDIV0 */
				 <&k3_clks 152 6>,	/* PLL19_HSDIV0 */
				 <&k3_clks 152 11>,	/* PLL18_HSDIV0 */
				 <&k3_clks 152 18>;	/* PLL23_HSDIV0 */
};

&dss_ports {
	port {
		dpi0_out: endpoint {
			remote-endpoint = <&dp0_in>;
		};
	};
};

&dp0_ports {
	#address-cells = <1>;
	#size-cells = <0>;

	port@0 {
		reg = <0>;
		dp0_in: endpoint {
			remote-endpoint = <&dpi0_out>;
		};
	};

	port@4 {
		reg = <4>;
		dp0_out: endpoint {
			remote-endpoint = <&dp_connector_in>;
		};
	};
};

&mcasp10 {
	status = "okay";
	#sound-dai-cells = <0>;

	pinctrl-names = "default";
	pinctrl-0 = <&mcasp10_pins_default>;

	op-mode = <0>;          /* MCASP_IIS_MODE */
	tdm-slots = <2>;
	auxclk-fs-ratio = <256>;

	serial-dir = <	/* 0: INACTIVE, 1: TX, 2: RX */
		1 1 1 1
		2 2 2 0
	>;
	tx-num-evt = <0>;
	rx-num-evt = <0>;
};

&cmn_refclk1 {
	clock-frequency = <100000000>;
};
/*
&wiz0_pll1_refclk {
	assigned-clocks = <&wiz0_pll1_refclk>;
	assigned-clock-parents = <&cmn_refclk1>;
};
*/
&wiz0_refclk_dig {
	assigned-clocks = <&wiz0_refclk_dig>;
	assigned-clock-parents = <&cmn_refclk1>;
};

&wiz1_pll1_refclk {
	assigned-clocks = <&wiz1_pll1_refclk>;
	assigned-clock-parents = <&cmn_refclk1>;
};

&wiz1_refclk_dig {
	assigned-clocks = <&wiz1_refclk_dig>;
	assigned-clock-parents = <&cmn_refclk1>;
};

&wiz2_pll1_refclk {
	assigned-clocks = <&wiz2_pll1_refclk>;
	assigned-clock-parents = <&cmn_refclk1>;
};

&wiz2_refclk_dig {
	assigned-clocks = <&wiz2_refclk_dig>;
	assigned-clock-parents = <&cmn_refclk1>;
};
&serdes_wiz0 {
	status = "okay";
};

&serdes_wiz1 {
	status = "disabled";
};

&serdes_wiz2 {
	status = "disabled";
};

&serdes_wiz4 {
	status = "okay";
};
&serdes0 {
	status = "okay";
	assigned-clocks = <&serdes0 CDNS_SIERRA_PLL_CMNLC>,<&serdes0 CDNS_SIERRA_PLL_CMNLC1>;
	assigned-clock-parents = <&wiz0_pll1_refclk>,<&wiz0_pll1_refclk>;

	serdes0_pcie_link: phy@0 {
		reg = <0>;
        cdns,num-lanes = <1>;
        #phy-cells = <0>;
        cdns,phy-type = <PHY_TYPE_PCIE>;
        resets = <&serdes_wiz0 1>;
    };
	serdes0_sgmii_link: phy@1 {
		reg = <1>;
		cdns,num-lanes = <1>;
		#phy-cells = <0>;
		cdns,phy-type = <PHY_TYPE_SGMII>;
		resets = <&serdes_wiz0 2>;
	};
};

&serdes1 {
	assigned-clocks = <&serdes1 CDNS_SIERRA_PLL_CMNLC>;
	assigned-clock-parents = <&wiz1_pll1_refclk>;
    status = "disabled";
	serdes1_pcie_link: phy@0 {
		reg = <0>;
		cdns,num-lanes = <2>;
		#phy-cells = <0>;
		cdns,phy-type = <PHY_TYPE_PCIE>;
		resets = <&serdes_wiz1 1>, <&serdes_wiz1 2>;
	};
};

&serdes2 {
	status = "disabled";
	assigned-clocks = <&serdes2 CDNS_SIERRA_PLL_CMNLC>;
	assigned-clock-parents = <&wiz2_pll1_refclk>;

	serdes2_pcie_link: phy@0 {
		reg = <0>;
		cdns,num-lanes = <2>;
		#phy-cells = <0>;
		cdns,phy-type = <PHY_TYPE_PCIE>;
		resets = <&serdes_wiz2 1>, <&serdes_wiz2 2>;
	};
};
&serdes4 {
	status = "okay";
	assigned-clocks = <&serdes4 CDNS_SIERRA_PLL_CMNLC>;
    assigned-clock-parents = <&wiz4_pll0_refclk>;

	serdes4_sgmii_link: phy@0 {
		reg = <0>;
		cdns,num-lanes = <4>;
		#phy-cells = <0>;
		cdns,phy-type = <PHY_TYPE_SGMII>;
		resets = <&serdes_wiz4 1>, <&serdes_wiz4 2>, <&serdes_wiz4 3>, <&serdes_wiz4 4>;
	};
};

4.some content in k3-j721e-main.dts

 

	serdes_wiz4: wiz@5050000 {
		//compatible = "ti,am64-wiz-10g";
		compatible = "ti,j721e-wiz-10g";
		#address-cells = <1>;
		#size-cells = <1>;
		power-domains = <&k3_pds 297 TI_SCI_PD_EXCLUSIVE>;
		clocks = <&k3_clks 297 1>, <&k3_clks 297 9>, <&cmn_refc
		clock-names = "fck", "core_ref_clk", "ext_ref_clk";
		assigned-clocks = <&k3_clks 297 9>;
		//assigned-clock-parents = <&k3_clks 297 10>;
		assigned-clock-parents = <&k3_clks 297 13>;
		assigned-clock-rates = <19200000>;
		num-lanes = <4>;
		#reset-cells = <1>;
		//#clock-cells = <1>;
		ranges = <0x05050000 0x00 0x05050000 0x010000>,
			<0x0a030a00 0x00 0x0a030a00 0x40>;

		wiz4_pll0_refclk: pll0-refclk {
			clocks = <&k3_clks 297 9>, <&cmn_refclk>;
			clock-output-names = "wiz4_pll0_refclk";
			#clock-cells = <0>;
			assigned-clocks = <&wiz4_pll0_refclk>;
			assigned-clock-parents = <&k3_clks 297 9>;
		};

		wiz4_pll1_refclk: pll1-refclk {
			clocks = <&k3_clks 297 9>, <&cmn_refclk>;
			clock-output-names = "wiz4_pll1_refclk";
			#clock-cells = <0>;
			assigned-clocks = <&wiz4_pll1_refclk>;
			assigned-clock-parents = <&k3_clks 297 9>;
		};

		wiz4_refclk_dig: refclk-dig {
			clocks = <&k3_clks 297 9>, <&cmn_refclk>;
			clock-output-names = "wiz4_refclk_dig";
			#clock-cells = <0>;
			assigned-clocks = <&wiz4_refclk_dig>;
			assigned-clock-parents = <&k3_clks 297 9>;
		};

		wiz4_cmn_refclk_dig_div: cmn-refclk-dig-div {
			clocks = <&wiz4_refclk_dig>;
			#clock-cells = <0>;
		};

		wiz4_cmn_refclk1_dig_div: cmn-refclk1-dig-div {
			clocks = <&wiz4_pll1_refclk>;
			#clock-cells = <0>;
		};


		serdes4: serdes@5050000 {
			/*
			 * Note: we also map DPTX PHY registers as the Torr
			 * needs to manage those.
			 */
			compatible = "ti,j721e-serdes-10g";
			reg = <0x05050000 0x010000>,
			      <0x0a030a00 0x40>; /* DPTX PHY */
			reg-names = "torrent_phy", "dptx_phy";

			resets = <&serdes_wiz4 0>;
			reset-names = "torrent_reset";
			//clocks = <&serdes_wiz4 TI_WIZ_PLL0_REFCLK>;
			clocks = <&wiz4_pll0_refclk>;
			clock-names = "refclk";
		/*  assigned-clocks = <&serdes_wiz4 TI_WIZ_PLL0_REFCLK>
					  <&serdes_wiz4 TI_WIZ_PLL1_REFCLK>,
					  <&serdes_wiz4 TI_WIZ_REFCLK_DIG>;
			assigned-clock-parents = <&k3_clks 297 9>,
						 <&k3_clks 297 9>,
						 <&k3_clks 297 9>;

		*/
			#address-cells = <1>;
			#size-cells = <0>;
		};
	};

5. dmesg | grep eth 

 

   0.000000] OF: reserved mem: initialized node vision-apps-r5f-virtual-eth-queues@e4000000, compatible id shared-dma-pool
[    0.000000] OF: reserved mem: initialized node vision-apps-r5f-virtual-eth-buffers@e4800000, compatible id shared-dma-pool
[    0.000000] psci: probing for conduit method from DT.
[    0.832840] optee: probing for conduit method.
[    2.312482] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA00101, cpsw version 0x6BA80100 Ports: 2 quirks:00000000
[    2.325296] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 1.4
[    2.332501] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64
[    2.342905] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a010a, freq:500000000, add_val:1 pps:1
[    3.787172] am65-cpsw-nuss c000000.ethernet: initializing am65 cpsw nuss version 0x6BA01901, cpsw version 0x6BA80101 Ports: 9 quirks:00000000
[    3.799961] am65-cpsw-nuss c000000.ethernet: Use random MAC address
[    3.806283] am65-cpsw-nuss c000000.ethernet: Use random MAC address
[    3.812595] am65-cpsw-nuss c000000.ethernet: Use random MAC address
[    3.818904] am65-cpsw-nuss c000000.ethernet: Use random MAC address
[    3.825211] am65-cpsw-nuss c000000.ethernet: Use random MAC address
[    3.831518] am65-cpsw-nuss c000000.ethernet: Use random MAC address
[    3.837777] am65-cpsw-nuss c000000.ethernet: initialized cpsw ale version 1.4
[    3.844895] am65-cpsw-nuss c000000.ethernet: ALE Table size 512
[    3.851235] am65-cpsw-nuss c000000.ethernet: CPTS ver 0x4e8a010a, freq:200000000, add_val:4 pps:0
[    4.064472] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA00101, cpsw version 0x6BA80100 Ports: 2 quirks:00000000
[    4.077300] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 1.4
[    4.084512] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64
[    4.094873] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a010a, freq:500000000, add_val:1 pps:1
[    4.105409] am65-cpsw-nuss 46000000.ethernet: set new flow-id-base 48
[    5.551306] am65-cpsw-nuss c000000.ethernet: initializing am65 cpsw nuss version 0x6BA01901, cpsw version 0x6BA80101 Ports: 9 quirks:00000000
[    5.564121] am65-cpsw-nuss c000000.ethernet: Use random MAC address
[    5.570440] am65-cpsw-nuss c000000.ethernet: Use random MAC address
[    5.576756] am65-cpsw-nuss c000000.ethernet: Use random MAC address
[    5.583063] am65-cpsw-nuss c000000.ethernet: Use random MAC address
[    5.589370] am65-cpsw-nuss c000000.ethernet: Use random MAC address
[    5.595687] am65-cpsw-nuss c000000.ethernet: Use random MAC address
[    5.601944] am65-cpsw-nuss c000000.ethernet: initialized cpsw ale version 1.4
[    5.609061] am65-cpsw-nuss c000000.ethernet: ALE Table size 512
[    5.615373] am65-cpsw-nuss c000000.ethernet: CPTS ver 0x4e8a010a, freq:200000000, add_val:4 pps:0
[    5.626254] am65-cpsw-nuss c000000.ethernet: set new flow-id-base 140
[    7.020162] systemd[1]: /lib/systemd/system/bt-enable.service:9: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
[    7.074647] systemd[1]: /etc/systemd/system/sync-clocks.service:11: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
[   11.359630] am65-cpsw-nuss c000000.ethernet eth6: PHY [c000f00.mdio:0c] driver [TI DP83TG720CS1.1] (irq=POLL)
[   11.369739] am65-cpsw-nuss c000000.ethernet eth6: configuring for phy/sgmii link mode
[   11.895230] am65-cpsw-nuss c000000.ethernet eth5: PHY [c000f00.mdio:0a] driver [TI DP83TG720CS1.1] (irq=POLL)
[   11.905253] am65-cpsw-nuss c000000.ethernet eth5: configuring for phy/sgmii link mode
[   12.361748] am65-cpsw-nuss c000000.ethernet eth4: PHY [c000f00.mdio:08] driver [TI DP83TG720CS1.1] (irq=POLL)
[   12.383482] am65-cpsw-nuss c000000.ethernet eth4: configuring for phy/sgmii link mode
[   13.031459] am65-cpsw-nuss c000000.ethernet eth3: PHY [c000f00.mdio:05] driver [TI DP83TG720CS1.1] (irq=POLL)
[   13.041533] am65-cpsw-nuss c000000.ethernet eth3: configuring for phy/sgmii link mode
[   13.486003] am65-cpsw-nuss c000000.ethernet eth2: PHY [c000f00.mdio:0d] driver [TI DP83TG720CS1.1] (irq=POLL)
[   13.496252] am65-cpsw-nuss c000000.ethernet eth2: configuring for phy/rgmii-id link mode
[   13.903279] am65-cpsw-nuss c000000.ethernet eth1: PHY [c000f00.mdio:04] driver [TI DP83TG720CS1.1] (irq=POLL)
[   13.913322] am65-cpsw-nuss c000000.ethernet eth1: configuring for phy/sgmii link mode
[   13.969159] am65-cpsw-nuss 46000000.ethernet eth0: validation of rgmii-rxid with support 00000000,00000000,00006280 and advertisement 00000000,00000000,00002280 failed: -EINVAL
[   18.536994] am65-cpsw-nuss c000000.ethernet eth4: Link is Up - 1Gbps/Full - flow control off
[   18.545464] IPv6: ADDRCONF(NETDEV_CHANGE): eth4: link becomes ready
root@j721e-evm:~#

6 ethtool eth4 (lane 5)

Settings for eth4:
        Supported ports: [ TP    MII ]
        Supported link modes:   1000baseT/Full
        Supported pause frame use: Symmetric
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  Not reported
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Auto-negotiation: off
        Port: Twisted Pair
        PHYAD: 8
        Transceiver: external
        MDI-X: Unknown
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x000020f7 (8439)
                               drv probe link ifdown ifup rx_err tx_err hw
        Link detected: yes

7. only port2 sgmii can link 

root@j721e-evm:~# devmem2 0x0c000214
/dev/mem opened.
Memory mapped at address 0xffff96515000.
Read at address  0x0C000214 (0xffff96515214): 0x0000003D
root@j721e-evm:~# devmem2 0x0c000514
/dev/mem opened.
Memory mapped at address 0xffffbc7ba000.
Read at address  0x0C000514 (0xffffbc7ba514): 0x00000000
root@j721e-evm:~# devmem2 0x0c000614
/dev/mem opened.
Memory mapped at address 0xffff886d8000.
Read at address  0x0C000614 (0xffff886d8614): 0x0000003C
root@j721e-evm:~# devmem2 0x0c000714
/dev/mem opened.
Memory mapped at address 0xffff962d7000.
Read at address  0x0C000714 (0xffff962d7714): 0x00000000
root@j721e-evm:~# devmem2 0x0c000814
/dev/mem opened.
Memory mapped at address 0xffffad207000.
Read at address  0x0C000814 (0xffffad207814): 0x00000000
root@j721e-evm:~# devmem2 0x0c000314
/dev/mem opened.
Memory mapped at address 0xffff920f0000.
Read at address  0x0C000314 (0xffff920f0314): 0x00000028
root@j721e-evm:~#
 

8. question:

 Can you help me check the DTS content,and tell me what modifications should be do can make SGMII 5/6/7/8 work, thanks.

  • 感谢您对TI产品的关注。
    我们正在核实您的问题,请等待我们的答复。

  • 补充一下: serdes4 的时钟输出如下,是正确的吗?

    root@j721e-evm:~# k3conf dump clock 297
    |------------------------------------------------------------------------------|
    | VERSION INFO                                                                 |
    |------------------------------------------------------------------------------|
    | K3CONF | (version 0.3-nogit built Wed Mar 06 14:29:58 UTC 2024)              |
    | SoC    | J721E SR1.1                                                         |
    | SYSFW  | ABI: 3.1 (firmware version 0x0009 '9.2.4--v09.02.04 (Kool Koala))') |
    |------------------------------------------------------------------------------|
    
    |----------------------------------------------------------------------------------------------------------------------------------|
    | Device ID | Clock ID | Clock Name                                                            | Status          | Clock Frequency |
    |----------------------------------------------------------------------------------------------------------------------------------|
    |   297     |     0    | DEV_SERDES_10G0_IP1_LN3_TXCLK                                         | CLK_STATE_READY | 0               |
    |   297     |     1    | DEV_SERDES_10G0_CLK                                                   | CLK_STATE_READY | 125000000       |
    |   297     |     2    | DEV_SERDES_10G0_IP3_LN2_TXCLK                                         | CLK_STATE_READY | 0               |
    |   297     |     3    | DEV_SERDES_10G0_IP1_LN2_TXCLK                                         | CLK_STATE_READY | 0               |
    |   297     |     4    | DEV_SERDES_10G0_IP1_LN0_TXCLK                                         | CLK_STATE_READY | 0               |
    |   297     |     5    | DEV_SERDES_10G0_IP3_LN1_TXCLK                                         | CLK_STATE_READY | 0               |
    |   297     |     6    | DEV_SERDES_10G0_IP3_LN3_TXCLK                                         | CLK_STATE_READY | 0               |
    |   297     |     7    | DEV_SERDES_10G0_IP3_LN0_TXCLK                                         | CLK_STATE_READY | 0               |
    |   297     |     8    | DEV_SERDES_10G0_IP1_LN1_TXCLK                                         | CLK_STATE_READY | 0               |
    |   297     |     9    | DEV_SERDES_10G0_CORE_REF_CLK                                          | CLK_STATE_READY | 19200000        |
    |   297     |    10    | DEV_SERDES_10G0_CORE_REF_CLK_PARENT_GLUELOGIC_HFOSC0_CLKOUT           | CLK_STATE_READY | 19200000        |
    |   297     |    11    | DEV_SERDES_10G0_CORE_REF_CLK_PARENT_BOARD_0_HFOSC1_CLK_OUT            | CLK_STATE_READY | 0               |
    |   297     |    12    | DEV_SERDES_10G0_CORE_REF_CLK_PARENT_HSDIV4_16FFT_MAIN_3_HSDIVOUT4_CLK | CLK_STATE_READY | 153846153       |
    |   297     |    13    | DEV_SERDES_10G0_CORE_REF_CLK_PARENT_HSDIV4_16FFT_MAIN_2_HSDIVOUT4_CLK | CLK_STATE_READY | 100000000       |
    |   297     |    14    | DEV_SERDES_10G0_IP1_LN1_REFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    15    | DEV_SERDES_10G0_IP1_LN2_RXCLK                                         | CLK_STATE_READY | 0               |
    |   297     |    16    | DEV_SERDES_10G0_IP3_LN1_TXFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    17    | DEV_SERDES_10G0_IP1_LN0_RXFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    18    | DEV_SERDES_10G0_IP1_LN3_RXCLK                                         | CLK_STATE_READY | 0               |
    |   297     |    19    | DEV_SERDES_10G0_IP3_LN3_RXCLK                                         | CLK_STATE_READY | 0               |
    |   297     |    20    | DEV_SERDES_10G0_IP3_LN1_TXMCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    21    | DEV_SERDES_10G0_IP3_LN3_RXFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    22    | DEV_SERDES_10G0_IP3_LN3_REFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    23    | DEV_SERDES_10G0_IP3_LN2_RXCLK                                         | CLK_STATE_READY | 0               |
    |   297     |    24    | DEV_SERDES_10G0_IP1_LN0_TXFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    25    | DEV_SERDES_10G0_IP3_LN3_TXMCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    26    | DEV_SERDES_10G0_IP3_LN1_RXFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    27    | DEV_SERDES_10G0_IP3_LN0_RXFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    28    | DEV_SERDES_10G0_IP1_LN1_TXMCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    29    | DEV_SERDES_10G0_IP1_LN1_RXFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    30    | DEV_SERDES_10G0_IP3_LN3_TXFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    31    | DEV_SERDES_10G0_IP1_LN3_TXFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    32    | DEV_SERDES_10G0_IP1_LN3_TXMCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    33    | DEV_SERDES_10G0_IP3_LN1_REFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    34    | DEV_SERDES_10G0_IP3_LN0_REFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    35    | DEV_SERDES_10G0_IP1_LN3_REFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    36    | DEV_SERDES_10G0_IP3_LN0_RXCLK                                         | CLK_STATE_READY | 0               |
    |   297     |    37    | DEV_SERDES_10G0_IP3_LN2_REFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    38    | DEV_SERDES_10G0_IP1_LN0_RXCLK                                         | CLK_STATE_READY | 0               |
    |   297     |    39    | DEV_SERDES_10G0_IP1_LN0_REFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    40    | DEV_SERDES_10G0_IP1_LN2_RXFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    41    | DEV_SERDES_10G0_IP1_LN1_TXFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    42    | DEV_SERDES_10G0_IP3_LN0_TXFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    43    | DEV_SERDES_10G0_REF_OUT_CLK                                           | CLK_STATE_READY | 0               |
    |   297     |    44    | DEV_SERDES_10G0_IP3_LN1_RXCLK                                         | CLK_STATE_READY | 0               |
    |   297     |    45    | DEV_SERDES_10G0_IP1_LN2_TXFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    46    | DEV_SERDES_10G0_IP1_LN0_TXMCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    47    | DEV_SERDES_10G0_IP3_LN2_RXFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    48    | DEV_SERDES_10G0_IP1_LN2_TXMCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    49    | DEV_SERDES_10G0_IP3_LN2_TXMCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    50    | DEV_SERDES_10G0_IP1_LN2_REFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    51    | DEV_SERDES_10G0_IP3_LN2_TXFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    52    | DEV_SERDES_10G0_IP3_LN0_TXMCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    53    | DEV_SERDES_10G0_IP1_LN3_RXFCLK                                        | CLK_STATE_READY | 0               |
    |   297     |    54    | DEV_SERDES_10G0_IP1_LN1_RXCLK                                         | CLK_STATE_READY | 0               |
    |----------------------------------------------------------------------------------------------------------------------------------|
    

  • 您好,

    你能检查寄存器 "0x0505E000" 的值吗?请你也试着在时钟方面将 serdes4 节点与此进行匹配。

    		serdes0: serdes@5060000 {
    			compatible = "ti,j721e-serdes-10g";
    			reg = <0x05060000 0x00010000>;
    			reg-names = "torrent_phy";
    			resets = <&serdes_wiz0 0>;
    			reset-names = "torrent_reset";
    			clocks = <&wiz0_pll0_refclk>;
    			clock-names = "refclk";
    			#address-cells = <1>;
    			#size-cells = <0>;
    		};

    serdes4 的时钟输出如下,是正确的吗?

    这是用于串行解串设备的输入时钟。这是正确的。我们将通过我提到的寄存器更深入了解串行解串设备的内部相位锁定环(PLLs)。

  • 1.

    root@j721e-evm:~# devmem2 0x0505E000
    /dev/mem opened.
    Memory mapped at address 0xffff8bf7e000.
    Read at address 0x0505E000 (0xffff8bf7e000): 0x000C0000

    2.请问这个时钟配置有问题吗?? 5050000还是50560000啊??

    serdes_wiz4: wiz@5050000 {
    	compatible = "ti,am64-wiz-10g";
    	//compatible = "ti,j721e-wiz-10g";
    	#address-cells = <1>;
    	#size-cells = <1>;
    	power-domains = <&k3_pds 297 TI_SCI_PD_EXCL
    	clocks = <&k3_clks 297 1>, <&k3_clks 297 9>
    	clock-names = "fck", "core_ref_clk", "ext_r
    	assigned-clocks = <&k3_clks 297 9>;
    	assigned-clock-parents = <&k3_clks 297 13>;
    	assigned-clock-rates = <19200000>;
    	num-lanes = <4>;
    	#reset-cells = <1>;
    	#clock-cells = <1>;
    	ranges = <0x05050000 0x00 0x05050000 0x0100
    		<0x0a030a00 0x00 0x0a030a00 0x40>;
    	
    	wiz4_pll0_refclk: pll0-refclk {
    		clocks = <&k3_clks 297 9>, <&cmn_refclk
    		clock-output-names = "wiz4_pll0_refclk"
    		#clock-cells = <0>;
    		assigned-clocks = <&wiz4_pll0_refclk>;
    		assigned-clock-parents = <&k3_clks 297 
    	};
    	wiz4_pll1_refclk: pll1-refclk {
    		clocks = <&k3_clks 297 9>, <&cmn_refclk
    		clock-output-names = "wiz4_pll1_refclk"
    		#clock-cells = <0>;
    		assigned-clocks = <&wiz4_pll1_refclk>;
    		assigned-clock-parents = <&k3_clks 297 
    	};
    	wiz4_refclk_dig: refclk-dig {
    		clocks = <&k3_clks 297 9>, <&cmn_refclk
    		clock-output-names = "wiz4_refclk_dig";
    		#clock-cells = <0>;
    		assigned-clocks = <&wiz4_refclk_dig>;
    		assigned-clock-parents = <&k3_clks 297 
    	};
    	wiz4_cmn_refclk_dig_div: cmn-refclk-dig-div
    		clocks = <&wiz4_refclk_dig>;
    		#clock-cells = <0>;
    	};
    	wiz4_cmn_refclk1_dig_div: cmn-refclk1-dig-d
    		clocks = <&wiz4_pll1_refclk>;
    		#clock-cells = <0>;
    	};
        
    	serdes4: serdes@5050000 {
    		/*
    		 * Note: we also map DPTX PHY registers
    		 * needs to manage those.
    		 */
    		compatible = "ti,j721e-serdes-10g";
    		reg = <0x05050000 0x010000>,
    		      <0x0a030a00 0x40>; /* DPTX PHY */
    		reg-names = "torrent_phy", "dptx_phy";
    		resets = <&serdes_wiz4 0>;
    		reset-names = "torrent_reset";
    	//	clocks = <&serdes_wiz4 TI_WIZ_PLL0_REFC
    	  clocks = <&wiz4_pll0_refclk>;
    		clock-names = "refclk";
    	/*	assigned-clocks = <&serdes_wiz4 TI_WIZ_
    				  <&serdes_wiz4 TI_WIZ_PLL1_REF
    				  <&serdes_wiz4 TI_WIZ_REFCLK_D
    		assigned-clock-parents = <&k3_clks 297 
    					 <&k3_clks 297 9>,
    					 <&k3_clks 297 9>;
    	*/
    		#address-cells = <1>;
    		#size-cells = <0>;
    	};

  • 您好,

    Read at address 0x0505E000 (0xffff8bf7e000): 0x000C0000

    这意味着serdes PLLs没有正确锁定。

    这是在设备树更改后的值吗?如果不是,您能检查一下设备树更改后的值吗?

  • 1. 设备树是按照如下设置的,读0x0505E000 寄存器的值都是0x000C0000,

    serdes_wiz4: wiz@5050000 {
    	//compatible = "ti,am64-wiz-10g";
    	compatible = "ti,j721e-wiz-10g";
    	#address-cells = <1>;
    	#size-cells = <1>;
    	power-domains = <&k3_pds 297 TI_SCI_PD_EXCLUSIVE>;
    	clocks = <&k3_clks 297 1>, <&k3_clks 297 9>, <&cmn_refclk>;
    	clock-names = "fck", "core_ref_clk", "ext_ref_clk";
    	assigned-clocks = <&k3_clks 297 9>;
    	assigned-clock-parents = <&k3_clks 297 10>;
    	assigned-clock-rates = <19200000>;
    	num-lanes = <4>;
    	#reset-cells = <1>;
    	#clock-cells = <1>;
    	ranges = <0x05050000 0x00 0x05050000 0x010000>,
    		<0x0a030a00 0x00 0x0a030a00 0x40>;
    	
    	wiz4_pll0_refclk: pll0-refclk {
    		clocks = <&k3_clks 297 9>, <&cmn_refclk>;
    		clock-output-names = "wiz4_pll0_refclk";
    		#clock-cells = <0>;
    		assigned-clocks = <&wiz4_pll0_refclk>;
    		assigned-clock-parents = <&k3_clks 297 9>;
    	};
    	wiz4_pll1_refclk: pll1-refclk {
    		clocks = <&k3_clks 297 9>, <&cmn_refclk>;
    		clock-output-names = "wiz4_pll1_refclk";
    		#clock-cells = <0>;
    		assigned-clocks = <&wiz4_pll1_refclk>;
    		assigned-clock-parents = <&k3_clks 297 9>;
    	};
    	wiz4_refclk_dig: refclk-dig {
    		clocks = <&k3_clks 297 9>, <&cmn_refclk>;
    		clock-output-names = "wiz4_refclk_dig";
    		#clock-cells = <0>;
    		assigned-clocks = <&wiz4_refclk_dig>;
    		assigned-clock-parents = <&k3_clks 297 9>;
    	};
    	wiz4_cmn_refclk_dig_div: cmn-refclk-dig-div {
    		clocks = <&wiz4_refclk_dig>;
    		#clock-cells = <0>;
    	};
    	wiz4_cmn_refclk1_dig_div: cmn-refclk1-dig-div {
    		clocks = <&wiz4_pll1_refclk>;
    		#clock-cells = <0>;
    	};
        
    	serdes4: serdes@5050000 {
    		/*
    		 * Note: we also map DPTX PHY registers as the Torrent
    		 * needs to manage those.
    		 */
    		compatible = "ti,j721e-serdes-10g";
    		reg = <0x05050000 0x010000>,
    		      <0x0a030a00 0x40>; /* DPTX PHY */
    		reg-names = "torrent_phy", "dptx_phy";
    		resets = <&serdes_wiz4 0>;
    		reset-names = "torrent_reset";
    	//	clocks = <&serdes_wiz4 TI_WIZ_PLL0_REFCLK>;
    	    clocks = <&wiz4_pll0_refclk>;
    		clock-names = "refclk";
    	/*	assigned-clocks = <&serdes_wiz4 TI_WIZ_PLL0_REFCLK>,
    				  <&serdes_wiz4 TI_WIZ_PLL1_REFCLK>,
    				  <&serdes_wiz4 TI_WIZ_REFCLK_DIG>;
    		assigned-clock-parents = <&k3_clks 297 9>,
    					 <&k3_clks 297 9>,
    					 <&k3_clks 297 9>;
    	*/
    		#address-cells = <1>;
    		#size-cells = <0>;
    	};
    };

    2. 另外发现assigned-clock-parents = <&k3_clks 297 13>;后

    ot@j721e-evm:~# k3conf dump clock 297
    |------------------------------------------------------------------------------|
    | VERSION INFO                                                                 |
    |------------------------------------------------------------------------------|
    | K3CONF | (version 0.3-nogit built Thu Jul 25 14:13:02 UTC 2024)              |
    | SoC    | J721E SR1.1                                                         |
    | SYSFW  | ABI: 4.0 (firmware version 0x000a '10.1.6--v10.01.06 (Fiery Fox))') |
    |------------------------------------------------------------------------------|
    
    |--------------------------------------------------------------------------------------------------------------------------------------|
    | Device ID | Clock ID | Clock Name                                                            | Status              | Clock Frequency |
    |--------------------------------------------------------------------------------------------------------------------------------------|
    |   297     |     0    | DEV_SERDES_10G0_IP1_LN3_TXCLK                                         | CLK_STATE_NOT_READY | 0               |
    |   297     |     1    | DEV_SERDES_10G0_CLK                                                   | CLK_STATE_READY     | 125000000       |
    |   297     |     2    | DEV_SERDES_10G0_IP3_LN2_TXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |     3    | DEV_SERDES_10G0_IP1_LN2_TXCLK                                         | CLK_STATE_NOT_READY | 0               |
    |   297     |     4    | DEV_SERDES_10G0_IP1_LN0_TXCLK                                         | CLK_STATE_NOT_READY | 0               |
    |   297     |     5    | DEV_SERDES_10G0_IP3_LN1_TXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |     6    | DEV_SERDES_10G0_IP3_LN3_TXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |     7    | DEV_SERDES_10G0_IP3_LN0_TXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |     8    | DEV_SERDES_10G0_IP1_LN1_TXCLK                                         | CLK_STATE_NOT_READY | 0               |
    |   297     |     9    | DEV_SERDES_10G0_CORE_REF_CLK                                          | CLK_STATE_READY     | 19148936        |
    |   297     |    10    | DEV_SERDES_10G0_CORE_REF_CLK_PARENT_GLUELOGIC_HFOSC0_CLKOUT           | CLK_STATE_READY     | 19200000        |
    |   297     |    11    | DEV_SERDES_10G0_CORE_REF_CLK_PARENT_BOARD_0_HFOSC1_CLK_OUT            | CLK_STATE_READY     | 0               |
    |   297     |    12    | DEV_SERDES_10G0_CORE_REF_CLK_PARENT_HSDIV4_16FFT_MAIN_3_HSDIVOUT4_CLK | CLK_STATE_READY     | 153846153       |
    |   297     |    13    | DEV_SERDES_10G0_CORE_REF_CLK_PARENT_HSDIV4_16FFT_MAIN_2_HSDIVOUT4_CLK | CLK_STATE_READY     | 19148936        |
    |   297     |    14    | DEV_SERDES_10G0_IP1_LN1_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    15    | DEV_SERDES_10G0_IP1_LN2_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    16    | DEV_SERDES_10G0_IP3_LN1_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    17    | DEV_SERDES_10G0_IP1_LN0_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    18    | DEV_SERDES_10G0_IP1_LN3_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    19    | DEV_SERDES_10G0_IP3_LN3_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    20    | DEV_SERDES_10G0_IP3_LN1_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    21    | DEV_SERDES_10G0_IP3_LN3_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    22    | DEV_SERDES_10G0_IP3_LN3_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    23    | DEV_SERDES_10G0_IP3_LN2_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    24    | DEV_SERDES_10G0_IP1_LN0_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    25    | DEV_SERDES_10G0_IP3_LN3_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    26    | DEV_SERDES_10G0_IP3_LN1_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    27    | DEV_SERDES_10G0_IP3_LN0_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    28    | DEV_SERDES_10G0_IP1_LN1_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    29    | DEV_SERDES_10G0_IP1_LN1_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    30    | DEV_SERDES_10G0_IP3_LN3_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    31    | DEV_SERDES_10G0_IP1_LN3_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    32    | DEV_SERDES_10G0_IP1_LN3_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    33    | DEV_SERDES_10G0_IP3_LN1_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    34    | DEV_SERDES_10G0_IP3_LN0_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    35    | DEV_SERDES_10G0_IP1_LN3_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    36    | DEV_SERDES_10G0_IP3_LN0_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    37    | DEV_SERDES_10G0_IP3_LN2_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    38    | DEV_SERDES_10G0_IP1_LN0_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    39    | DEV_SERDES_10G0_IP1_LN0_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    40    | DEV_SERDES_10G0_IP1_LN2_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    41    | DEV_SERDES_10G0_IP1_LN1_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    42    | DEV_SERDES_10G0_IP3_LN0_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    43    | DEV_SERDES_10G0_REF_OUT_CLK                                           | CLK_STATE_READY     | 0               |
    |   297     |    44    | DEV_SERDES_10G0_IP3_LN1_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    45    | DEV_SERDES_10G0_IP1_LN2_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    46    | DEV_SERDES_10G0_IP1_LN0_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    47    | DEV_SERDES_10G0_IP3_LN2_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    48    | DEV_SERDES_10G0_IP1_LN2_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    49    | DEV_SERDES_10G0_IP3_LN2_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    50    | DEV_SERDES_10G0_IP1_LN2_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    51    | DEV_SERDES_10G0_IP3_LN2_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    52    | DEV_SERDES_10G0_IP3_LN0_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    53    | DEV_SERDES_10G0_IP1_LN3_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    54    | DEV_SERDES_10G0_IP1_LN1_RXCLK                                         | CLK_STATE_READY     | 0               |
    |--------------------------------------------------------------------------------------------------------------------------------------|
    

    只有将assigned-clock-parents = <&k3_clks 297 10>;后

    root@j721e-evm:~# k3conf dump clock 297
    |------------------------------------------------------------------------------|
    | VERSION INFO                                                                 |
    |------------------------------------------------------------------------------|
    | K3CONF | (version 0.3-nogit built Thu Jul 25 14:13:02 UTC 2024)              |
    | SoC    | J721E SR1.1                                                         |
    | SYSFW  | ABI: 4.0 (firmware version 0x000a '10.1.6--v10.01.06 (Fiery Fox))') |
    |------------------------------------------------------------------------------|
    
    |--------------------------------------------------------------------------------------------------------------------------------------|
    | Device ID | Clock ID | Clock Name                                                            | Status              | Clock Frequency |
    |--------------------------------------------------------------------------------------------------------------------------------------|
    |   297     |     0    | DEV_SERDES_10G0_IP1_LN3_TXCLK                                         | CLK_STATE_NOT_READY | 0               |
    |   297     |     1    | DEV_SERDES_10G0_CLK                                                   | CLK_STATE_READY     | 125000000       |
    |   297     |     2    | DEV_SERDES_10G0_IP3_LN2_TXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |     3    | DEV_SERDES_10G0_IP1_LN2_TXCLK                                         | CLK_STATE_NOT_READY | 0               |
    |   297     |     4    | DEV_SERDES_10G0_IP1_LN0_TXCLK                                         | CLK_STATE_NOT_READY | 0               |
    |   297     |     5    | DEV_SERDES_10G0_IP3_LN1_TXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |     6    | DEV_SERDES_10G0_IP3_LN3_TXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |     7    | DEV_SERDES_10G0_IP3_LN0_TXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |     8    | DEV_SERDES_10G0_IP1_LN1_TXCLK                                         | CLK_STATE_NOT_READY | 0               |
    |   297     |     9    | DEV_SERDES_10G0_CORE_REF_CLK                                          | CLK_STATE_READY     | 19200000        |
    |   297     |    10    | DEV_SERDES_10G0_CORE_REF_CLK_PARENT_GLUELOGIC_HFOSC0_CLKOUT           | CLK_STATE_READY     | 19200000        |
    |   297     |    11    | DEV_SERDES_10G0_CORE_REF_CLK_PARENT_BOARD_0_HFOSC1_CLK_OUT            | CLK_STATE_READY     | 0               |
    |   297     |    12    | DEV_SERDES_10G0_CORE_REF_CLK_PARENT_HSDIV4_16FFT_MAIN_3_HSDIVOUT4_CLK | CLK_STATE_READY     | 153846153       |
    |   297     |    13    | DEV_SERDES_10G0_CORE_REF_CLK_PARENT_HSDIV4_16FFT_MAIN_2_HSDIVOUT4_CLK | CLK_STATE_READY     | 100000000       |
    |   297     |    14    | DEV_SERDES_10G0_IP1_LN1_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    15    | DEV_SERDES_10G0_IP1_LN2_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    16    | DEV_SERDES_10G0_IP3_LN1_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    17    | DEV_SERDES_10G0_IP1_LN0_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    18    | DEV_SERDES_10G0_IP1_LN3_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    19    | DEV_SERDES_10G0_IP3_LN3_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    20    | DEV_SERDES_10G0_IP3_LN1_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    21    | DEV_SERDES_10G0_IP3_LN3_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    22    | DEV_SERDES_10G0_IP3_LN3_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    23    | DEV_SERDES_10G0_IP3_LN2_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    24    | DEV_SERDES_10G0_IP1_LN0_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    25    | DEV_SERDES_10G0_IP3_LN3_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    26    | DEV_SERDES_10G0_IP3_LN1_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    27    | DEV_SERDES_10G0_IP3_LN0_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    28    | DEV_SERDES_10G0_IP1_LN1_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    29    | DEV_SERDES_10G0_IP1_LN1_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    30    | DEV_SERDES_10G0_IP3_LN3_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    31    | DEV_SERDES_10G0_IP1_LN3_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    32    | DEV_SERDES_10G0_IP1_LN3_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    33    | DEV_SERDES_10G0_IP3_LN1_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    34    | DEV_SERDES_10G0_IP3_LN0_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    35    | DEV_SERDES_10G0_IP1_LN3_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    36    | DEV_SERDES_10G0_IP3_LN0_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    37    | DEV_SERDES_10G0_IP3_LN2_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    38    | DEV_SERDES_10G0_IP1_LN0_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    39    | DEV_SERDES_10G0_IP1_LN0_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    40    | DEV_SERDES_10G0_IP1_LN2_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    41    | DEV_SERDES_10G0_IP1_LN1_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    42    | DEV_SERDES_10G0_IP3_LN0_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    43    | DEV_SERDES_10G0_REF_OUT_CLK                                           | CLK_STATE_READY     | 0               |
    |   297     |    44    | DEV_SERDES_10G0_IP3_LN1_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    45    | DEV_SERDES_10G0_IP1_LN2_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    46    | DEV_SERDES_10G0_IP1_LN0_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    47    | DEV_SERDES_10G0_IP3_LN2_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    48    | DEV_SERDES_10G0_IP1_LN2_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    49    | DEV_SERDES_10G0_IP3_LN2_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    50    | DEV_SERDES_10G0_IP1_LN2_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    51    | DEV_SERDES_10G0_IP3_LN2_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    52    | DEV_SERDES_10G0_IP3_LN0_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    53    | DEV_SERDES_10G0_IP1_LN3_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    54    | DEV_SERDES_10G0_IP1_LN1_RXCLK                                         | CLK_STATE_READY     | 0               |
    |--------------------------------------------------------------------------------------------------------------------------------------|
    

  • 您好,

         请尝试从设备树中移除 " assigned-clock-rates = <19200000>;" , 保留 " assigned-clock-parents = <&k3_clks 297 13>"

        clock-rate正在改变serdes时钟频率。

  • 按照您的建议,移除 " assigned-clock-rates = <19200000>;" , 保留 " assigned-clock-parents = <&k3_clks 297 13>"后

    1.serdes4 时钟dump 如下,

    root@j721e-evm:~# k3conf dump clock 297
    |------------------------------------------------------------------------------|
    | VERSION INFO                                                                 |
    |------------------------------------------------------------------------------|
    | K3CONF | (version 0.3-nogit built Thu Jul 25 14:13:02 UTC 2024)              |
    | SoC    | J721E SR1.1                                                         |
    | SYSFW  | ABI: 4.0 (firmware version 0x000a '10.1.6--v10.01.06 (Fiery Fox))') |
    |------------------------------------------------------------------------------|
    
    |--------------------------------------------------------------------------------------------------------------------------------------|
    | Device ID | Clock ID | Clock Name                                                            | Status              | Clock Frequency |
    |--------------------------------------------------------------------------------------------------------------------------------------|
    |   297     |     0    | DEV_SERDES_10G0_IP1_LN3_TXCLK                                         | CLK_STATE_NOT_READY | 0               |
    |   297     |     1    | DEV_SERDES_10G0_CLK                                                   | CLK_STATE_READY     | 125000000       |
    |   297     |     2    | DEV_SERDES_10G0_IP3_LN2_TXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |     3    | DEV_SERDES_10G0_IP1_LN2_TXCLK                                         | CLK_STATE_NOT_READY | 0               |
    |   297     |     4    | DEV_SERDES_10G0_IP1_LN0_TXCLK                                         | CLK_STATE_NOT_READY | 0               |
    |   297     |     5    | DEV_SERDES_10G0_IP3_LN1_TXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |     6    | DEV_SERDES_10G0_IP3_LN3_TXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |     7    | DEV_SERDES_10G0_IP3_LN0_TXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |     8    | DEV_SERDES_10G0_IP1_LN1_TXCLK                                         | CLK_STATE_NOT_READY | 0               |
    |   297     |     9    | DEV_SERDES_10G0_CORE_REF_CLK                                          | CLK_STATE_READY     | 100000000       |
    |   297     |    10    | DEV_SERDES_10G0_CORE_REF_CLK_PARENT_GLUELOGIC_HFOSC0_CLKOUT           | CLK_STATE_READY     | 19200000        |
    |   297     |    11    | DEV_SERDES_10G0_CORE_REF_CLK_PARENT_BOARD_0_HFOSC1_CLK_OUT            | CLK_STATE_READY     | 0               |
    |   297     |    12    | DEV_SERDES_10G0_CORE_REF_CLK_PARENT_HSDIV4_16FFT_MAIN_3_HSDIVOUT4_CLK | CLK_STATE_READY     | 153846153       |
    |   297     |    13    | DEV_SERDES_10G0_CORE_REF_CLK_PARENT_HSDIV4_16FFT_MAIN_2_HSDIVOUT4_CLK | CLK_STATE_READY     | 100000000       |
    |   297     |    14    | DEV_SERDES_10G0_IP1_LN1_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    15    | DEV_SERDES_10G0_IP1_LN2_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    16    | DEV_SERDES_10G0_IP3_LN1_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    17    | DEV_SERDES_10G0_IP1_LN0_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    18    | DEV_SERDES_10G0_IP1_LN3_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    19    | DEV_SERDES_10G0_IP3_LN3_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    20    | DEV_SERDES_10G0_IP3_LN1_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    21    | DEV_SERDES_10G0_IP3_LN3_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    22    | DEV_SERDES_10G0_IP3_LN3_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    23    | DEV_SERDES_10G0_IP3_LN2_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    24    | DEV_SERDES_10G0_IP1_LN0_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    25    | DEV_SERDES_10G0_IP3_LN3_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    26    | DEV_SERDES_10G0_IP3_LN1_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    27    | DEV_SERDES_10G0_IP3_LN0_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    28    | DEV_SERDES_10G0_IP1_LN1_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    29    | DEV_SERDES_10G0_IP1_LN1_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    30    | DEV_SERDES_10G0_IP3_LN3_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    31    | DEV_SERDES_10G0_IP1_LN3_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    32    | DEV_SERDES_10G0_IP1_LN3_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    33    | DEV_SERDES_10G0_IP3_LN1_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    34    | DEV_SERDES_10G0_IP3_LN0_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    35    | DEV_SERDES_10G0_IP1_LN3_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    36    | DEV_SERDES_10G0_IP3_LN0_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    37    | DEV_SERDES_10G0_IP3_LN2_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    38    | DEV_SERDES_10G0_IP1_LN0_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    39    | DEV_SERDES_10G0_IP1_LN0_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    40    | DEV_SERDES_10G0_IP1_LN2_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    41    | DEV_SERDES_10G0_IP1_LN1_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    42    | DEV_SERDES_10G0_IP3_LN0_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    43    | DEV_SERDES_10G0_REF_OUT_CLK                                           | CLK_STATE_READY     | 0               |
    |   297     |    44    | DEV_SERDES_10G0_IP3_LN1_RXCLK                                         | CLK_STATE_READY     | 0               |
    |   297     |    45    | DEV_SERDES_10G0_IP1_LN2_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    46    | DEV_SERDES_10G0_IP1_LN0_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    47    | DEV_SERDES_10G0_IP3_LN2_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    48    | DEV_SERDES_10G0_IP1_LN2_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    49    | DEV_SERDES_10G0_IP3_LN2_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    50    | DEV_SERDES_10G0_IP1_LN2_REFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    51    | DEV_SERDES_10G0_IP3_LN2_TXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    52    | DEV_SERDES_10G0_IP3_LN0_TXMCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    53    | DEV_SERDES_10G0_IP1_LN3_RXFCLK                                        | CLK_STATE_READY     | 0               |
    |   297     |    54    | DEV_SERDES_10G0_IP1_LN1_RXCLK                                         | CLK_STATE_READY     | 0               |
    |--------------------------------------------------------------------------------------------------------------------------------------|
    

    2.  只有port6 的pll lock,但是依然所有sgmii无法link, 也不理解都是同样的设置,只有port6 的pll lock

    root@j721e-evm:/home/weston/scripts# ./j7_devmem2_cpsw9g_check_status.sh
        Platform: J7 TDA4VM
        Command:  k3conf
    MDIO_ALIVE_REG (0x0c000f08) = 0x00000000
    MDIO_LINK_REG (0x0c000f0c) = 0x00000000
    please input your port: 1-8 5
    CTRLMMR_ENET 5 CTRL (0x00104054) = 0x00000003
            PORT_MODE_SEL          : 3h SGMII
            RGMII_ID_MODE          : 0h Internal Transmit Desaly
    CPSW SS RGMII 5 STATUS (0x0c000040) = 0x00000000
            FULLDUPLEX           : 0h Half duplex
            SPEED                : 0h 10Mbps
            LINK                 : 0h Links is down
    CPSW_SS_STATUS_SGMII_LINK_REG (0x0c000078) = 0x00000000
            SGMII1_LINK          : 0h No
    CPSW_SS_SGMII_CONTROL_REG_ 5 (0x0c000510) = 0x00000000
            TEST_PATTERN_EN      : 0h operation
            MASTER               : 0h Slave Mode
            LOOPBACK             : 0h Not in internal loopback mode
            MR_NP_LOADED         : 0h --------
            FAST_LINK_TIMER      : 0h link timer 10ms in FIBER mode and 1.6ms in SGMII mode
            MA_AN_RESTART        : 0h Write 1h and tehn 0h to this bit caused the auto negotiation
            MR_AN_ENABLE         : 0h wirte 1 to this bit enbales the auto negotiation progess
    CPSW_SS_SGMII_STATUS_REG_ 5 (0x0c000514) = 0x00000000
            LOCK                  : 0h SEDES PLL isn't locked
            MR_AN_COMPLETE        : 0h no AUTO Negotiation is not complete
            AN_EEROR              : 0h no negotiation error
            LINK                  : 0h link is not up
    root@j721e-evm:/home/weston/scripts# ./j7_devmem2_cpsw9g_check_status.sh
        Platform: J7 TDA4VM
        Command:  k3conf
    MDIO_ALIVE_REG (0x0c000f08) = 0x00000000
    MDIO_LINK_REG (0x0c000f0c) = 0x00000000
    please input your port: 1-8 6
    CTRLMMR_ENET 6 CTRL (0x00104058) = 0x00000003
            PORT_MODE_SEL          : 3h SGMII
            RGMII_ID_MODE          : 0h Internal Transmit Desaly
    CPSW SS RGMII 6 STATUS (0x0c000044) = 0x00000000
            FULLDUPLEX           : 0h Half duplex
            SPEED                : 0h 10Mbps
            LINK                 : 0h Links is down
    CPSW_SS_STATUS_SGMII_LINK_REG (0x0c000078) = 0x00000000
            SGMII1_LINK          : 0h No
    CPSW_SS_SGMII_CONTROL_REG_ 6 (0x0c000610) = 0x00000001
            TEST_PATTERN_EN      : 0h operation
            MASTER               : 0h Slave Mode
            LOOPBACK             : 0h Not in internal loopback mode
            MR_NP_LOADED         : 0h --------
            FAST_LINK_TIMER      : 0h link timer 10ms in FIBER mode and 1.6ms in SGMII mode
            MA_AN_RESTART        : 0h Write 1h and tehn 0h to this bit caused the auto negotiation
            MR_AN_ENABLE         : 1h wirte 1 enable the auto-negotiation process
    CPSW_SS_SGMII_STATUS_REG_ 6 (0x0c000614) = 0x00000038
            LOCK                  : 1h SERDES PLL is locked.
            MR_AN_COMPLETE        : 0h no AUTO Negotiation is not complete
            AN_EEROR              : 0h no negotiation error
            LINK                  : 0h link is not up
    root@j721e-evm:/home/weston/scripts# ./j7_devmem2_cpsw9g_check_status.sh
        Platform: J7 TDA4VM
        Command:  k3conf
    MDIO_ALIVE_REG (0x0c000f08) = 0x00000000
    MDIO_LINK_REG (0x0c000f0c) = 0x00000000
    please input your port: 1-8 7
    CTRLMMR_ENET 7 CTRL (0x0010405c) = 0x00000003
            PORT_MODE_SEL          : 3h SGMII
            RGMII_ID_MODE          : 0h Internal Transmit Desaly
    CPSW SS RGMII 7 STATUS (0x0c000048) = 0x00000000
            FULLDUPLEX           : 0h Half duplex
            SPEED                : 0h 10Mbps
            LINK                 : 0h Links is down
    CPSW_SS_STATUS_SGMII_LINK_REG (0x0c000078) = 0x00000000
            SGMII1_LINK          : 0h No
    CPSW_SS_SGMII_CONTROL_REG_ 7 (0x0c000710) = 0x00000000
            TEST_PATTERN_EN      : 0h operation
            MASTER               : 0h Slave Mode
            LOOPBACK             : 0h Not in internal loopback mode
            MR_NP_LOADED         : 0h --------
            FAST_LINK_TIMER      : 0h link timer 10ms in FIBER mode and 1.6ms in SGMII mode
            MA_AN_RESTART        : 0h Write 1h and tehn 0h to this bit caused the auto negotiation
            MR_AN_ENABLE         : 0h wirte 1 to this bit enbales the auto negotiation progess
    CPSW_SS_SGMII_STATUS_REG_ 7 (0x0c000714) = 0x00000000
            LOCK                  : 0h SEDES PLL isn't locked
            MR_AN_COMPLETE        : 0h no AUTO Negotiation is not complete
            AN_EEROR              : 0h no negotiation error
            LINK                  : 0h link is not up
    root@j721e-evm:/home/weston/scripts# ./j7_devmem2_cpsw9g_check_status.sh
        Platform: J7 TDA4VM
        Command:  k3conf
    MDIO_ALIVE_REG (0x0c000f08) = 0x00000000
    MDIO_LINK_REG (0x0c000f0c) = 0x00000000
    please input your port: 1-8 8
    CTRLMMR_ENET 8 CTRL (0x00104060) = 0x00000003
            PORT_MODE_SEL          : 3h SGMII
            RGMII_ID_MODE          : 0h Internal Transmit Desaly
    CPSW SS RGMII 8 STATUS (0x0c00004c) = 0x00000000
            FULLDUPLEX           : 0h Half duplex
            SPEED                : 0h 10Mbps
            LINK                 : 0h Links is down
    CPSW_SS_STATUS_SGMII_LINK_REG (0x0c000078) = 0x00000000
            SGMII1_LINK          : 0h No
    CPSW_SS_SGMII_CONTROL_REG_ 8 (0x0c000810) = 0x00000000
            TEST_PATTERN_EN      : 0h operation
            MASTER               : 0h Slave Mode
            LOOPBACK             : 0h Not in internal loopback mode
            MR_NP_LOADED         : 0h --------
            FAST_LINK_TIMER      : 0h link timer 10ms in FIBER mode and 1.6ms in SGMII mode
            MA_AN_RESTART        : 0h Write 1h and tehn 0h to this bit caused the auto negotiation
            MR_AN_ENABLE         : 0h wirte 1 to this bit enbales the auto negotiation progess
    CPSW_SS_SGMII_STATUS_REG_ 8 (0x0c000814) = 0x00000000
            LOCK                  : 0h SEDES PLL isn't locked
            MR_AN_COMPLETE        : 0h no AUTO Negotiation is not complete
            AN_EEROR              : 0h no negotiation error
            LINK                  : 0h link is not up
    

    3. 请问还有哪里需要设置或者修改吗??

  • 您好,

         在这种情况下,0x0505E000的值是多少?现在时钟转储很好。

    只有port6 的pll lock,但是依然所有sgmii无法link, 也不理解都是同样的设置,只有port6 的pll lock

    这很奇怪。SGMII 5和SGMII 6的控制寄存器也不同。这不应发生,因为设备树节点是相同的,驱动程序应以相同的方式进行配置。

    您知道这里可能有什么区别吗?

  • 1. 0x0505E000的值依旧是0x000c0000

    2. 我配置上没有任何区别啊,硬件设计上也是完全一样的啊

  • 您好,

         请查看私信。