RK3399调试支持以太网

首先我们先来测试看看以太网是否通的

在 RK 上面调试以太网就相对比较简单,因为在 RK 的芯片中内置以太网 MAC 控制器,所以只需要搭配一颗以太网 PHY 芯片就可以实现以太网功能!

所以不管是PHY 厂家有多少,基本的功能是都是使用 RK 的驱动配置基本就可以实现,就是调用RK 的通用的驱动接口

10/100M以太网 PHY 与 MAC 之间的接口主要有 MII 和 RMII

10/100/1000M 以太网 PHY 与MAC 之间的接口主要有  RGMII

在用的比较多的 RK3288  RK3399 的芯片上面都是支持  RMII  和 RGMII  接口的,也就是都可以支持 100 M 网卡,或者 1000M网卡

RK 调试以太网 很简单,两步:

  1. 下面的配置默认已经打开,确认下就行

 Device Drivers > Network device support > PHY Device support and infrastructure

Driver for Rockchip Ethernet PHYs

  1. 修改 dts 文件,看你是支持 什么接口的,也就是你只有 100 M 网卡,还是 1000M 网卡即可

100 M 和 1000M 的PHY 就是这有点不一样

1000M PHY 配置

clkin_gmac: external-gmac-clock {

compatible = "fixed-clock";

clock-frequency = <125000000>;  // 这个时钟 1000M 使用 rgmii 接口固定是 125M

clock-output-names = "clkin_gmac";

#clock-cells = <0>;

};

&gmac {

phy-supply = <&vcc_phy>;

phy-mode = "rgmii";  // 说明接口是什么 PHY

clock_in_out = "input"; // 是 input 的时候,就由 PHY 提供 125 M ,1000M 的是 input

snps,reset-gpio = <&gpio3 15 GPIO_ACTIVE_LOW>; // 这个就具体是 硬件接口看 原理图

snps,reset-active-low;

snps,reset-delays-us = <0 10000 50000>;

assigned-clocks = <&cru SCLK_RMII_SRC>;

assigned-clock-parents = <&clkin_gmac>;

pinctrl-names = "default";

pinctrl-0 = <&rgmii_pins>;

tx_delay = <0x28>;

rx_delay = <0x11>;

status = "okay";

};

100 M  PHY 配置

clkin_gmac: external-gmac-clock {

compatible = "fixed-clock";

clock-frequency = <50000000>;  // 这个时钟 100M 使用 rmii 接口固定是 50M

clock-output-names = "clkin_gmac";

#clock-cells = <0>;

};

&gmac {

phy-supply = <&vcc_phy>;

phy-mode = "rmii";  // 说明接口是什么 PHY

clock_in_out = "output"; // 是 output 的时候,就由 RK芯片 提供 50M ,1000M 的是 input

snps,reset-gpio = <&gpio3 15 GPIO_ACTIVE_LOW>; // 这个就具体是 硬件接口看 原理图

snps,reset-active-low;

snps,reset-delays-us = <0 10000 50000>;

assigned-clocks = <&cru SCLK_RMII_SRC>;

assigned-clock-parents = <&clkin_gmac>;

pinctrl-names = "default";

pinctrl-0 = <&rgmii_pins>;

再看原理图 确认 供电、复位脚是否正确

PHY_RST

就可以了,编译,烧写,即可,软件要做的就是这些了,当然硬件确保 晶振是否正确,还有注意一点,RK3288 的时候,最好使用 外部 50M 时钟,因为RK出来的时钟会有不准!

然后就可以查看网卡是否存在

rk3399:/ # ifconfig

ifconfig

eth0      Link encap:Ethernet  HWaddr 5e:3b:2d:ef:27:c7  Driver rk_gmac-dwmac

          inet6 addr: fe80::ba2:a423:2d3e:21ed/64 Scope: Link

          UP BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:9 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:0 TX bytes:1008

          Interrupt:24

没有分配IP ,需要接上网线

eth0      Link encap:Ethernet  HWaddr 5e:3b:2d:ef:27:c7  Driver rk_gmac-dwmac

          inet addr:192.168.1.16  Bcast:192.168.1.255  Mask:255.255.255.0

          inet6 addr: fe80::ba2:a423:2d3e:21ed/64 Scope: Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:11 errors:0 dropped:0 overruns:0 frame:0

          TX packets:22 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:2152 TX bytes:2581

          Interrupt:24

就可以有了

这里提一下 usb 以太网卡,因为rk 的usb 以太网卡 没有做好,需要修改进行字节比对,后面有需要再跟大家讲!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荣敢飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值