内核驱动 smsc47b397

支持的芯片

  • SMSC LPC47B397-NC

  • SMSC SCH5307-NS

  • SMSC SCH5317

    前缀: ‘smsc47b397’

    扫描地址:无,地址从 Super I/O 配置空间读取

    数据表:在此文件中

作者

2004 年 11 月 23 日

以下规范描述了 SMSC LPC47B397-NC [1] 传感器芯片(没有公开的数据表)。本文档由 Craig Kelly (In-Store Broadcast Network) 提供,并由 Mark M. Hoffman <mhoffman@lightlink.com> 编辑/更正。


检测 HP SIO 并在 dc7100 上读取热数据的方法

dc7100 上的热信息包含在 SIO 硬件监视器 (HWM) 中。该信息通过索引/数据对访问。索引/数据对位于 HWM 基址 + 0 和 HWM 基址 + 1。HWM 基址可以从逻辑设备 8 的寄存器 0x60 (MSB) 和 0x61 (LSB) 中获得。目前,我们使用 0x480 作为 HWM 基址,0x480 和 0x481 作为索引/数据对。

读取温度信息。温度信息位于以下寄存器中

Temp1

0x25

(目前,这反映了所有系统上的 CPU 温度)。

Temp2

0x26

Temp3

0x27

Temp4

0x80

编程示例以下是如何读取 HWM 温度寄存器的示例

MOV     DX,480H
MOV     AX,25H
OUT     DX,AL
MOV     DX,481H
IN      AL,DX

AL 包含十六进制数据,摄氏温度为十进制等效值。

示例:如果 AL 包含 0x2A,则温度为 42 摄氏度。

读取转速信息。风扇速度信息位于以下寄存器中

Tach1

0x28

0x29

(目前,这反映了所有系统上的 CPU 风扇速度)。

Tach2

0x2A

0x2B

Tach3

0x2C

0x2D

Tach4

0x2E

0x2F

重要

读取转速 LSB 会锁定转速 MSB。必须先读取 LSB。

如何将转速读数转换为 RPM

转速读数 (TCount) 由下式给出:(转速 MSB * 256) + (转速 LSB) SIO 计算每转 90kHz (11.111us) 脉冲的数量。RPM = 60/(TCount * 11.111us)

示例

Reg 0x28 = 0x9B
Reg 0x29 = 0x08

TCount = 0x89B = 2203

RPM = 60 / (2203 * 11.11111 E-6) = 2451 RPM

获取 SIO 版本。

配置顺序

要对配置寄存器进行编程,必须遵循以下顺序:1. 进入配置模式 2. 配置配置寄存器 3. 退出配置模式。

进入配置模式

要将芯片置于配置状态,配置密钥 (0x55) 将写入 CONFIG PORT (0x2E)。

配置模式

在配置模式下,索引端口位于 CONFIG PORT 地址,数据端口位于索引端口地址 + 1。

通过两个步骤访问所需的配置寄存器

  1. 将逻辑设备编号配置寄存器的索引(即 0x07)写入索引端口,然后将所需逻辑设备的编号写入数据端口。

  2. 将逻辑设备中所需配置寄存器的地址写入索引端口,然后通过数据端口写入或读取配置寄存器。

注意

如果访问全局配置寄存器,则不需要步骤 (a)。

退出配置模式

要退出配置状态,请将 0xAA 写入 CONFIG PORT (0x2E)。芯片返回到运行状态。(这很重要)。

编程示例

以下是如何读取位于 0x20 的 SIO 设备 ID 的示例

; 进入配置模式 MOV DX,02EH MOV AX,055H OUT DX,AL ; 全局配置寄存器 MOV DX,02EH MOV AL,20H OUT DX,AL ; 读取数据 MOV DX,02FH IN AL,DX ; 退出配置模式 MOV DX,02EH MOV AX,0AAH OUT DX,AL

用于识别 dc7100 上的 SIO 的感兴趣寄存器是设备 ID (0x20) 和设备修订版 (0x21)。

设备 ID 将读取 0x6F(SCH5307-NS 为 0x81,SCH5317 为 0x85)设备修订版当前读取 0x01

获取 HWM 基址

以下是如何读取位于逻辑设备 8 中的 HWM 基址的示例

; ENTER CONFIGURATION MODE
MOV     DX,02EH
MOV     AX,055H
OUT     DX,AL
; CONFIGURE REGISTER CRE0,
; LOGICAL DEVICE 8
MOV     DX,02EH
MOV     AL,07H
OUT     DX,AL ;Point to LD# Config Reg
MOV     DX,02FH
MOV     AL, 08H
OUT     DX,AL;Point to Logical Device 8
;
MOV     DX,02EH
MOV     AL,60H
OUT     DX,AL   ; Point to HWM Base Addr MSB
MOV     DX,02FH
IN      AL,DX   ; Get MSB of HWM Base Addr
; EXIT CONFIGURATION MODE
MOV     DX,02EH
MOV     AX,0AAH
OUT     DX,AL