|
|
8#

楼主 |
发表于 2017-4-21 15:31:34
|
只看该作者
vefone 发表于 2017-4-17 20:403 ]. h4 \! W" D* x" s4 r* S
linux的网络驱动部分基本不用你去作修改。因为板级和底层的驱动都已经写好。; C3 @) v+ C5 h6 \% {! i
一般来说,板级的emac驱动都 ...
" j/ D" g1 }- \. [# \8 T" Zvefone您好,有些还需要请教下您。
. q% k7 t5 {7 W; j4 k0 w e; x% l然后,我另一个板子的PHY芯片是KSZ8893,是RMII接口的,我没找到在哪里修改为RMII,我就在最初配置的时候将rmii_en设置为1
( W# P* Y# r' p2 j6 E5 T7 f y$ S! `
void __init davinci_common_init(struct davinci_soc_info *soc_info)
* P" ~ {9 s. Z
1 k, ]) }4 _4 O{
3 X; B s/ }" j N6 w
+ T4 k' m( |8 O" G: ^8 E1 d davinci_soc_info.emac_pdata->rmii_en = 1; //在后面验证了一下是没有被清零,一直为1,说明使用的是rmii接口
, I- f. a5 W4 ^5 k& y5 ]4 w* m, c9 W, T7 C, o; K9 D! i+ G' f# I
}
) m$ E$ \$ r7 H7 }+ P7 M2 J, q9 J b5 [. `, x+ t! r% p
//XXX 还是前面的9 Z3 M7 `9 r& v6 ?, l) k7 o1 _
[ 2.111605] davinci_mdio davinci_mdio.0: phy[1]: device davinci_mdio-0:01, driver unknown // 这里我发现是device davinci_mdio-0:01,
6 h% C9 o" `7 N" x+ }[ 2.119866] davinci_mdio davinci_mdio.0: phy[2]: device davinci_mdio-0:02, driver unknown
% D( W* y: d9 j9 F& f. I$ n. t[ 2.128281] davinci_mdio davinci_mdio.0: phy[3]: device davinci_mdio-0:03, driver unknown% T0 R/ ^/ r: x
5 Q% U# q" ~/ _; h/ ]& {3 n
在后面
& e& C& I# r P. D8 v# {( ~! U1 K6 I+ v o
[ 2.387752] PHY davinci_mdio-0:00 not found // 这里应该是没有和前面匹配好。这里就是davinci_mdio-0:00了( y- i3 C0 u1 i
[ 2.392184] net eth0: could not connect to phy davinci_mdio-0:00# U- E3 V/ D$ O' K' d
[2 A1 ^3 t2 \* Z F3 U% u请问下这是什么原因?
" M, a5 @' p7 }6 {; M- E/ u l$ i* P4 o! I$ |9 r9 ]9 U! j, a
我百度了一下相关的问题:有介绍的说: D3 Y& W" W, E- p: {
$ s) U. Y! P$ {. b: s! D
由于TI的SDK包中使用的general PHY driver,所以修改很简单,更明确地说,是确认配置。4 g3 f; @- G/ [( S3 _; p! M
" h" ^* { b9 ^: V! @建议调试在u-boot中进行,方便确认问题。( o0 B2 ~$ F- V
( l! t2 r4 E+ k4 z
u-boot下主要确认三点:
/ U! @7 t: y: O' a1 @7 V( \$ |* _. X% O. N2 K! D
1)Program GMII_SEL in control module with 0x5 for RMII Interface // 请问下对于omapl138 如何操作- e- G. r0 M4 e/ @4 L( c
1 M% s( O( R" D2 K4 h2)Pinmux configuration to support rmii interface //这个我应该已经满足
- e0 g4 I5 i! j o2 b; y6 T3 r. }/ u0 Y% y% e0 Q; J! p1 }
3)Phy ID setting in Platform data(由PHY的硬件电路决定,通过在PHY_ID的三个管脚上下拉来决定) //这里我一直没有找到配置的具体地方??
1 ^, q+ Z$ i; M% C0 J1 Q/ J) F! n: J
Linux下调试也是确认以上三点。
) r9 k' N: V& M* S
0 i! M, _3 D4 v, R2 Y# S可以指点下吗? |
|