📄 lh7a404_kmi.h
字号:
/***********************************************************************
* $Workfile: lh7a404_kmi.h $
* $Revision: 1.1 $
* $Author: WellsK $
* $Date: Jul 01 2003 10:59:40 $
*
* Project: LH7A404 KMI definitions
*
* Description:
* This file contains the structure definitions and manifest
* constants for the LH7A404 component:
* Keyboard and mouse (PS2) interface
*
* Revision History:
* $Log: //smaicnt2/pvcs/VM/sharpmcu/archives/sharpmcu/software/csps/lh7a404/include/lh7a404_kmi.h-arc $
*
* Rev 1.1 Jul 01 2003 10:59:40 WellsK
* Changed to use abl_types instead of sma_types.
*
* Rev 1.0 Jun 30 2003 16:28:50 WellsK
* Initial revision.
*
*
***********************************************************************
* SHARP MICROELECTRONICS OF THE AMERICAS MAKES NO REPRESENTATION
* OR WARRANTIES WITH RESPECT TO THE PERFORMANCE OF THIS SOFTWARE,
* AND SPECIFICALLY DISCLAIMS ANY RESPONSIBILITY FOR ANY DAMAGES,
* SPECIAL OR CONSEQUENTIAL, CONNECTED WITH THE USE OF THIS SOFTWARE.
*
* SHARP MICROELECTRONICS OF THE AMERICAS PROVIDES THIS SOFTWARE SOLELY
* FOR THE PURPOSE OF SOFTWARE DEVELOPMENT INCORPORATING THE USE OF A
* SHARP MICROCONTROLLER OR SYSTEM-ON-CHIP PRODUCT. USE OF THIS SOURCE
* FILE IMPLIES ACCEPTANCE OF THESE CONDITIONS.
*
* COPYRIGHT (C) 2001 SHARP MICROELECTRONICS OF THE AMERICAS, INC.
* CAMAS, WA
**********************************************************************/
#ifndef LH7A404_KMI_H
#define LH7A404_KMI_H
#include "abl_types.h"
#include "lh7a404_chip.h"
/***********************************************************************
* KMI Register Structure
**********************************************************************/
/* KMI Module Register Structure */
typedef struct
{
volatile UNS_32 mkictrl; /* KMI control register */
volatile UNS_32 mkistatus; /* KMI status register */
volatile UNS_32 mkidata; /* KMI data register */
volatile UNS_32 mkiclkdiv; /* KMI clock divider register */
volatile UNS_32 mkiint; /* KMI interrupt status register */
} KMI_REGS_T;
/***********************************************************************
* KMI control register definitions
**********************************************************************/
/* KMI control register PS2 type select */
#define KMI_PS2_TYPE 0x00000000
/* KMI control register no line control type select */
#define KMI_NLC_TYPE 0x00000020
/* KMI control register enable receiver interrupr bit */
#define KMI_RXINT_EN 0x00000010
/* KMI control register enable transmitter interrupt bit */
#define KMI_TXINT_EN 0x00000008
/* KMI control register interface enable interrupt bit */
#define KMI_ENABLE 0x00000004
/* KMI control register force data signal low bit */
#define KMI_FDATA_LOW 0x00000002
/* KMI control register force clock signal low bit */
#define KMI_FCLOCK_LOW 0x00000001
/***********************************************************************
* KMI status register definitions
**********************************************************************/
/* KMI status register transmit register empty bit */
#define KMI_TX_REG_EMPTY 0x00000040
/* KMI status register transmitter busy bit */
#define KMI_TX_BUSY 0x00000020
/* KMI status register receive register full bit */
#define KMI_RX_REG_FULL 0x00000010
/* KMI status register receiver busy bit */
#define KMI_RX_BUSY 0x00000008
/* KMI status register receiver parity was odd bit */
#define KMI_RX_PAR_ODD 0x00000004
/* KMI status register clock line state mask bit */
#define KMI_CLK_ST_MSK 0x00000002
/* KMI status register data line state mask bit */
#define KMI_DATA_ST_MSK 0x00000001
/***********************************************************************
* KMI data register definitions
**********************************************************************/
/* KMI data register value load macro */
#define KMI_DATA(n) ((n) & 0x000000FF)
/***********************************************************************
* KMI clock divider register definitions
**********************************************************************/
/* KMI clock divider register value load macro */
#define KMI_CLKDIV(n) ((n) & 0x0000000F)
/***********************************************************************
* KMI interrupt status register definitions
**********************************************************************/
/* KMI interrupt status register transmit interrupt pending bit */
#define KMI_TX_INT 0x00000002
/* KMI interrupt status register receive interrupt pending bit */
#define KMI_RX_INT 0x00000001
/* Macro pointing to KMI registers */
#define KMI ((KMI_REGS_T *)(KMI_BASE))
#endif /* LH7A404_KMI_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -