|
|
发表于 2009-12-23 17:46:31
|
显示全部楼层
先说我不是大牛喔 & K" @. y& c- Y# a
' v, a5 ~* p% @4 i没错,读clockgen是用block r/w6 c3 B; Q7 d6 n# j
9 M% _. {5 u( P A( b9 r3 `- {
流程和byte,word r/w类似4 P1 ~$ p0 M+ t
% ^' K6 V. O% y2 @
1) check host_status reg(smbusbase+0x0)的busy bit(bit0)=0,否则clear status(写0xfe进去)
/ b. d" }+ V5 ^* F" f2)按部就班,写clkgen的slave address和protocol和cmd到相应的寄存器并且开始读写(smbusbase+0x2 bit6)
$ _5 V) I$ o5 U- A3)等待smbusbase+0x0 bit7,bit2=1并且check smbase+0x0 bit4位看有没有错误(=0就OK)* s8 `% }3 V; r. o/ `+ {2 E# i
4)在host data0 reg可以拿到block count,然后依次在smbase+0x07就可以拿到clkgen data啦
6 J9 D+ }4 F+ T
3 r, v% f7 B6 E& W) |2 c写也类似
) G \/ K9 n5 v% _
, R. N, x) M& h5 }; e7 l小弟这里也写了一个类似的工具hwiotest
hwiotest.rar
(566.7 KB, 下载次数: 1344)
|
|