问题描述:
(1)将H313 GMAC0改为1000M网口,使用phy芯片为RTL8211FI-CG
代码改动如下:
--- a/device/config/chips/h313/configs/p1/board.dts
+++ b/device/config/chips/h313/configs/p1/board.dts
@@ -86,7 +86,7 @@
};
gmac0: eth@05020000 {
- phy-mode = "rmii";
+ phy-mode = "rgmii";
status = "okay";
};
@@ -398,6 +398,24 @@
allwinner,drive = <0>;
allwinner,pull = <1>;
};
+ gmac_pins_a: gmac@0 {
+ allwinner,pins = "PI0", "PI1", "PI2", "PI3",
+ "PI4", "PI5", "PI6", "PI7",
+ "PI8", "PI9", "PI10", "PI11",
+ "PI12", "PI13", "PI14", "PI15";
+ allwinner,function = "gmac0";
+ allwinner,muxsel = <2>;
+ allwinner,drive = <3>;
+ allwinner,pull = <0>;
+ };
+ phy_rst: phy_rst@0 {
+ allwinner,pins = "PI16";
+ allwinner,function = "gpio_out";
+ allwinner,muxsel = <1>;
+ allwinner,data = <1>;
+ allwinner,drive = <0>;
+ allwinner,pull = <1>;
+ };
};
@@ -447,7 +465,7 @@
twi4: twi@0x05003000{
clock-frequency = <200000>;
- pinctrl-0 = <&twi4_pins_a &lcd_bl_en &lcd_pwr_en &lcd_reset &lcd_pwm>;
+ pinctrl-0 = <&twi4_pins_a &lcd_bl_en &lcd_pwr_en &lcd_reset &lcd_pwm &phy_rst>;
pinctrl-1 = <&twi4_pins_b>;
status = "okay";
(2)发生现象:
将eth0 down后,eth1原本100M全双工会自动变为10M半双工,如果不把eth1重新down并且up,不会恢复
即eth0 down后会影响eth1工作状态
(3)以上1000m改动删除,那么是两个100M口,烧录在另外项目板子上,不会出现这个问题
即eth0 rmii模式不会出现这个问题。
各位大佬有什么思路吗?