找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 13537|回复: 8

关于Clock gen的读取 (block mode)

[复制链接]
发表于 2009-12-17 10:19:21 | 显示全部楼层 |阅读模式
最近在练习用C编写在windows下读取smbus设备的程序。& Q/ N. w2 R8 T) J( i; f2 C
看了下相关的资料,并且结合RW的帮助文档,发现读取Clock Generator要采用block mode(block read)方式。5 [0 k8 H( {( v+ R# W; o" D2 ?. o5 b6 x
请教各位大牛,关于block read的大概步骤(我也找到了相关的步骤,但是对其中的某些步骤没有理解。)。4 J) Q8 h! V: j9 a
最好能给些例子。) i1 \4 t$ ?3 b4 q& I/ {
谢了。: A( v6 V6 g1 W' x! P3 ]. I& d
Platform:montevina
* n/ Q6 U' R$ p  v. J4 S1 zchipset:PM45(ICH9M)
6 q" q! Q' h: N8 W再次感谢。
发表于 2009-12-23 17:46:31 | 显示全部楼层
先说我不是大牛喔
$ h7 u8 y/ S2 s, l) }0 G3 a; [- P/ e% M8 ^
没错,读clockgen是用block r/w( @- A8 _6 B3 N' [6 W' Z

0 x; |  v2 M% S( s流程和byte,word r/w类似% u% q" X& ~+ R% p" m5 X
; E1 T1 d6 Q# ~0 N( E- m( Y
1) check  host_status reg(smbusbase+0x0)的busy bit(bit0)=0,否则clear status(写0xfe进去)
/ f9 W! [0 I* E2 \2)按部就班,写clkgen的slave address和protocol和cmd到相应的寄存器并且开始读写(smbusbase+0x2 bit6)
! b# l" h! C7 _3 K3)等待smbusbase+0x0 bit7,bit2=1并且check smbase+0x0 bit4位看有没有错误(=0就OK)
' K* z$ I& I3 M6 d: c; G4)在host data0 reg可以拿到block count,然后依次在smbase+0x07就可以拿到clkgen data啦* j4 ?; Q/ ^. u) f7 @  C

3 H+ o2 C/ J3 t. x8 Q- c! D写也类似
( P8 Z  b; z- J/ ?8 o5 ~$ }6 ^8 }9 ^% T. i: V1 P# q* X
小弟这里也写了一个类似的工具hwiotest hwiotest.rar (566.7 KB, 下载次数: 888)
回复

使用道具 举报

发表于 2009-12-26 10:01:15 | 显示全部楼层
二楼的大牛,佩服了,做的工具不错!
* x6 R" x# z; l不过不知道为啥,经常会死掉,是不是我不会使用啊
* K. C7 A1 v- h' ]$ c另外能不能把代码跟我们分享一下,供小弟们学习学习!
回复

使用道具 举报

发表于 2009-12-26 11:36:04 | 显示全部楼层
俺也搞了个比较实用的tool。功能还算齐全。

HardwareEditorv0.27.rar

539.6 KB, 下载次数: 813

回复

使用道具 举报

 楼主| 发表于 2009-12-28 11:34:26 | 显示全部楼层
非常感谢各位的帮助。你们的工具也都相当强大,向你们学习。
' q- U& h5 u8 M; ]2 |8 k这个问题我已经搞定了。我找到了BWG里的详细步骤,调用WinIo的函数,严格遵守步骤,结果就读出来了。
回复

使用道具 举报

发表于 2009-12-28 19:03:59 | 显示全部楼层
有沒有FOR DOS版本及范例,謝謝。
回复

使用道具 举报

 楼主| 发表于 2009-12-29 22:47:05 | 显示全部楼层

回复 4# Faintsnow 的帖子

这个工具很不错,我最近在练习在Win环境下读取各种HW,不知道能否发扬一下Open Source精神
' o; x3 y3 r% k0 C或者发到我的邮箱:lscumt@163.com,谢了
回复

使用道具 举报

发表于 2010-1-24 22:03:08 | 显示全部楼层
共享方法,学习
% q& Z2 f$ c* @& a: v: u1 I
7 A9 r2 |, N; Z9 C7 i  p5 e9 u读写clockgen基本都是用i/o的方法,但是要对不同的chipset写不同的控制流程,应该还有更好的一劳永逸的方法
0 p+ w; O2 Z0 o( N8 S+ t) P6 X
' I8 X- t! t' y' f+ k2 }' Q
3 t# v; @3 |  v2 a( B( U( t5 Q另外求realtek瑞昱的clockgen的datasheet(小弟不在bios行业,realtek clockgen数据表又不能公开下载).
" G! t5 p% t$ F6 N  R! G5 r# F, u" y) V/ o( ]7 q- L
如果哪位大哥好心能提供的话,请把datasheet email到chengjunlinfifa@gmail.com,感谢~
回复

使用道具 举报

发表于 2010-12-20 00:21:31 | 显示全部楼层

共享资源,是我们中华民族传统美德!

共享资源,是我们中华民族传统美德!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2025-12-1 02:53 , Processed in 0.077942 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表