기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
안녕하세요?
uboot-2015, kernel 3-19를 aesopv210보드에 포팅중입니다.
clock은 1Ghz 세팅을 aesop uboot에서 가져다 쓰고있습니다.
타이밍도 역시나 그렇고요, SMC9115_Tacs-0, SMC9115_Tcos-4,SMC9115_Tacc-13, SMC9115_Tcoh-1, SMC9115_Tah-4, SMC9115_Tacp-6,SMC9115_PMC-0 ... 값을 바꿔서 테스트도 해봤는데 큰 차이가 없었습니다.
uboot에서 nfs로 kernel이랑 dtb는 어떻게 가져왔는데, T 가 몇개 찍히는걸보니 타이밍에 문제가 있는듯도 한데(??) 커널 부팅은 됩니다.?? 참고로, u-boot에서는 smc91x를 사용했습니다.
문제는, kernel의 smsc911x 에서 에러가 발생하고 정상동작을 하지않습니다., smsc911x a0000000.lan9220 eth0: smsc911x_mii_read: MII is busy in smsc911x_mii_read???
3.4커널에서는 문제없이 잘 동작했는데 3.19에서는 동작이 않되네요...
코드를 비교해봤는데 크게 다른점은 없는듯 한데...
이런 경우 어떻게 문제에 접근해서 해결을 해야 할지 감이 잘 오지않습니다.
아시는 분께 조언을 부탁드립니다....
감사합니다.
PS. 아래 로그는 smsc911x에 printk로 register read/write을 넣은것입니다.
로그에서는 smsc911x_phy_update_flowcontrol(...) 에서 MII_LPA 읽고난후에 read 값을보면 바뀌지 않고있습니다....??
* <ri , ri> - entry/end smsc911x_mii_read
* <r , r> - entry/end smsc911x_mac_read 입니다.
* {r/w, register, value} 는 smsc911x_read/write_register(..) 에서 얻었습니다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 5.513438] IP-Config: Complete:
[ 5.516378] device=eth0, hwaddr=22:51:e1:0d:bf:7a, ipaddr=192.168.1.129, mask=255.255.255.0, gw=192.168.1.254
[ 5.526777] ri>
[ 5.528486] <ri
[ 5.530145] <r
[ 5.531793] r,a4:40000007
[ 5.534392] w,a4:c0000006
[ 5.536992] r,64:87654321
[ 5.539591] r,a4:40000006
[ 5.542190] r,a8:900
[ 5.544355] r>
[ 5.546003] r,a4:40000006
[ 5.548603] w,a8:940
[ 5.550769] w,a4:80000006
[ 5.553369] r,64:87654321
[ 5.555968] r,a4:6
[ 5.557960] <r
[ 5.559608] r,a4:6
[ 5.561600] w,a4:c0000006
[ 5.564202] r,64:87654321 [ 5.566801] r,a4:40000006
[ 5.569400] r,a8:940
[ 5.571565] r>
[ 5.573211] <r
[ 5.574860] r,a4:40000006
[ 5.577459] w,a4:c0000007
[ 5.580060] r,64:87654321
[ 5.582658] r,a4:40000007
[ 5.585258] r,a8:45e1
[ 5.587510] r>
[ 5.589246] host=192.168.1.129, domain=, nis-domain=(none)
[ 5.595101] bootserver=192.168.1.66, rootserver=192.168.1.66, rootpath=
[ 5.603069] ri>
[ 5.603821] smsc911x a0000000.lan9220 eth0: rx pause disabled, tx pause disabled
[ 5.611278] r,a4:45e1
[ 5.613424] w,a8:0
[ 5.615416] w,a4:80000008
[ 5.618015] r,64:45e1
[ 5.620268] r,a4:45e1
[ 5.622595] w,ac:6e3740
[ 5.624959] smsc911x a0000000.lan9220 eth0: configuring for carrier OK
[ 5.631515] w,88:70070007
[ 5.634146] r,80:45e1
[ 5.636303] r,a0:45e1
[ 5.638874] r,80:45e1
[ 5.640810] w,20:2302a
[ 5.643202] w,20:2a002a
[ 5.645574] w,fifo,cnt:11
[ 5.648209] r,80:45e1
[ 6.636926] r,80:45e1
[ 6.636965] w,20:2302a
제가 코드를 3.19를 보지 않아서 정확하게 답을 드리기는 힘들 듯 하고요..
1. timing은 문제 없을겁니다.
단, 커널이 부팅되고 난 후 srom register를 읽어서 제대로 세팅이 되었는지 확인은 해 보시는게 나을 듯 하고요.
2. 지금 문제는 mii interface인데, 개인적인 추정(?)으로는 아마도 mii관련 세팅이
smsc dts 세팅에서 먼가 빠지지 않았나 생각이 듭니다.
3.4 커널에서 mii관련 어떤 루틴을 거치는지 확인하시고 난 후에, 3.19에서도 같은 루틴으로
가는지 확인 해 보시는게 순서일 듯 싶습니다.
그런데, 3.19까지 포팅하시다니 대단하시네요....^^;;;;
저는 커널 제대로 손 대본지가 거의 1년 쯤 되는 듯 싶은데...ㅠ.ㅠ