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

📄 pwr.h

📁 此压缩包为杰得开发得z228的BSP的源代码,可以实现很多功能,尤其是视频解码有很好的效果.
💻 H
字号:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//

#ifndef _PWR_DRV_H_
#define _PWR_DRV_H_

#include <pm.h>
#include <windows.h>
#include <ceddk.h>
#include <nkintr.h>

#include "gpiodrv.h"

#define THRDPRI_BATT_FLT        100
#define THRDPRI_POWER           101

#define POWER_THREAD_PRIORITY   THRDPRI_POWER

typedef enum _PWR_STATE {
	UNINITIALIZED,
	INITIALIZE,
	RUN,
	SUSPEND,
	RESUME,
	ADC_ERROR,    
} PWR_STATE, *PPWR_STATE;

#define PCF_SIG ' FCP'

#define VALID_CONTEXT( p ) \
   ( p && p->Sig && PCF_SIG == p->Sig )

// PWR_CONTEXT
#pragma pack(1)

typedef struct _PWR_CONTEXT 
{
    DWORD   Sig;    // Signature
    
    // Saved our OOCS & INTx registers during init/reset/resume 
    // because they are cleared on read, so we loose them.
    UCHAR ResetReg[4];
    BOOL  ResetRegReady;

		volatile GPIO_REGS *pIORegs;

    PWR_STATE   State;

    CRITICAL_SECTION RegCS;

    HANDLE          hI2C;   // I2C Bus Driver
    HANDLE          hUtil;   // UTIL Driver to map in VA
	
    HANDLE IST;
    HANDLE ISTEvent;

    HANDLE hBATT_FLT_IST;
    HANDLE hBATT_FLT_Event;

    DWORD OpenCount;

    //
    // System Global Events
    //
    HANDLE hADC;        // A-to-D Conversion Done
    HANDLE hTSCPRES;    // Touch Pressed

    CEDEVICE_POWER_STATE    Dx;

} PWR_CONTEXT, *PPWR_CONTEXT;

#pragma pack()

// (logical) PDD functions
DWORD HW_Init(PPWR_CONTEXT pPWR);

DWORD HW_Deinit(PPWR_CONTEXT pPWR);

DWORD HW_Open(PPWR_CONTEXT pPWR);

DWORD HW_Close(PPWR_CONTEXT pPWR);

DWORD HW_Read(	PPWR_CONTEXT pPWR,  
								DWORD slvAddr,      // target slave address
								UCHAR addr,         // starting slave word address
								PUCHAR pData,       // buffer
								DWORD count);       // nBytes to read								

DWORD HW_Write(	PPWR_CONTEXT pPWR,  
								DWORD slvAddr,      // target slave address
								UCHAR addr,         // starting slave word address
								PUCHAR pData,       // buffer
								DWORD count);       // nBytes to write

BOOL HW_IOControl(	PPWR_CONTEXT pPWR,
										DWORD dwCode,
										PBYTE pBufIn,
										DWORD dwLenIn,
										PBYTE pBufOut,
										DWORD dwLenOut,
										PDWORD pdwActualOut);

BOOL HW_PowerUp(PPWR_CONTEXT pPWR);

BOOL HW_PowerDown(PPWR_CONTEXT pPWR);

BOOL HW_PowerCapabilities(PPWR_CONTEXT pPWR,PPOWER_CAPABILITIES ppc);

BOOL HW_PowerSet(PPWR_CONTEXT pPWR,PCEDEVICE_POWER_STATE pDx);

BOOL HW_PowerGet(PPWR_CONTEXT pPWR,PCEDEVICE_POWER_STATE pDx);

#endif _PWR_DRV_H_

⌨️ 快捷键说明

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