|
8#
楼主 |
发表于 2017-4-21 15:31:34
|
只看该作者
vefone 发表于 2017-4-17 20:40
9 d+ a, J( Q+ E1 a3 l& Tlinux的网络驱动部分基本不用你去作修改。因为板级和底层的驱动都已经写好。
: Q7 ?8 K$ X7 F& f6 P4 _* H$ m2 ~一般来说,板级的emac驱动都 ...
- Y2 o. \7 A7 {vefone您好,有些还需要请教下您。1 G: w6 Q- \$ Q0 ]4 G y' m2 Q3 |
然后,我另一个板子的PHY芯片是KSZ8893,是RMII接口的,我没找到在哪里修改为RMII,我就在最初配置的时候将rmii_en设置为1
, |* C4 B9 w" A5 ~# G0 c1 M% s' j* J
void __init davinci_common_init(struct davinci_soc_info *soc_info); \' E- E) Y/ Z! `( O& D h
! N2 g: I5 I0 S8 A: m3 p! q9 _
{
8 R" ]. i0 U9 O9 L( d
" S8 Q$ M- E. f& W. o2 w davinci_soc_info.emac_pdata->rmii_en = 1; //在后面验证了一下是没有被清零,一直为1,说明使用的是rmii接口) r6 a# w8 [+ u2 j3 x
0 Z L- ~( E0 g' O3 a# V _
}' w3 ^+ K* I1 E% v: s2 R
' _' M- }. M3 d
//XXX 还是前面的( l& U9 v( W9 @! C
[ 2.111605] davinci_mdio davinci_mdio.0: phy[1]: device davinci_mdio-0:01, driver unknown // 这里我发现是device davinci_mdio-0:01, 4 T* c9 G+ n! f8 l! l& L4 C y
[ 2.119866] davinci_mdio davinci_mdio.0: phy[2]: device davinci_mdio-0:02, driver unknown
& K9 L7 k, S7 P$ P2 M" E" w, t3 G[ 2.128281] davinci_mdio davinci_mdio.0: phy[3]: device davinci_mdio-0:03, driver unknown
* I7 y7 f, l3 ]. E' K8 `$ G2 x) }- |0 l# `8 S
在后面
6 z% r9 K: x) M8 z0 A8 _1 _# W, w& e% ]* Q/ ]$ Z+ e& G
[ 2.387752] PHY davinci_mdio-0:00 not found // 这里应该是没有和前面匹配好。这里就是davinci_mdio-0:00了
1 ]4 h& c; D0 Y" b[ 2.392184] net eth0: could not connect to phy davinci_mdio-0:00
+ e, A: M; I1 S4 l$ t4 g
1 y5 ?( N- S$ R6 }0 d K2 s( _. i2 n请问下这是什么原因?
: Y# T: L& Q1 g5 w: i1 \; Q6 v' c& d3 p
我百度了一下相关的问题:有介绍的说 ~1 i" [5 }5 }: O# Q' [* ]- m
6 D3 J; E3 X. X由于TI的SDK包中使用的general PHY driver,所以修改很简单,更明确地说,是确认配置。5 K0 u' h- S5 l) P; k/ o0 o
9 V. P) p; A1 u, @! W
建议调试在u-boot中进行,方便确认问题。
9 a, Z& c" e" G; z7 f3 V7 o. E) b, }7 c4 J
u-boot下主要确认三点:
$ O. H2 k" ?1 |- \& B# s% e+ I! @* f, N& L* i6 k; I
1)Program GMII_SEL in control module with 0x5 for RMII Interface // 请问下对于omapl138 如何操作
7 k2 `# y, y1 |7 F: O7 Z( _3 Z- l
5 R* s) N' `7 V u9 x p$ i C2)Pinmux configuration to support rmii interface //这个我应该已经满足
h" D: g* }7 x8 u4 D+ Y5 \0 x$ ]
; D9 u3 h; s- P) y" H/ N b. z3)Phy ID setting in Platform data(由PHY的硬件电路决定,通过在PHY_ID的三个管脚上下拉来决定) //这里我一直没有找到配置的具体地方??7 r4 q% q+ Y5 H H
& T& v B! l0 R, ]( _" _( _$ w; OLinux下调试也是确认以上三点。
: L M8 S- b/ y3 C% o
* y: ^4 F H* X9 c8 v可以指点下吗? |
|