|
8#
楼主 |
发表于 2017-4-21 15:31:34
|
只看该作者
vefone 发表于 2017-4-17 20:40# B i! n9 {1 }, P: U6 g; P
linux的网络驱动部分基本不用你去作修改。因为板级和底层的驱动都已经写好。6 Q% A; ?: X, D$ S% d% S% n
一般来说,板级的emac驱动都 ...
& K. V1 n& R" avefone您好,有些还需要请教下您。. {. K$ G* U1 @. S2 j7 ` C6 |" X
然后,我另一个板子的PHY芯片是KSZ8893,是RMII接口的,我没找到在哪里修改为RMII,我就在最初配置的时候将rmii_en设置为1
2 l) [% g" V/ m' W6 q
* X+ D) S4 L, U! m t: Avoid __init davinci_common_init(struct davinci_soc_info *soc_info) T; J& j' J& h/ F* T" q7 f$ W
' g& S1 J! W7 j1 C
{
I" u' a# X4 i4 y6 Y
, u8 @4 ], V2 {+ s- x5 i7 ^0 i davinci_soc_info.emac_pdata->rmii_en = 1; //在后面验证了一下是没有被清零,一直为1,说明使用的是rmii接口
, a' d1 y! a9 m& s
8 Y: e, F2 Z6 n( o0 v& b; u5 x}
( p$ Q1 f' ]/ ^8 \1 o1 J! E) b t V, ?, \5 [$ n2 S: E
//XXX 还是前面的
' z* t- N* `$ H, G, H[ 2.111605] davinci_mdio davinci_mdio.0: phy[1]: device davinci_mdio-0:01, driver unknown // 这里我发现是device davinci_mdio-0:01, ! t4 |/ N. x% `+ g2 ~
[ 2.119866] davinci_mdio davinci_mdio.0: phy[2]: device davinci_mdio-0:02, driver unknown
1 y6 L- H3 P* a# P' |' V[ 2.128281] davinci_mdio davinci_mdio.0: phy[3]: device davinci_mdio-0:03, driver unknown
) ~ l8 Z4 F9 m; J" j
. l' n" [+ r4 n, o: [2 V9 j在后面
, C. t: x# q! H3 a: B. _8 J4 I
$ c- j4 \! i" k1 ?0 k/ }[ 2.387752] PHY davinci_mdio-0:00 not found // 这里应该是没有和前面匹配好。这里就是davinci_mdio-0:00了/ d7 |. R% y2 V! p6 |
[ 2.392184] net eth0: could not connect to phy davinci_mdio-0:00$ G$ L# Q$ N" O' d& k3 m2 {: r
2 y9 |% e1 \4 q4 w x6 n
请问下这是什么原因?7 Y* s9 P1 k7 y3 d
- n* {& X9 E- H: y4 y/ b( S& d我百度了一下相关的问题:有介绍的说( J% p1 M+ O$ q, T1 |
+ M! e+ |3 e* g* G6 X w) v
由于TI的SDK包中使用的general PHY driver,所以修改很简单,更明确地说,是确认配置。3 A* _% A7 [- w7 A0 W
' R9 A4 K, [5 X# D" k建议调试在u-boot中进行,方便确认问题。
/ q: e' `& I9 _) B3 j4 j" ]* w) a0 K9 c- j/ w- k* l I: ]
u-boot下主要确认三点:3 ]& X- |. w! {9 x
; w3 q" ~% s# @* s
1)Program GMII_SEL in control module with 0x5 for RMII Interface // 请问下对于omapl138 如何操作
: b7 a( g+ ^- @$ ?9 x/ f
: I, e0 m1 {$ o2)Pinmux configuration to support rmii interface //这个我应该已经满足/ W+ c& x1 e1 @5 ~6 n
& d& T) a' T/ R7 D* E3)Phy ID setting in Platform data(由PHY的硬件电路决定,通过在PHY_ID的三个管脚上下拉来决定) //这里我一直没有找到配置的具体地方??
# z! W9 T; n$ }& a" \7 J4 l" [( g+ o+ A. n$ u
Linux下调试也是确认以上三点。
6 p4 c, C7 u7 B2 C) M4 R' {/ Y
可以指点下吗? |
|