亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? init.c

?? 6410BSP3
?? C
?? 第 1 頁 / 共 2 頁
字號:
//
// 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.
//
//------------------------------------------------------------------------------
//
//  File:  init.c
//
//  Samsung SMDK6410 board initialization code.
//
#include <bsp.h>

UINT32 g_oalIoCtlClockSpeed;

//------------------------------------------------------------------------------
//
//  Global:  g_oalRtcResetTime
//
//  RTC init time after a RTC reset has occured.
//
SYSTEMTIME g_oalRtcResetTime =
{
    2007,     // wYear
    2,        // wMonth
    3,        // wDayofWeek
    14,        // wDay
    12,        // wHour
    0,        // wMinute
    0,        // wSecond
    0        // wMilliseconds
};

static void InitializeGPIO(void);
static void InitializeCLKGating(void);
static void InitializeBlockPower(void);
static void InitializeCLKSource(void);
static void InitializeRTC(void);
extern void InitializeOTGCLK(void);

//------------------------------------------------------------------------------
//
//  OEMSetMemoryAttributes
//
//  OEM function to change memory attributes that isn't supported by kernel.
//  Current implementaion only supports PAGE_WRITECOMBINE.
//
//------------------------------------------------------------------------------
BOOL OEMSetMemoryAttributes (
    LPVOID pVirtAddr,       // Virtual address of region
    LPVOID pPhysAddrShifted,// PhysicalAddress >> 8 (to support up to 40 bit address)
    DWORD  cbSize,          // Size of the region
    DWORD  dwAttributes     // attributes to be set
    )
{
    if (PAGE_WRITECOMBINE != dwAttributes) {
        DEBUGMSG (OAL_ERROR, (L"OEMSetMemoryAttributes: Only PAGE_WRITECOMBINE is supported\r\n"));
        return FALSE;
    }

    return NKVirtualSetAttributes (pVirtAddr, cbSize,
                                  0x4,                  // on ARMv6, this value means Shared-Device. On ARMv4, Non-cacheable & bufferable
                                  0xC,                  // Mask of all cache related bits
                                  &dwAttributes);
}

//------------------------------------------------------------------------------
//
//  Function:  OEMInit
//
//  This is Windows CE OAL initialization function. It is called from kernel
//  after basic initialization is made.
//
void OEMInit()
{
    BOOL *bCleanBootFlag;

    OALMSG(OAL_FUNC, (L"[OAL] ++OEMInit()\r\n"));

    OALMSG(OAL_FUNC, (TEXT("[OAL] S3C6410_APLL_CLK   : %d\n\r"), System_GetAPLLCLK()));
    OALMSG(OAL_FUNC, (TEXT("[OAL] ARMCLK : %d\n\r"), System_GetARMCLK()));
    OALMSG(OAL_FUNC, (TEXT("[OAL] HCLK   : %d\n\r"), System_GetHCLK()));
    OALMSG(OAL_FUNC, (TEXT("[OAL] PCLK   : %d\n\r"), System_GetPCLK()));

    g_oalIoCtlClockSpeed = System_GetARMCLK();

    //CEProcessorType = PROCESSOR_STRONGARM;

    // Set memory size for DrWatson kernel support
    //
    dwNKDrWatsonSize = 128 * 1024;

    // Intialize optional kernel functions. (Processor Extended Feature)
    //
    g_pOemGlobal->pfnIsProcessorFeaturePresent = (PFN_IsProcessorFeaturePresent)OALIsProcessorFeaturePresent;

    // Set OEMSetMemoryAttributes function
    g_pOemGlobal->pfnSetMemoryAttributes = (PFN_SetMemoryAttributes)OEMSetMemoryAttributes;

    // Initialize GPIO
    //
    InitializeGPIO();

    // Turn Off all Debug LED
    //
    OEMWriteDebugLED(0, 0x0);

    // Initialize Clock Source
    //
    InitializeCLKSource();

    // Initialize Clock Gating
    //
    InitializeCLKGating();

    // Initialize Block Power
    //
    InitializeBlockPower();

    // Initialize OTG PHY Clock
    //
    InitializeOTGCLK();

    // Initialize BCD registers in RTC to known values
    //
    InitializeRTC();
    
    // Initilize cache globals
    //
    OALCacheGlobalsInit();

    OALLogSerial(L"DCache: %d sets, %d ways, %d line size, %d size\r\n",
                g_oalCacheInfo.L1DSetsPerWay, g_oalCacheInfo.L1DNumWays,
                g_oalCacheInfo.L1DLineSize, g_oalCacheInfo.L1DSize);

    OALLogSerial(L"ICache: %d sets, %d ways, %d line size, %d size\r\n",
                g_oalCacheInfo.L1ISetsPerWay, g_oalCacheInfo.L1INumWays,
                g_oalCacheInfo.L1ILineSize, g_oalCacheInfo.L1ISize);

    // Check and Initialize the BSP Args area
    //
    OALArgsInit((BSP_ARGS *)IMAGE_SHARE_ARGS_UA_START);

    // Check clean boot flag in BSP Args area
    //
    OALMSG(OAL_FUNC, (TEXT("[OAL] OEMInit() : BSP Args forces Clean Boot\r\n")));
    bCleanBootFlag = (BOOL *)OALArgsQuery(BSP_ARGS_QUERY_CLEANBOOT);
    if (*bCleanBootFlag)
    {
        // Notify to filesys.exe that we want a clean boot.
        NKForceCleanBoot();
    }

    // Initialize Interrupts
    //
    if (!OALIntrInit())
    {
        OALMSG(OAL_ERROR, (L"[OAL:ERR] OEMInit() : failed to initialize interrupts\r\n"));
    }

    // Initialize System Clock
    //
    OALTimerInit(RESCHED_PERIOD, (OEM_COUNT_1MS ), 0);

    // Make high-res Monte Carlo profiling available to the kernel
    //
    g_pOemGlobal->pfnProfileTimerEnable = OEMProfileTimerEnable;
    g_pOemGlobal->pfnProfileTimerDisable = OEMProfileTimerDisable;

    // Initialize the KITL connection if required
    //
    KITLIoctl(IOCTL_KITL_STARTUP, NULL, 0, NULL, 0, NULL);

    OALMSG(OAL_FUNC, (L"[OAL] --OEMInit()\r\n"));
}

//------------------------------------------------------------------------------

static void InitializeGPIO()
{
    volatile S3C6410_GPIO_REG *pGPIOReg = (S3C6410_GPIO_REG *)OALPAtoVA(S3C6410_BASE_REG_PA_GPIO, FALSE);

    OALMSG(OAL_FUNC, (L"[OAL] InitializeGPIO()\r\n"));
    // OEM can add GPIO initialization code here
}

static void InitializeCLKGating(void)
{
    volatile S3C6410_SYSCON_REG *pSysConReg = (S3C6410_SYSCON_REG *)OALPAtoVA(S3C6410_BASE_REG_PA_SYSCON, FALSE);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人激情自拍| 精品一区二区三区久久| 欧美成人video| 色诱视频网站一区| 国产99一区视频免费| 秋霞av亚洲一区二区三| 亚洲一区二区三区精品在线| 国产日韩欧美不卡| 日韩区在线观看| 色先锋资源久久综合| 国产suv精品一区二区三区| 日韩—二三区免费观看av| 亚洲男女毛片无遮挡| 久久久国产精华| 日韩欧美在线1卡| 欧美视频日韩视频在线观看| 99精品国产91久久久久久| 国产福利91精品| 精品一区二区三区av| 蜜臀久久久久久久| 日韩电影在线观看一区| 亚洲一区二区美女| 亚洲精品成人精品456| 综合久久综合久久| 国产精品美女久久久久久2018| 久久夜色精品国产欧美乱极品| 日韩午夜激情av| 日韩欧美国产综合在线一区二区三区| 欧美无砖专区一中文字| 在线观看视频欧美| 色综合天天综合在线视频| 99麻豆久久久国产精品免费 | 国产成人精品免费视频网站| 蜜桃精品在线观看| 久久精品久久精品| 麻豆精品在线播放| 国内精品久久久久影院一蜜桃| 美女一区二区在线观看| 免费成人av资源网| 久久99热99| 国产精品中文有码| 成人18视频日本| 色综合久久99| 欧美三级日韩三级| 91精品国产一区二区三区蜜臀| 欧美顶级少妇做爰| 日韩欧美电影一二三| 精品久久久久久久一区二区蜜臀| 26uuu欧美| 国产精品视频第一区| 亚洲精品欧美专区| 偷拍亚洲欧洲综合| 韩国女主播一区| 成人精品一区二区三区四区| 一本一道综合狠狠老| 欧美群妇大交群中文字幕| 欧美一级生活片| 久久婷婷国产综合国色天香| 欧美激情一区二区三区四区| 一区二区视频在线看| 五月天一区二区| 国产乱码精品一品二品| 99久久99久久免费精品蜜臀| 在线免费精品视频| 日韩亚洲国产中文字幕欧美| 国产日韩欧美麻豆| 亚洲午夜在线视频| 久久精品国产77777蜜臀| 国产成人a级片| 色婷婷久久久综合中文字幕| 欧美精品亚洲一区二区在线播放| 精品乱码亚洲一区二区不卡| 亚洲品质自拍视频| 奇米影视一区二区三区小说| 成人免费毛片a| 欧美日韩精品一二三区| 欧美精品一区二区三区蜜桃| 日韩理论在线观看| 免费av网站大全久久| 99久久久国产精品| 日韩欧美国产一区二区三区 | 欧美一区三区四区| 欧美激情综合在线| 日韩av电影天堂| 成人av电影在线观看| 91精品国产一区二区人妖| 欧美国产视频在线| 免费高清在线一区| 在线看一区二区| 欧美激情综合网| 久久精品久久精品| 欧美视频在线一区二区三区 | 蜜桃av噜噜一区| 色婷婷激情久久| 久久久噜噜噜久久中文字幕色伊伊 | 国产精品私人影院| 美女视频黄频大全不卡视频在线播放 | 亚洲欧美综合在线精品| 日韩**一区毛片| 99热国产精品| 国产日韩影视精品| 青青草成人在线观看| 色综合色综合色综合色综合色综合| 精品美女在线播放| 免费在线观看一区二区三区| 91蜜桃在线观看| 国产精品欧美经典| 国产一区二区按摩在线观看| 91麻豆精品国产91久久久久久| 亚洲精品福利视频网站| 高清免费成人av| 精品国精品自拍自在线| 日韩二区三区四区| 欧美最新大片在线看| 专区另类欧美日韩| 白白色亚洲国产精品| 国产日韩精品一区二区浪潮av| 经典三级在线一区| 日韩片之四级片| 免费看欧美美女黄的网站| 欧美理论电影在线| 日韩中文字幕麻豆| 欧美日韩高清一区二区不卡| 亚洲综合视频网| 91福利在线观看| 亚洲一区二区三区三| 91精品1区2区| 一区二区三区成人在线视频| 91福利在线导航| 亚洲一区视频在线观看视频| 欧美三日本三级三级在线播放| 亚洲人成7777| 欧美三区免费完整视频在线观看| 亚洲黄色录像片| 91国偷自产一区二区三区成为亚洲经典| 国产精品国产三级国产aⅴ中文| av影院午夜一区| 一区二区在线观看av| 欧美视频中文字幕| 男女男精品视频| 欧美精品一区二区不卡| 国产成人精品影视| 国产精品久久国产精麻豆99网站| 99re66热这里只有精品3直播| 亚洲免费av在线| 欧美色图免费看| 欧美a级理论片| 国产欧美一区二区三区在线老狼| 成人激情免费电影网址| 亚洲日本在线天堂| 精品视频在线免费看| 久久国产精品色婷婷| 欧美国产精品一区| 在线视频国内一区二区| 日本不卡中文字幕| 久久精品视频免费| 色婷婷久久一区二区三区麻豆| 三级精品在线观看| 久久久久高清精品| 在线观看国产一区二区| 免费在线观看一区二区三区| 国产女同互慰高潮91漫画| 91香蕉视频mp4| 美国毛片一区二区| 中文字幕日本不卡| 欧美精品黑人性xxxx| 国产另类ts人妖一区二区| 一区二区三区四区精品在线视频| 777亚洲妇女| 成人性生交大片| 日韩电影在线一区二区| 国产精品麻豆视频| 欧美一区二区播放| www.成人在线| 免费欧美日韩国产三级电影| 国产精品久久久久天堂| 欧美一区二区三区思思人| 成人精品免费看| 日韩av高清在线观看| 中文字幕欧美一区| 精品精品国产高清一毛片一天堂| www.激情成人| 紧缚奴在线一区二区三区| 亚洲日本在线a| 久久午夜免费电影| 欧美日韩在线播放三区四区| 国产精品99久久久久久宅男| 亚洲成av人片一区二区梦乃| 国产精品麻豆视频| 欧美不卡在线视频| 欧美三级韩国三级日本三斤| 成人免费不卡视频| 免费成人美女在线观看| 亚洲一区在线免费观看| 国产精品丝袜在线| 欧美精品一区二区不卡 | 91久久免费观看| 国产成人亚洲综合a∨婷婷图片 | 91视视频在线观看入口直接观看www| 日韩国产欧美在线视频|