NXP MCU 技术论坛
直播中

张华

8年用户 1487经验值
私信 关注
[问答]

如何将项目从2.7升级到4.0 ?

我们的系统基于 sabresd i.MX6sx。

将 YOCTO 项目从 2.7 升级到 4.0 后,内核 4.9.87 到 5.15.87
现在不知何故 FEC 驱动程序未被探测到。

以太网控制器的 DTS 属性:



ethernet@2188000 {
                                fsl,num-tx-queues = <0x03>;
                                phy-handle = <0x2b>;
                                compatible = "fsl,imx6sx-fecfsl,imx6q-fec";
                                clocks = <0x02 0xac 0x02 0xe1 0x02 0xe4 0x02 0x11 0x02 0xe4>;
                                local-mac-address = [94 de 0e 03 01 a0];
                                eee-broken-100tx;
                                clock-names = "ipgahbptpenet_clk_refenet_out";
                                fsl,num-rx-queues = <0x03>;
                                phy-reset-post-delay = <0x05>;
                                status = "okay";
                                interrupts = <0x00 0x76 0x04 0x00 0x77 0x04>;
                                eee-broken-1000t;
                                fsl,stop-mode = <0x06 0x10 0x03>;
                                pinctrl-assert-gpios = <0x11 0x10 0x00>;
                                reg = <0x2188000 0x4000>;
                                phy-mode = "rgmii-id";
                                pinctrl-0 = <0x28 0x29>;
                                phy-reset-duration = <0x0a>;
                                interrupt-names = "int0pps";
                                phy-reset-gpios = <0x2a 0x07 0x00>;
                                pinctrl-names = "default";

                                mdio {
                                        status = "okay";
                                        #address-cells = <0x01>;
                                        #size-cells = <0x00>;

                                        ethernet-phy@1 {
                                                phandle = <0x2b>;
                                                reg = <0x01>;
                                        };
                                };
                        };





我可以想象的内核 CONFIG 语句是相对于 FEC 驱动程序的:


builder@ubuntu-linux-18:~/projects/src/smartware_yocto4.0/build$ grep FEC ./tmp/work/smartoptics_dcp-poky-linux-gnueabi/linux-fslc-imx/5.15.87+gitAUTOINC+0eb4504bd3-r21/build/.config
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
# CONFIG_XILINX_SDFEC is not set
CONFIG_FEC=y
# CONFIG_FEC_UIO is not set
builder@ubuntu-linux-18:~/projects/src/smartware_yocto4.0/build$
builder@ubuntu-linux-18:~/projects/src/smartware_yocto4.0/build$ grep PHYLIB ./tmp/work/smartoptics_dcp-poky-linux-gnueabi/linux-fslc-imx/5.15.87+gitAUTOINC+0eb4504bd3-r21/build/.config
CONFIG_PHYLIB=y
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
builder@ubuntu-linux-18:~/projects/src/smartware_yocto4.0/build$ grep PHY ./tmp/work/smartoptics_dcp-poky-linux-gnueabi/linux-fslc-imx/5.15.87+gitAUTOINC+0eb4504bd3-r21/build/.config | egrep -v ^#
CONFIG_ARM_PATCH_PHYS_VIRT=y
CONFIG_ARCH_HAS_PHYS_TO_DMA=y
CONFIG_PHYLIB=y
CONFIG_SWPHY=y
CONFIG_FIXED_PHY=y
CONFIG_MICROSEMI_PHY=y
CONFIG_AT803X_PHY=y
CONFIG_GENERIC_PHY=y
CONFIG_PHY_FSL_IMX_PCIE=y
builder@ubuntu-linux-18:~/projects/src/smartware_yocto4.0/build$ grep MDIO ./tmp/work/smartoptics_dcp-poky-linux-gnueabi/linux-fslc-imx/5.15.87+gitAUTOINC+0eb4504bd3-r21/build/.config | egrep -v ^#
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_BUS=y
CONFIG_FWNODE_MDIO=y
CONFIG_OF_MDIO=y
CONFIG_MDIO_DEVRES=y


对于我们使用 phy 固定链路的另一种配置,FEC 被探测,使外部 MDIO phy 配置成为热门选择,我猜。
不确定这可能是什么,也不确定如何排除故障。

更多回帖

发帖
×
20
完善资料,
赚取积分