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

关于Clock gen的读取 (block mode)

[复制链接]
发表于 2009-12-17 10:19:21 | 显示全部楼层 |阅读模式
最近在练习用C编写在windows下读取smbus设备的程序。
& ~( M7 U9 }: B, _% d看了下相关的资料,并且结合RW的帮助文档,发现读取Clock Generator要采用block mode(block read)方式。5 g' @0 V/ m  X4 F0 T( Q
请教各位大牛,关于block read的大概步骤(我也找到了相关的步骤,但是对其中的某些步骤没有理解。)。
9 ?" L6 L6 O' c- l) O9 W6 \6 U最好能给些例子。
) c) S4 ^. ]7 R谢了。; w5 L0 }1 a9 a+ t) I" p) r
Platform:montevina7 D5 X5 l% l/ W) t1 L& e( o' b: x
chipset:PM45(ICH9M)
5 U/ U( D8 e1 n7 f$ G+ }% E$ D6 `再次感谢。
发表于 2009-12-23 17:46:31 | 显示全部楼层
先说我不是大牛喔. o- T2 i7 I7 j% a( I( ]
, @: i9 k) v3 g( N8 J  }2 T; N
没错,读clockgen是用block r/w- {. M2 B$ V) t5 M" x9 Z4 \

- `* E9 [; G) D' O  Q6 @, A( I! s流程和byte,word r/w类似
' X! l) @4 g' ?  I/ I6 f/ v: z# f! V6 z9 T! k" |# T
1) check  host_status reg(smbusbase+0x0)的busy bit(bit0)=0,否则clear status(写0xfe进去)- q$ [5 w, F! b. Z* |# j3 D7 m' w
2)按部就班,写clkgen的slave address和protocol和cmd到相应的寄存器并且开始读写(smbusbase+0x2 bit6)
. ?' M5 ^2 n% p/ @+ g' _# w1 b3)等待smbusbase+0x0 bit7,bit2=1并且check smbase+0x0 bit4位看有没有错误(=0就OK)( d7 b- i  Y% X! i7 y! R1 v6 `
4)在host data0 reg可以拿到block count,然后依次在smbase+0x07就可以拿到clkgen data啦' v! e7 ~% r. n2 m% y* z7 U
; g8 o/ W6 r0 f  ]
写也类似/ y) s2 X4 }: x

6 a: C1 O1 |, e0 V$ b小弟这里也写了一个类似的工具hwiotest hwiotest.rar (566.7 KB, 下载次数: 1367)
回复

使用道具 举报

发表于 2009-12-26 10:01:15 | 显示全部楼层
二楼的大牛,佩服了,做的工具不错!
3 G5 S. f( Y- P: T不过不知道为啥,经常会死掉,是不是我不会使用啊- v# k5 ?0 T) |% s$ P! N2 N  G
另外能不能把代码跟我们分享一下,供小弟们学习学习!
回复

使用道具 举报

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

HardwareEditorv0.27.rar

539.6 KB, 下载次数: 1308

回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

回复 4# Faintsnow 的帖子

这个工具很不错,我最近在练习在Win环境下读取各种HW,不知道能否发扬一下Open Source精神 # v; G$ |- u5 ~1 b5 T; `$ ?7 {
或者发到我的邮箱:lscumt@163.com,谢了
回复

使用道具 举报

发表于 2010-1-24 22:03:08 | 显示全部楼层
共享方法,学习+ C- f4 L( e7 q; w" c4 Y
9 q) w( f# Z# V( p+ S1 s4 ^2 S0 V
读写clockgen基本都是用i/o的方法,但是要对不同的chipset写不同的控制流程,应该还有更好的一劳永逸的方法
8 r/ ?0 k- W7 Z3 f, |1 E2 M" S$ {
  M. A" j) K6 N7 f) F* V& r) `% W% e  `9 u0 N9 @! L+ ?+ u
另外求realtek瑞昱的clockgen的datasheet(小弟不在bios行业,realtek clockgen数据表又不能公开下载).9 v) y  Y4 w4 j* V4 X
6 b/ h8 {% ?' m0 M! A7 C: n8 k! F. i
如果哪位大哥好心能提供的话,请把datasheet email到chengjunlinfifa@gmail.com,感谢~
回复

使用道具 举报

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

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

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-4 20:24 , Processed in 0.051092 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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