版本:sdk 8.5
平台:tda4 eco
phy:88EA1512
由于平台贴了两个同样的PHY(不同phy addr),在MCU域的,已经可以获取IP,接上网线开机(CLK:25M->125M),
如下MCU
我们在linux main域调试phy,用udhcpc获取IP时,获取不到,设置静态IP也ping不通
调试芯片发现RGMII的输出:接上网线开机(CLK:10M->50M),下面是引脚图 MAIN域
root@j721s2-evm:~# ifconfig docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 metric 1 inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255 ether 02:42:18:fd:36:15 txqueuelen 0 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 metric 1 ether 34:08:e1:84:a1:a1 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 metric 1 inet6 fe80::1cdf:d9ff:fe76:de18 prefixlen 64 scopeid 0x20<link> ether 1e:df:d9:76:de:18 txqueuelen 1000 (Ethernet) RX packets 41974 bytes 2772905 (2.6 MiB) RX errors 0 dropped 60 overruns 0 frame 0 TX packets 63 bytes 12834 (12.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 metric 1 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 82 bytes 6220 (6.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 82 bytes 6220 (6.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 root@j721s2-evm:~# udhcpc -i eth1 udhcpc: started, v1.31.1 udhcpc: sending discover udhcpc: sending discover udhcpc: sending discover udhcpc: sending discover udhcpc: sending discover udhcpc: sending discover
我们所用的dts:
main_cpsw: ethernet@c200000 { compatible = "ti,j721e-cpsw-nuss"; #address-cells = <2>; #size-cells = <2>; reg = <0x0 0xc200000 0x0 0x200000>; reg-names = "cpsw_nuss"; ranges = <0x0 0x0 0x0 0xc200000 0x0 0x200000>; dma-coherent; clocks = <&k3_clks 28 28>; clock-names = "fck"; power-domains = <&k3_pds 28 TI_SCI_PD_EXCLUSIVE>; dmas = <&main_udmap 0xc640>, <&main_udmap 0xc641>, <&main_udmap 0xc642>, <&main_udmap 0xc643>, <&main_udmap 0xc644>, <&main_udmap 0xc645>, <&main_udmap 0xc646>, <&main_udmap 0xc647>, <&main_udmap 0x4640>; dma-names = "tx0", "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7", "rx"; ethernet-ports { #address-cells = <1>; #size-cells = <0>; main_cpsw_port1: port@1 { reg = <1>; ti,mac-only; label = "port1"; phys = <&phy_gmii_sel_cpsw 1>; }; }; main_cpsw_mdio: mdio@f00 { compatible = "ti,cpsw-mdio","ti,davinci_mdio"; reg = <0x0 0xf00 0x0 0x100>; #address-cells = <1>; #size-cells = <0>; clocks = <&k3_clks 28 28>; clock-names = "fck"; bus_freq = <1000000>; }; cpts@3d000 { compatible = "ti,am65-cpts"; reg = <0x0 0x3d000 0x0 0x400>; clocks = <&k3_clks 28 3>; clock-names = "cpts"; interrupts-extended = <&gic500 GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "cpts"; ti,cpts-ext-ts-inputs = <4>; ti,cpts-periodic-outputs = <2>; }; };
scm_conf: scm-conf@104000 { phy_gmii_sel_cpsw: phy@34 { compatible = "ti,am654-phy-gmii-sel"; reg = <0x34 0x4>; #phy-cells = <1>; }; };
我们目前的认为的问题点是,接上网线开机(CLK:10M->50M)
输出时钟的问题
请问一下怎样调整一下clk,才能让RGMII输出mcu域那样的正确的时钟,从而获取到IP