|
|
8#

楼主 |
发表于 2017-4-21 15:31:34
|
只看该作者
vefone 发表于 2017-4-17 20:409 @1 Q( ]8 O. z% a
linux的网络驱动部分基本不用你去作修改。因为板级和底层的驱动都已经写好。 R9 P- s2 n; @; a5 v, B; v7 Z
一般来说,板级的emac驱动都 ...
: a/ G X6 A. N% i Zvefone您好,有些还需要请教下您。
% p/ P' i, y$ E% U) P* ^* z然后,我另一个板子的PHY芯片是KSZ8893,是RMII接口的,我没找到在哪里修改为RMII,我就在最初配置的时候将rmii_en设置为1
* k( s! }7 ^! V* B- o
% [- U6 i0 D8 Dvoid __init davinci_common_init(struct davinci_soc_info *soc_info)
4 \) Q- k% ~& f) ? c
! v& n+ e- t C{
% d0 a# d# d0 [- v5 ?# \7 q5 f5 C- S0 D' f: N D
davinci_soc_info.emac_pdata->rmii_en = 1; //在后面验证了一下是没有被清零,一直为1,说明使用的是rmii接口6 s- p, _! |5 L2 Y) Z
. L3 a4 p0 @! [4 i}4 W$ Q9 V# u! M$ o0 C# I
+ w, _" N& x! y* ~4 |: O
//XXX 还是前面的
' s, {3 n6 q& ~3 v[ 2.111605] davinci_mdio davinci_mdio.0: phy[1]: device davinci_mdio-0:01, driver unknown // 这里我发现是device davinci_mdio-0:01,
2 f& Q4 ^- u6 A5 [$ x( w[ 2.119866] davinci_mdio davinci_mdio.0: phy[2]: device davinci_mdio-0:02, driver unknown+ c6 Q# C) o: ]; j- x F% Z
[ 2.128281] davinci_mdio davinci_mdio.0: phy[3]: device davinci_mdio-0:03, driver unknown# ^8 m& j* j+ E) P, p
2 [7 P# x% K, [6 p在后面2 _$ b U9 e( v5 A) }
- ?1 A. c- ]( j9 [$ i2 E9 B& W. d[ 2.387752] PHY davinci_mdio-0:00 not found // 这里应该是没有和前面匹配好。这里就是davinci_mdio-0:00了
4 ]1 I+ X$ Z( }, U3 u4 m% _+ z[ 2.392184] net eth0: could not connect to phy davinci_mdio-0:00
5 B7 g" I- y; a! \$ o& r1 X7 Z2 H
/ `( {3 e, ?+ R: Y* |; x5 z请问下这是什么原因?
9 D I, d6 g, V% _3 Q( ?- R! Q' O
& F( Z7 @* h3 K' Y. P1 a# O9 C我百度了一下相关的问题:有介绍的说. {. C5 E; g: ~ W+ B; V& P
2 L0 M* @. b, c3 |) a5 @$ O# E由于TI的SDK包中使用的general PHY driver,所以修改很简单,更明确地说,是确认配置。
; N( D) q v, m. x( Y' c' T. v) N% G8 d- ? l! v& C
建议调试在u-boot中进行,方便确认问题。
- @, @+ v& W% l3 B' I/ G- ^/ t3 y7 l4 h# D7 e# ~
u-boot下主要确认三点:1 Q. G) B, d: K5 G0 a
h6 r. Y' u& x3 L# M1)Program GMII_SEL in control module with 0x5 for RMII Interface // 请问下对于omapl138 如何操作# ~3 w, O! q' i+ r3 V
+ O- Z+ R! M2 B w1 m3 S( P2)Pinmux configuration to support rmii interface //这个我应该已经满足7 E( K+ t2 Z8 x6 d9 u7 L
/ J, X. m9 q( Y; x5 O3)Phy ID setting in Platform data(由PHY的硬件电路决定,通过在PHY_ID的三个管脚上下拉来决定) //这里我一直没有找到配置的具体地方??
j8 _) N2 C! S8 }! O. L
, V& }1 _8 h: K2 z- G) X# C) ]# @5 |Linux下调试也是确认以上三点。, J1 f* e" B7 C: z
. E/ q+ C9 D: ~- }/ }( L# e1 w可以指点下吗? |
|