内核驱动 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>.


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

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 摄氏度。

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

转速1

0x28

0x29

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

转速2

0x2A

0x2B

转速3

0x2C

0x2D

转速4

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)。

配置模式

在配置模式下,INDEX PORT 位于 CONFIG PORT 地址,DATA PORT 位于 INDEX PORT 地址 + 1。

所需的配置寄存器分两步访问

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

  2. 将逻辑设备中所需配置寄存器的地址写入 INDEX PORT,然后通过 DATA PORT 写入或读取配置寄存器。

注意

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

退出配置模式

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

编程示例

以下是如何读取位于 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) 和设备 Rev (0x21)。

设备 ID 将读取 0x6F(SCH5307-NS 为 0x81,SCH5317 为 0x85),设备 Rev 目前读取 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