RK3588开发板缺省接RTL8211F phy芯片,换成KS8794交换芯片,调试了很长时间,最后终于搞定。记录一下。
网上有很多说fixed-link的,开始都以为从KS8794的DTS入手,看来这个之后,应该在MAC的DTShttp://pro934ad4.pic3.ysjianzhan.cn/upload/Rockchip_Developer_Guide_Linux_MAC_TO_MAC_CN.pdf
//这个基本没用,只是作为一个SPI设备,可以配置KSZ8794内部寄存器
&spi2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
num-cs = <2>;
ksz8794_rgmii: ksz8794@1 {
compatible = "microchip,ksz8794";
reg = <1>;
status = "okay";
chip_id = <0x8760>;
//spi-max-frequency = <33000000>;
//spi-cpha;
//spi-cpol;
ports {
#address-cells = <1>;
#size-cells = <0>;
// port@1 {
// reg = <1>;
// label = "lan1";
// };
// port@2 {
// reg = <2>;
// label = "lan2";
// };
// port@3 {
// reg = <3>;
// label = "lan3";
// };
/* port@4 {
reg = <4>;
label = "cpu";
ethernet = <&gmac1>;
phy-mode = "rgmii-rxid";
fixed-link { //不是在这个位置fixed-link
speed = <1000>;
full-duplex;
//pause;
};
};
*/
};
};
};
//mdio0外部接RTL8211F PHY
&mdio0 {
rgmii_phy0: phy@1 {//定义了一个PHY
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x1>;
};
};
//mdio1外部实际不接啥,原来开发板接RTL8211F PHY
&mdio1 {
rgmii_phy1: phy@2 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x2>;
};
};
//
&gmac0 {
/* Use rgmii-rxid mode to disable rx delay inside Soc */
phy-mode = "rgmii-rxid";
clock_in_out = "output";
snps,reset-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
/* Reset time is 20ms, 100ms for rtl8211f */
snps,reset-delays-us = <0 20000 100000>;
pinctrl-names = "default";
pinctrl-0 = <&gmac0_miim
&gmac0_tx_bus2
&gmac0_rx_bus2
&gmac0_rgmii_clk
&gmac0_rgmii_bus>;
tx_delay = <0x44>;
/* rx_delay = <0x4f>; */
phy-handle = <&rgmii_phy0>;//明确外部接PHY
status = "okay";
};
&gmac1 {
/* Use rgmii-rxid mode to disable rx delay inside Soc */
phy-mode = "rgmii-rxid";
clock_in_out = "output";
snps,reset-gpio = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
/* Reset time is 20ms, 100ms for rtl8211f */
snps,reset-delays-us = <0 20000 100000>;
//assigned-clock-parents = <&cru SCLK_MAC>;
//assigned-clock-rates = <125000000>;
pinctrl-names = "default";
//pinctrl-0 = <&gmac1_miim //这个PIN不再需要
pinctrl-0 = <&gmac1_tx_bus2
&gmac1_rx_bus2
&gmac1_rgmii_clk
&gmac1_rgmii_bus>;
tx_delay = <0x44>;
//rx_delay = <0x4f>;
//phy-handle = <&rgmii_phy1>;//这个PHY不再需要
status = "okay";
fixed-link { //这个需要
speed = <1000>;
full-duplex;
};
};

204

被折叠的 条评论
为什么被折叠?



