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

📄 platspecific.c

📁 AU1100嵌入式处理器SD卡驱动程序源码
💻 C
字号:
/*++
Copyright (c) 2004  BSQUARE Corporation.  All rights reserved.

Module Name:

    platspecific.c

Module Description:

    This file contains platform specific functions for the SD driver.

Author:

    Ian Rae 19-Aug-2004

Notes:

Revision History:

--*/

#include "sdcardddk.h"
#include "sdhcd.h"
#include "sdio.h"
#include <gpio.h>


int SDIOPlatNumSlots()
{
	return 1;
}

// card insertion interrupts
// mapping BCSR etc
SD_API_STATUS SDIOPlatInit(PSDIO_HW_CONTEXT pController)
{
    SD_API_STATUS    status = SD_API_STATUS_SUCCESS;
	
	    // initialize card insertion GPIOs as inputs
    GPIO_SetAsInput(pController->hGPIO, GPIO_16 | GPIO_17 );

        // connect slot 0 insertion interrupt
    pController->Slots[0].InsertionSysIntr = InterruptConnect(Internal,
                                                              0,
                                                              HWINTR_GPIO16,
                                                              0);

    if (SYSINTR_NOP==pController->Slots[0].InsertionSysIntr) {
        DbgPrintZo(SDCARD_ZONE_ERROR,(TEXT("InterruptConnect returned SYSINTR_NOP\r\n")));
        status = SD_API_STATUS_INSUFFICIENT_RESOURCES;
    }

	return status;
}

SD_API_STATUS SDIOPlatDeinit(PSDIO_HW_CONTEXT pController)
{
    return SD_API_STATUS_SUCCESS;
}

SD_API_STATUS SDIOPlatPower(PSDIO_HW_CONTEXT pController, BOOL PowerOn, ULONG Slot)
{
	return SD_API_STATUS_SUCCESS;
}

BOOL SDIOPlatCardWriteProteced(PSDIO_HW_CONTEXT pController, ULONG Slot)
{
	ULONG GPIOState;

    GPIO_GetState(pController->hGPIO,&GPIOState);

    if (GPIOState & GPIO_17) {
		return TRUE;
	} else {
		return FALSE;
	}
}


BOOL SDIOPlatCardInserted(PSDIO_HW_CONTEXT pController, ULONG Slot)
{
	ULONG GPIOState;

    GPIO_GetState(pController->hGPIO,&GPIOState);

    if (~GPIOState & GPIO_16) {
		return TRUE;
	} else {
		return FALSE;
	}
}

⌨️ 快捷键说明

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