📄 pm_if.h
字号:
/*
* description: PM I/F definition
* Maker : Kagaya Michiru
* Copyright : (C)2003,SEIKO EPSON Corp. All Rights Reserved.
*
*--------------------------------------------------------------------------
* $Id: PM_IF.h,v 1.5 2006/08/10 08:11:28 0684248 Exp $
*/
#include "SPRDEF.h"
/*
Prevention for double include
*/
#ifndef PM_IF
#define PM_IF
/*
* Designate the linkage
*/
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/*=== CPU Configuration ==================================================*/
typedef struct _PM_IF_CPU_CONFIG{
UCHAR clkSel :1; // CLK Select
UCHAR IntLevel :1; // Int Level
UCHAR IntMode :1; // Int Mode
UCHAR DREQ_Level :1; // DREQ Level
UCHAR DACK_Level :1; // DACK Level
UCHAR CS_Mode :1; // CS Mode
UCHAR CPU_Swap :1; // CPU Swap
UCHAR BusMode :1; // XWRH/L mode
UCHAR Bus8x16 :1; // 8x16
} PM_IF_CPU_CONFIG, *PPM_IF_CPU_CONFIGG;
/*=== CPU_CONFIG.clkSel ====================================================*/
#define PM_IF_CLK12 (0) // Clk 12MHz
#define PM_IF_CLK24 (1) // Clk 24MHz
/*=== CPU_CONFIG ===========================================================*/
#define PM_IF_LOW_ACT (0) // Low Active
#define PM_IF_HIGH_ACT (1) // High Active
/*=== CPU_CONFIG.IntMode ===================================================*/
#define PM_IF_1_0_MODE (0) // 1/0 Mode
#define PM_IF_HiZ_0_MODE (1) // Hi-z/0 Mode
/*=== CPU_CONFIG.CS_MODE ===================================================*/
#define PM_IF_DACK_MODE (0) // DACK Mode
#define PM_IF_CS_MODE (1) // CS Mode
/*=== CPU_CONFIG.CPU_Swap ==================================================*/
#define PM_IF_CPU_SWAP_OFF (0) // Do nothing
#define PM_IF_CPU_SWAP_ON (1) // Bus Swap
/*=== CPU_CONFIG.BusMode ===================================================*/
#define PM_IF_XWR_MODE (0) // XWRH/L mode
#define PM_IF_XBE_MODE (1) // XBEH/L mode
/*=== CPU_CONFIG.Bus8x15 ===================================================*/
#define PM_IF_BUS16 (0) // 16bit mode
#define PM_IF_BUS8 (1) // 8bit mode
/*=== PM_STATE ============================================================*/
#define PM_IF_PMSTATE_SLEEP 0x00
#define PM_IF_PMSTATE_SNOOZE 0x01
#define PM_IF_PMSTATE_ACT_60 0x03
#define PM_IF_PMSTATE_ACT_DEVICE 0x07
#define PM_IF_PMSTATE_ACT_HOST 0x0B
/*=== EVENT ===============================================================*/
#define PM_IF_FINISHED_PM 0x20
#define PM_IF_EVENTON (1)
#define PM_IF_EVENTOFF (0)
/*=== Function Prototype ==================================================*/
extern LONG PM_IFReset ( const PM_IF_CPU_CONFIG *cpuConfig );
extern LONG PM_IFSetWakeupTim ( USHORT time ); // Wakeup Time
extern LONG PM_IFGetPMState ( UCHAR *pmState ); //
extern LONG PM_IFSetPMState ( UCHAR pmState ); //
extern LONG PM_IFSetIntEvent(UCHAR event,UCHAR flag);
extern LONG PM_IFRegisterCBRFinishedPM ( const CALLBACK_PROC pfnCallback );
extern LONG PM_IFUnregisterCBRFinishedPM ( const CALLBACK_PROC pfnCallback );
extern void PM_IFInterruptProc ( UCHAR sieIntEnb );
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* PM_IF */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -