|
8#
楼主 |
发表于 2017-4-21 15:31:34
|
只看该作者
vefone 发表于 2017-4-17 20:40
4 M& v, q3 s3 S9 y1 o" g# ~linux的网络驱动部分基本不用你去作修改。因为板级和底层的驱动都已经写好。' ^- B$ |. W! ^3 Z1 z6 y4 a- P
一般来说,板级的emac驱动都 ...
+ k0 s" g7 Q5 |1 Pvefone您好,有些还需要请教下您。1 k9 V! X' _6 R; C: u4 i, S
然后,我另一个板子的PHY芯片是KSZ8893,是RMII接口的,我没找到在哪里修改为RMII,我就在最初配置的时候将rmii_en设置为19 h" t) ?" i; F, `
" n3 w. _- ]! A+ c6 ?/ _" u5 B
void __init davinci_common_init(struct davinci_soc_info *soc_info)
( u( G Q9 u0 G( b) t P5 f6 T/ J1 ^5 I. E9 ^/ H
{' S/ V7 ~1 @ f# P S; l, j" |
+ T. W; J, \' d Q" e: M davinci_soc_info.emac_pdata->rmii_en = 1; //在后面验证了一下是没有被清零,一直为1,说明使用的是rmii接口
k9 G b! n/ V3 e* g/ O! W! L4 d' m I3 t/ c
}9 z$ `" ^6 P! V* M: W, c
6 D: O: x: Y1 q2 R' O//XXX 还是前面的' v+ e; U e3 \( y! @$ T
[ 2.111605] davinci_mdio davinci_mdio.0: phy[1]: device davinci_mdio-0:01, driver unknown // 这里我发现是device davinci_mdio-0:01,
; h! X5 a5 `- `/ s% r1 j+ X[ 2.119866] davinci_mdio davinci_mdio.0: phy[2]: device davinci_mdio-0:02, driver unknown
) m, o, L+ v& o8 o6 A. ^6 F: U3 f4 U0 I[ 2.128281] davinci_mdio davinci_mdio.0: phy[3]: device davinci_mdio-0:03, driver unknown
1 {+ ?) V3 j0 @% O( a) z8 A
7 A. G* n" p4 i/ Y0 `& P! y在后面
4 c7 s( A% @' d. c0 l3 p
& u9 e5 N/ d8 b! _5 Z# D+ J[ 2.387752] PHY davinci_mdio-0:00 not found // 这里应该是没有和前面匹配好。这里就是davinci_mdio-0:00了
) k5 ~/ l# U+ i: @9 H) Z9 Q[ 2.392184] net eth0: could not connect to phy davinci_mdio-0:00" h& t0 J% S; x' [
- h$ s: g% N, L n& C4 K$ N
请问下这是什么原因?
; Y1 x4 G% K6 a/ K! Z b, T T. f: f: {3 ?& i/ y- d. ^* y& V! a/ Z `
我百度了一下相关的问题:有介绍的说( H7 \7 ?/ c- G* V' W
# Q) I1 j+ h) z8 F; S
由于TI的SDK包中使用的general PHY driver,所以修改很简单,更明确地说,是确认配置。 y0 d& o& i$ b% n
1 @9 \, ?' ~; f建议调试在u-boot中进行,方便确认问题。& ?% t( D4 B0 n+ \# ?
+ l$ a, x- K9 `
u-boot下主要确认三点:
- L! j, b6 e. z: \1 f
2 X( E4 w' R9 @- Z, B3 C1)Program GMII_SEL in control module with 0x5 for RMII Interface // 请问下对于omapl138 如何操作5 V$ o! G6 z/ y4 [; o0 ?" p7 V- S
2 z0 A* Z8 E" P( b) g/ ?
2)Pinmux configuration to support rmii interface //这个我应该已经满足
1 W) J5 r2 G' s0 F( M* @* F# c4 c ^. {
3)Phy ID setting in Platform data(由PHY的硬件电路决定,通过在PHY_ID的三个管脚上下拉来决定) //这里我一直没有找到配置的具体地方??
. ]" X9 |( O2 g) \) a& t" I
1 X3 i8 Z# L$ y/ i8 d. HLinux下调试也是确认以上三点。! N0 L I N( B% b3 }* v
* O% o- m! q3 o2 I
可以指点下吗? |
|