核心驅動 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