中级会员
- 积分
- 325
- 金钱
- 325
- 注册时间
- 2019-10-2
- 在线时间
- 86 小时
|
1金钱
本帖最后由 keenboyee 于 2021-3-19 19:00 编辑
需求: 项目只需要一个网络口,故原理图保留了正点原子的PHY地址为0的网络即ENET1,去掉ENET2。
操作步骤(我这边修改的是出厂的源代码):按照《【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.5》
中第1700页69.6.2节的指导,修改设备树文件,修改为如下:
/*hxf 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
>;
};
*/
&fec1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet1
&pinctrl_fec1_reset>;
phy-mode = "rmii";
phy-handle = <ephy0>;
phy-reset-gpios = <&gpio5 7 GPIO_ACTIVE_LOW>;
phy-reset-duration = <200>;
status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy0: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
};
};
};
/*&hxf fec2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet2
&pinctrl_fec2_reset>;
phy-mode = "rmii";
phy-handle = <ephy1>;
phy-reset-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
phy-reset-duration = <200>;
status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy0: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
};
ethphy1: ethernet-phy@2 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
};
};
};
*/
pinctrl_enet1: enet1grp {
fsl,pins = <
MX6UL_PAD_GPIO1_IO07__ENET1_MDC 0x1b0b0
MX6UL_PAD_GPIO1_IO06__ENET1_MDIO 0x1b0b0
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
>;
};
。并且修改\u-boot\include\configs路径下mx6ullevk.h文件
网络的宏为#define CONFIG_FEC_ENET_DEV 0。
重新编译后,下载到开发板上。开发板接入公司局域网内,网线插在ENET1口上,
另一端连接在交换机一端口上。WINDOWS主机已经关闭防火墙。
在UBOOT内设置好变量如下:
setenv ipaddr 192.168.6.45
setenv ethaddr 00:04:9f:04:d2:35
setenv gatewayip 192.168.6.1
setenv netmask 255.255.255.0
setenv serverip 192.168.6.125
问题1.描述:启动完成后,设置开发板IP地址为192.168.6.45。在控制终端内ping服务器(地址为192.168.6.125),提示
“ Destination Host Unreachable”。开发板LOG输出文件见“alietek_logo_network.txt”。奇怪的是网络驱动变成了generic 驱动了。用官方出厂固件能ping通。
有人碰到过这个问题吗?折腾了好几天了,没解决。
问题2:正点原子提供的邮票孔原理图SYMBOLE中第67管脚名称为ENET1_RX_DATA0/ENET1_TXD0。感觉命名错误了,正确的应该是
ENET1_TX_DATA0/ENET1_TXD0。
|
|