|
8#

楼主 |
发表于 2017-4-21 15:31:34
|
只看该作者
vefone 发表于 2017-4-17 20:40% L* ~ I* ]: ~4 s% ]
linux的网络驱动部分基本不用你去作修改。因为板级和底层的驱动都已经写好。
% x0 f$ P" ?, F4 ~9 u& E5 U2 X一般来说,板级的emac驱动都 ... # @" b2 H- ?0 |0 l4 u, |
vefone您好,有些还需要请教下您。- R7 u0 A9 l) l) E
然后,我另一个板子的PHY芯片是KSZ8893,是RMII接口的,我没找到在哪里修改为RMII,我就在最初配置的时候将rmii_en设置为1" ]! n. N T! Y1 |1 E% k" ^
( \. v. w- k7 X" P# q; l: L; Avoid __init davinci_common_init(struct davinci_soc_info *soc_info)' Y( C- K% {* M( E
# G* Y) B* D! Z' ]1 u# ^{
R K5 n% Y. G- y( _ s: [2 c+ D: p: g2 S- i g0 |
davinci_soc_info.emac_pdata->rmii_en = 1; //在后面验证了一下是没有被清零,一直为1,说明使用的是rmii接口$ j% \- K" N- ~. N2 T
; C6 X3 y) L2 q( L5 P$ K
}
& z @' d2 ?" n5 y+ U" S8 X; [6 S$ q& k* i, ~& [0 N
//XXX 还是前面的
/ {! b1 E. [+ \6 b8 c2 z) j[ 2.111605] davinci_mdio davinci_mdio.0: phy[1]: device davinci_mdio-0:01, driver unknown // 这里我发现是device davinci_mdio-0:01, 4 m9 T/ a# T: ]7 x" z# h. u: n5 z
[ 2.119866] davinci_mdio davinci_mdio.0: phy[2]: device davinci_mdio-0:02, driver unknown
9 C$ k5 C- B4 f1 P[ 2.128281] davinci_mdio davinci_mdio.0: phy[3]: device davinci_mdio-0:03, driver unknown
; @+ v9 h. k, x1 E- P. K7 V/ }; r6 n( w# _' v
在后面
9 l6 O( |* ~+ }3 A2 {/ m7 f. _/ m. q" p. s
[ 2.387752] PHY davinci_mdio-0:00 not found // 这里应该是没有和前面匹配好。这里就是davinci_mdio-0:00了: I" s7 g6 H, l: c# |3 a m" {
[ 2.392184] net eth0: could not connect to phy davinci_mdio-0:00
# s5 i8 l [8 Z5 z" S; ^3 `0 G" q2 i$ ~3 t% v3 h% e
请问下这是什么原因?% D( Q1 d& V2 ?, a
: x r! C2 l0 L0 W, ^
我百度了一下相关的问题:有介绍的说
9 Y; K' V+ Q- l% c$ x$ x
0 \3 }% O' \/ b" P由于TI的SDK包中使用的general PHY driver,所以修改很简单,更明确地说,是确认配置。
/ B, T$ E, c& b2 g9 B3 P3 i, { r# a( D6 U
建议调试在u-boot中进行,方便确认问题。
$ P, s* P2 M: i9 ~' |
& l* I1 o% T2 s+ n2 B. x- q* Eu-boot下主要确认三点:& l+ C. A5 r1 n3 ?: v% j# |
# w6 ^/ V/ k' F1)Program GMII_SEL in control module with 0x5 for RMII Interface // 请问下对于omapl138 如何操作7 W2 W# v8 Y' D9 \4 v8 `
( |6 H: {7 ]" {2 Y
2)Pinmux configuration to support rmii interface //这个我应该已经满足9 _0 }% [' M5 ]# v& D
3 W: |" D4 k4 d" L) j; {3)Phy ID setting in Platform data(由PHY的硬件电路决定,通过在PHY_ID的三个管脚上下拉来决定) //这里我一直没有找到配置的具体地方??
9 t) a+ H) d1 a) N C5 ~4 ^
& Z8 k9 c- ^4 s$ c0 w0 h/ L/ }Linux下调试也是确认以上三点。
Q7 y0 t; B- P) p
9 n* u5 }! p' B6 `) O& }可以指点下吗? |
|