python 做下载网站,一个人免费播放视频在线观看,网址域名注册流程,云电脑免费版永久使用本文章对Linux 网络驱动实验中的设备树进行介绍#xff0c;Linux网络驱动程序比较复杂#xff0c;只要学会应用。
1、I.MX6ULL 网络外设设备树 I.MX6ULL 有两个 10/100M 的网络 MAC 外设#xff0c;因此 I.MX6ULL 网络驱动主要就是这两个网络 MAC 外设的驱动。 fec1…本文章对Linux 网络驱动实验中的设备树进行介绍Linux网络驱动程序比较复杂只要学会应用。
1、I.MX6ULL 网络外设设备树 I.MX6ULL 有两个 10/100M 的网络 MAC 外设因此 I.MX6ULL 网络驱动主要就是这两个网络 MAC 外设的驱动。 fec1 和 fec2 分别对应 I.MX6ULL 的 ENET1 和 ENET2 示例代码 69.4.1.2 网络引脚 pinctrl 信息
pinctrl_enet1: enet1grp { fsl,pins MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN 0x1b0b0 MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER 0x1b0b0 MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x1b0b0 MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x1b0b0 MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN 0x1b0b0 MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x1b0b0 MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x1b0b0 MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x4001b009 ;
}; pinctrl_enet2: enet2grp { fsl,pins MX6UL_PAD_GPIO1_IO07__ENET2_MDC 0x1b0b0 MX6UL_PAD_GPIO1_IO06__ENET2_MDIO 0x1b0b0 MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN 0x1b0b0 MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER 0x1b0b0 MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00 0x1b0b0 MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x1b0b0 MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN 0x1b0b0 MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00 0x1b0b0 MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x1b0b0 MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2 0x4001b009 ;
}; /*enet1 reset zuozhongkai*/
pinctrl_enet1_reset: enet1resetgrp { fsl,pins /* used for enet1 reset */ MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07 0x10B0 ;
}; /*enet2 reset zuozhongkai*/
pinctrl_enet2_reset: enet2resetgrp { fsl,pins /* used for enet2 reset */ MX6ULL_PAD_SNVS_TAMPER8__GPIO5_IO08 0x10B0
;
}; fec1 { pinctrl-names default; pinctrl-0 pinctrl_enet1 pinctrl_enet1_reset; phy-mode rmii; phy-handle ethphy0; phy-reset-gpios gpio5 7 GPIO_ACTIVE_LOW; phy-reset-duration 200; status okay;
}; fec2 { pinctrl-names default; pinctrl-0 pinctrl_enet2 pinctrl_enet2_reset; phy-mode rmii; phy-handle ethphy1; phy-reset-gpios gpio5 8 GPIO_ACTIVE_LOW; phy-reset-duration 200; status okay; mdio { #address-cells 1; #size-cells 0; ethphy0: ethernet-phy0 { compatible ethernet-phy-ieee802.3-c22; reg 0; }; ethphy1: ethernet-phy1 { compatible ethernet-phy-ieee802.3-c22; reg 1; }; };
}; ENET1 网口的节点属性设置 ENET1 所使用的引脚 pinctrl 节点信息设置网络对应的 PHY 芯片接口为 RMII这个要根据实际的硬件来设置。设置 PHY 芯片的句柄为 ethphy0MDIO 节点会设置 PHY 信息。其他的属性信息就很好理解了基本已经在上面讲解绑定文档的时候说过了。 ENET2 网口的节点属性基本和 ENET1 网口一致区别就是多了第 mdio 子节点前面讲解绑定文档的时候说了mido 子节点用于描述 MIDO 总线在此子节点内会包含 PHY 节点信息。这里一共有两个 PHY 子节点ethphy0 和 ethphy1分别对应ENET1 和 ENET2 的 PHY 芯片。比如“ethphy0: ethernet-phy0”就是 ENET1 的 PHY节点名字“”后面的 0 就是此 PHY 芯片的芯片地址reg 属性也是描述 PHY 芯片地址的这点和 IIC 设备节点很像。其他地方就没什么好多的了绑定文档已经讲解的很清楚了。