bspbacklight.cpp

来自「Freescale ARM11系列CPU MX31的WINCE 5.0下的BSP」· C++ 代码 · 共 110 行

CPP
110
字号
/*---------------------------------------------------------------------------
* Copyright (C) 2005, 2006, Freescale Semiconductor, Inc. All Rights Reserved.
* THIS SOURCE CODE, AND ITS USE AND DISTRIBUTION, IS SUBJECT TO THE TERMS
* AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT 
*--------------------------------------------------------------------------*/
//------------------------------------------------------------------------------
//
//  File:  bspbacklight.c
//
//  Provides BSP-specific configuration routines for the backlight driver.
//  The routines in this file assume that we use IPU built-in pulse-width
//  modulator,
//
//------------------------------------------------------------------------------
#include <windows.h>
#include "bsp.h"

//------------------------------------------------------------------------------
// External Functions


//------------------------------------------------------------------------------
// External Variables


//------------------------------------------------------------------------------
// Defines


//------------------------------------------------------------------------------
// Types


//------------------------------------------------------------------------------
// Global Variables


//------------------------------------------------------------------------------
// Local Variables
static PCSP_IPU_REGS g_pIPU;

//------------------------------------------------------------------------------
// Local Functions


//------------------------------------------------------------------------------
//
// Function: BSPBacklightInitialize
//
// This function maps the IPU registers.
//
// Parameters:
//      None.
//
// Returns:
//      None.
//
//------------------------------------------------------------------------------
void BSPBacklightInitialize()
{
    PHYSICAL_ADDRESS phyAddr;

    phyAddr.QuadPart = CSP_BASE_REG_PA_IPU;

    // Map peripheral physical address to virtual address
    g_pIPU = (PCSP_IPU_REGS)MmMapIoSpace(phyAddr, sizeof(CSP_IPU_REGS), FALSE);
}


//------------------------------------------------------------------------------
//
// Function: BSPBacklightRelease
//
// This function unmaps the IPU registers.
//
// Parameters:
//      None.
//
// Returns:
//      None.
//
//------------------------------------------------------------------------------
void BSPBacklightRelease()
{
    if (g_pIPU)
    {
        MmUnmapIoSpace(g_pIPU, sizeof(CSP_IPU_REGS));
    }

    return;
}


//------------------------------------------------------------------------------
//
// Function: BSPBacklightSetIntensity
//
// This function set backlight level.
//
// Parameters:
//      None.
//
// Returns:
//      None.
//
//------------------------------------------------------------------------------
void BSPBacklightSetIntensity(DWORD level)
{
    INSREG32BF(&g_pIPU->SDC_CUR_BLINK_PWM_CTRL, IPU_SDC_CUR_BLINK_PWM_CTRL_PWM, level);
}

⌨️ 快捷键说明

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