⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smckxl.inc

📁 SMSC KBC1100键盘控制器原代码
💻 INC
字号:
;***************************************************************************
;STDSMCKL.OPT - STD Option file for SMSC 206-pin Keyboard & Auxiliary
;               Device Controller with Internal ScanCode & PS/2 Mouse
;               Controller.
;***************************************************************************
;    Revision Information  $Revision:   0.12    $
;                          $Date:       11-NOV-2004 18:42:51   $
;***************************************************************************

FALSE           equ     0       ; Logical conventions, always=0
TRUE            equ     1       ; Logical conventions, always=1

;----------------------- SHIPMENT INFORMATION -------------------------------
;----------------------------------------------------------------------------
MODEL1          equ    0AAh     ; Model Number byte 1
MODEL2          equ    055h     ; Model Number byte 2
SHIP            equ    000h     ; Customer Ship Number
CHKSUM          equ    000h     ; Checksum will be filled by CONVERT utility
                                ; only for BIN output file
                                ; (do not change these definition)

;----------------------- CUSTOMIZATIONS -------------------------------------
;----------------------------------------------------------------------------
                                ; (only GNRHOOK and one of the HOOK are true)
GNRHOOK         equ     TRUE    ; True if support OEM HOOK

;----------------------- Code start address ---------------------------------
;----------------------------------------------------------------------------
CodeBase        equ     0000h   ; Code Begin Address.

;----------------------- OPTIONS --------------------------------------------
;----------------------------------------------------------------------------
INITKS7         equ  00000011b ; {KSTATE7}
                                ;  B7 - Mouse Driver Hot Plug Support
                                ;  B6 - Disable Hot Pluggability
                                ;  B5 - Disable Internal Aux Support
                                ;  B4 - Aux Operations Control (bit1)
                                ;  B3 - Aux Operations Control (bit0)
                                ;  B2 - Aux Status Bit3 Mask#
                                ;  B1 - IntAux Stat Bit3 Not Masked (0=Masked)
                                ;  B0 - ExtAux Stat Bit3 Not Masked (0=Masked)
                                ;  Aux Operations Control:
                                ;  00 - Simultaneous Mode
                                ;  01 - External Aux - Primary Device
                                ;  10 - Hot Switch Mode
                                ;  11 - Alternative Mode
INITKS8         equ  01010000b ; {KSTATE8}
                                ;  B7 - Ctrl/Alt/Shift Key clear Fn flag
                                ;  B6 - Dynamic In Pad Support (0=Static)
                                ;  B5 - GA20 & KBRC output disabled (0=enbled)
                                ;  B4 - 3D Mouse Extended support enabled
                                ;  B3 - Battery Type (bit3)
                                ;  B2 - Battery Type (bit2)
                                ;  B1 - Battery Type (bit1)
                                ;  B0 - Battery Type (bit0)
                                ;  100     = Two Benchmarq IC support
                                ;  011/010 = Two Sony BP / One Sony BP
                                ;  001/000 = Duracell (SMBus) / No Battery
INITKS9         equ  00000000b ; {KSTATE9} B7-B2 - Reserved (should be 0)
                                ;  Bit 1,0 are the only Build Options
                                ;  B1 - PS/2 Port Configuration (bit1)
                                ;  B0 - PS/2 Port Configuration (bit0)

LEDM             equ  11100000b ; {LEDMsk} B3-B0 - Reserved (should be 0)
                                ;  Bit 7-4 are the only Build Options
                                ;  B7 - Scroll Lock/Fn Key LED0 output enabled
                                ;  B6 - Num Lock LED1 output enabled
                                ;  B5 - Caps Lock LED2 output enabled
                                ;  B4 - Pad/Kana Lock/Charging/Fn Key LED3
                                ;       output enabled

INITCFG          equ  00000001b ; {KSTATEA} B6-B2 - Reserved (should be 0)
                                ;  Bit 7,1,0 are the only Build Options
                                ;  B7 - AX Kana LED (1=enbl-AX Kbd, 0=disbl)
                                ;  B1 - Kbd I.D. (1=AB,84-OADG Kbd, 0=AB,83)
                                ;  B0 - Scan algorithm (0=CMPD  1=Port3)

INIFnSTK         equ  00000000b ; {FnSTICKY} B4-B0 - Reserved (should be 0)
                                ;  Bit 7-5 are the only Build Options
                                ;  B7 - Fn Sticky Key support enabled
                                ;  B6 - Fn Key status mapped to LED0
                                ;  B5 - Fn Key status mapped to LED3
;----------------------------------------------------------------------------
                                ; (One and only one CLK??MHZ need to be TRUE)
CLK32MHZ        teq     FALSE   ; Optional Frequency (default FALSE)
CLK24MHZ        teq     FALSE   ; Optional Frequency (default FALSE)
CLK16MHZ        teq     TRUE    ; Recommend Default Frequency (default TRUE)
CLK12MHZ        teq     FALSE   ; Optional Frequency (default FALSE)
;----------------------------------------------------------------------------
HWGateA20       equ     TRUE    ; True for trapping the D1h cmd in hardware
HWSyReset       equ     TRUE    ; True for trapping the FEh cmd in hardware
ThrDPorts       teq     TRUE    ; True for 3 PS/2 Devices Support (2 mice)
TwoDPorts       teq     TRUE    ; True for both Port0 & Port1 are supported
SwapDPort       teq     TRUE    ; True for Auto Port Swapping Detection
EMUINTAUX       equ     TRUE    ; True for Internal AUX emulatation support
WDT_Enbl        equ     FALSE   ; True for WatchDog Timer Enable
BlockCmds       teq     TRUE    ; True for No Device Commands thru Security
EnIDLE          teq     TRUE    ; Idle mode support (default TRUE)
;----------------------- I/0 PORT INITIALIZATION ----------------------------
;----------------------------------------------------------------------------
;---------------------GPIO A Port--------------------------------------------
;                     76543210  ; PA.7-0 Direction initialized
GPIODA_I       equ    00000000b
;                     76543210  ; PA.7-0 Output initialized
GPIOOA_I       equ    00000000b

;---------------------GPIO B Port--------------------------------------------
;                     76543210  ; PB.7-0 Direction initialized
GPIODB_I       equ    00000000b
;                     76543210  ; PB.7-0 Output initialized
GPIOOB_I       equ    00000000b

;---------------------GPIO C Port--------------------------------------------
;                     76543210  ; PC.7-0 Direction initialized
GPIODC_I       equ    00000000b
;                     76543210  ; PC.7-0 Output initialized
GPIOOC_I       equ    00000000b

;---------------------GPIO D/E Port------------------------------------------
;                     76543210  ; LED    Output initialized
LED_I          equ    00000000b
;                     76543210  ; PD.7-0 Output initialized
OUTD_I         equ    00000000b
;                     76543210  ; PE.7-0 Output initialized
OUTE_I         equ    00000000b

;---------------------LPC GPIO Control---------------------------------------
;                     76543210  ; LPC Select initialized
LGPIO_LPCSEL_I   equ  00000000b
;                     76543210  ; GPIO buffer initialized
GPIO_BUFTYP_I    equ  00000000b

;---------------------GPIO H Port--------------------------------------------
;                     76543210  ; PH.7-0 Direction initialized
LGPIO_DRH_I      equ  00000000b
;                     76543210  ; PH.7-0 Output initialized
LGPIO_ORH_I      equ  00000000b
;                     76543210  ; PH.7-0 Buffer Type initialized
LGPIO_BUFTYP_H_I equ  00000000b

;---------------------GPIO I Port--------------------------------------------
;                     76543210  ; PI.7-0 Direction initialized
LGPIO_DRI_I      equ  00000000b
;                     76543210  ; PI.7-0 Output initialized
LGPIO_ORI_I      equ  00000000b
;                     76543210  ; PI.7-0 Buffer Type initialized
LGPIO_BUFTYP_I_I equ  00000000b

;---------------------GPIO J Port--------------------------------------------
;                     76543210  ; PJ.7-0 Output initialized
SGPIO_ORJ_I      equ  00000000b
;                     76543210  ; PJ.7-0 Direction initialized
SGPIO_DRJ_I      equ  00000000b
;                     76543210  ; PJ.7-0 Buffer Type initialized
GPIO_BUFTYPJ_I   equ  00000000b

;---------------------GPIO J Port--------------------------------------------
;                     76543210  ; PK.7-0 Output initialized
SGPIO_ORK_I      equ  00000000b
;                     76543210  ; PK.7-0 Direction initialized
SGPIO_DRK_I      equ  00000000b
;                     76543210  ; PK.7-0 Buffer Type initialized
GPIO_BUFTYPK_I   equ  00000000b

;---------------------GPIO L Port--------------------------------------------
;                     76543210  ; PL.7-0 Direction initialized
GPIODL_I         equ  00000000b
;                     76543210  ; PL.7-0 Output initialized
GPIOOL_I         equ  00000000b
;                     76543210  ; PL.7-0 Buffer Type initialized
GPIO_BTCL_I      equ  00000000b
;                     76543210  ; PL.7-0 Pull-Up initialized
GPIO_PUEL_I      equ  00000000b
;                     76543210  ; PL.7-0 Pull-Down initialized
GPIO_PDEL_I      equ  00000000b

;---------------------GPIO M Port--------------------------------------------
GPIODM_I         equ  00000000b ; PM.7-0 Direction initialized
;                     76543210
GPIOOM_I         equ  00000000b ; PM.7-0 Output initialized
;                     76543210
GPIO_BTCM_I      equ  00000000b ; PM.7-0 Buffer Type initialized
;                     76543210
GPIO_PUEM_I      equ  00000000b ; PM.7-0 Pull-Up initialized
;                     76543210
GPIO_PDEM_I      equ  00000000b ; PM.7-0 Pull-Down initialized
;                     76543210

;---------------------GPIO N Port--------------------------------------------
GPIODN_I        equ   00000000b ; PN.7-0 Direction initialized
;                     76543210
GPIOON_I        equ   00000000b ; PN.7-0 Output initialized
;                     76543210
GPIO_BTCN_I     equ   00000000b ; PN.7-0 Buffer Type initialized
;                     76543210
GPIO_PUEN_I     equ   00000000b ; PN.7-0 Pull-Up initialized
;                     76543210
GPIO_PDEN_I     equ   00000000b ; PN.7-0 Pull-Down initialized

;---------------------GPIO Q Port--------------------------------------------
GPIODQ_I        equ   00000000b ; PQ.7-0 Direction initialized
;                     76543210
GPIOOQ_I        equ   00000000b ; PQ.7-0 Output initialized
;                     76543210
GPIO_BTCQ_I     equ   00000000b ; PQ.7-0 Buffer Type initialized
;                     76543210
GPIO_PUEQ_I     equ   00000000b ; PQ.7-0 Pull-Up initialized
;                     76543210
GPIO_PDEQ_I     equ   00000000b ; PQ.7-0 Pull-Down initialized

;---------------------GPIO R Port--------------------------------------------
GPIODR_I        equ   00000000b ; PR.7-0 Direction initialized
;                     76543210
GPIOOR_I        equ   00000000b ; PR.7-0 Output initialized
;                     76543210
GPIO_BTCR_I     equ   00000000b ; PR.7-0 Buffer Type initialized
;                     76543210
GPIO_PUER_I     equ   00000000b ; PR.7-0 Pull-Up initialized
;                     76543210
GPIO_PDER_I     equ   00000000b ; PR.7-0 Pull-Down initialized

;---------------------GPIO S Port--------------------------------------------
GPIODS_I        equ   00000000b ; PS.7-0 Direction initialized
;                     76543210
GPIOOS_I        equ   00000000b ; PS.7-0 Output initialized
;                     76543210
GPIO_BTCS_I     equ   00000000b ; PS.7-0 Buffer Type initialized
;                     76543210
GPIO_PUES_I     equ   00000000b ; PS.7-0 Pull-Up initialized
;                     76543210
GPIO_PDES_I     equ   00000000b ; PS.7-0 Pull-Down initialized

;----------------------------------------------------------------------------
; Multiplexing Pins Configuration (VCC1POR=0)
;----------------------------------------------------------------------------
MPX_1_I         equ   00000000b ; {MPX_1}
                                ; M07/B7 - 1=GPIO 8.9   : IRCC BLOCK Port=0
                                ; M06/B6 - 1=OUT8       : KSO12          =0
                                ; M05/B5 - RESERVED
                                ; M04/B4 - 1=PWM0       : OUT10          =0
                                ; M03/B3 - 1=8051_TX    : GPIO21         =0
                                ; M02/B2 - 1=IR DATA Reg: IRCC BLOCK     =0
                                ; M01/B1 - 1=PS2CLK.DAT : GPIO20.21      =0
                                ; M00/B0 - 1=GPIO 8.9   : IRCC BLOCK Port=0

MPX_2_I         equ   00000000b ; {MPX_2}
                                ; M16/B7 - 10:IRRX3B Inp/ 11:Reserved
                                ; M15/B6 - 00:GPIO10    / 01:IRMODE IRCC2.0 GP Data Out
                                ; M14/B5 - 10:IRRX3A Inp/ 11:Reserved
                                ; M13/B4 - 00:GPIO6     / 01:IRMODE IRCC GP Data Out
                                ; M12/B3 - 1=PWM1       : OUT11          =0
                                ; M11/B2 - 1=PWM0       : OUT9           =0
                                ; M10/B1 - Reserved
                                ; M09/B0 - 1=KSO14.15   : GPIO4.5        =0

MPX_3_I         equ   00000000b ; {MPX_3}
                                ; M23/B7 - 1= FAN_TACH1 : GPIO15
                                ; M22/B6 - Reserved
                                ; M21/B5 - 1= FAN_TACh2 : GPIO16
                                ; M20/B4 - 10:I2C2 A&B Dat.Clk /11:Reserved
                                ; M19/B3 - 00:GPIO11.2.3.4     /01:I2C2A_Dat.Clk& GPIO13.4
                                ; M18/B2 - 1= ESMI            / OUT7     =0
                                ; M17/B1 - 1=GPIO 18    : KSO13          =0
                                ; M16/B0 - Reserved
MPX_4_I         equ   00000000b ; {MPX_4}
                                ; M31/B7 - 1= KSO17     : GPIO1          =0
                                ; M30/B6 - 1= KSO16     : GPIO0          =0
                                ; M29/B5 - 1= GPIO24

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -