|
8#
楼主 |
发表于 2017-4-21 15:31:34
|
只看该作者
vefone 发表于 2017-4-17 20:40, m, O9 A& k, y9 f- d# z
linux的网络驱动部分基本不用你去作修改。因为板级和底层的驱动都已经写好。
* R" w U: V& X# Z' W g# T2 g一般来说,板级的emac驱动都 ...
9 y+ A/ V! c4 n9 y, O: |vefone您好,有些还需要请教下您。; ?* y/ ~9 D3 g2 F* }' V
然后,我另一个板子的PHY芯片是KSZ8893,是RMII接口的,我没找到在哪里修改为RMII,我就在最初配置的时候将rmii_en设置为1
4 @) L( ]& K' a$ T& q8 m" A, B W9 J* l$ r8 p$ H
void __init davinci_common_init(struct davinci_soc_info *soc_info)8 _4 l! C$ R5 v9 B2 l# L
r; H y n1 `2 Z{
! u! w2 A9 {! w" p4 ^+ \! S
m& o9 a& E& S' {& B$ q; i davinci_soc_info.emac_pdata->rmii_en = 1; //在后面验证了一下是没有被清零,一直为1,说明使用的是rmii接口
: y. m, |9 V0 m8 S% p+ G8 {8 w, R
2 C, Q3 Q7 ]' T/ d7 R$ `/ k6 V* I# R: ?7 m}; s6 P7 w' n- R0 C+ N8 u8 _
) G. c6 f1 A2 U! m//XXX 还是前面的
' u [ Y; W% h! y _5 e' `[ 2.111605] davinci_mdio davinci_mdio.0: phy[1]: device davinci_mdio-0:01, driver unknown // 这里我发现是device davinci_mdio-0:01,
. z5 P w6 P) D[ 2.119866] davinci_mdio davinci_mdio.0: phy[2]: device davinci_mdio-0:02, driver unknown% H, |4 M# s- `2 v' I0 k. d
[ 2.128281] davinci_mdio davinci_mdio.0: phy[3]: device davinci_mdio-0:03, driver unknown4 U0 D6 M1 p% E3 @% ^
' p8 e4 S5 x; ]' C2 v- q# x6 B/ w在后面: a) N- X3 i6 J4 ]& M2 M5 @
# t$ M% w, X0 W6 t[ 2.387752] PHY davinci_mdio-0:00 not found // 这里应该是没有和前面匹配好。这里就是davinci_mdio-0:00了
. _3 B w1 P5 p[ 2.392184] net eth0: could not connect to phy davinci_mdio-0:00/ \: ~+ r% K. C( P
# g7 p/ G7 ?( A; |* P. ^0 I请问下这是什么原因?* y$ Q. T9 r' M& e1 w8 A
. W0 g& p# W0 y9 p4 p/ a1 H: U) k
我百度了一下相关的问题:有介绍的说' B# @/ w: |4 {0 q/ e( {5 C
' ]2 U2 B! c% k, d$ q/ F1 M1 S8 @( j由于TI的SDK包中使用的general PHY driver,所以修改很简单,更明确地说,是确认配置。
3 l2 P3 z2 h5 b( G# f8 c6 X
; \( }4 x( G3 h$ l4 w, g建议调试在u-boot中进行,方便确认问题。
. X; N- X8 M g, R7 U8 b2 d/ s
5 m+ G% R5 L% E0 ]1 T# C6 }u-boot下主要确认三点:7 L# H3 n0 G8 q0 O N
8 U; q& k' p: T. U8 r R2 `) J1)Program GMII_SEL in control module with 0x5 for RMII Interface // 请问下对于omapl138 如何操作$ i( O) T' b6 I" z% a0 |0 |. J
: W5 U' Q6 Q" U/ P0 |) {7 j: @
2)Pinmux configuration to support rmii interface //这个我应该已经满足
# o) C- Z; m8 a1 G% g/ n& D3 m/ N$ f) |* `1 p$ p
3)Phy ID setting in Platform data(由PHY的硬件电路决定,通过在PHY_ID的三个管脚上下拉来决定) //这里我一直没有找到配置的具体地方??
; ~- B/ c+ S) k
. e( x. k9 H* S! @* D0 m+ E5 y. ILinux下调试也是确认以上三点。$ i& h4 Y T8 l: E8 A
% K1 c$ X1 Y+ R8 K4 E可以指点下吗? |
|