📄 hif_internal.h
字号:
/* * Copyright (c) 2004-2006 Atheros Communications Inc. * All rights reserved. * $ATH_LICENSE_AR6K0$ * */#include <linux/sdio/ctsystem.h>#include <linux/sdio/sdio_busdriver.h>#include <linux/sdio/_sdio_defs.h>#include <linux/sdio/sdio_lib.h>#include "../include/athdefs.h"#include "../include/athtypes.h"#include "../include/osapi.h"#include "../include/hif.h"#define MANUFACTURER_ID_BASE 0x100#define FUNCTION_CLASS 0x0#define MANUFACTURER_CODE 0x271#define BUS_REQUEST_MAX_NUM 32#define SDIO_CLOCK_FREQUENCY_DEFAULT 24000000#define SDIO_CLOCK_FREQUENCY_REDUCED 12000000#define SDWLAN_ENABLE_DISABLE_TIMEOUT 20#define FLAGS_CARD_ENAB 0x02#define FLAGS_CARD_IRQ_UNMSK 0x04#define HIF_MBOX_BLOCK_SIZE 128#define HIF_MBOX_BASE_ADDR 0x800#define HIF_MBOX_WIDTH 0x800#define HIF_MBOX0_BLOCK_SIZE 1#define HIF_MBOX1_BLOCK_SIZE HIF_MBOX_BLOCK_SIZE#define HIF_MBOX2_BLOCK_SIZE HIF_MBOX_BLOCK_SIZE#define HIF_MBOX3_BLOCK_SIZE HIF_MBOX_BLOCK_SIZE#define HIF_MBOX_START_ADDR(mbox) \ HIF_MBOX_BASE_ADDR + mbox * HIF_MBOX_WIDTH#define HIF_MBOX_END_ADDR(mbox) \ HIF_MBOX_START_ADDR(mbox) + HIF_MBOX_WIDTH - 1struct hif_device { SDDEVICE *handle;};typedef struct target_function_context { SDFUNCTION function; /* function description of the bus driver */ OS_SEMAPHORE instanceSem; /* instance lock. Unused */ SDLIST instanceList; /* list of instances. Unused */} TARGET_FUNCTION_CONTEXT;typedef struct bus_request { A_BOOL free; SDREQUEST *request;} BUS_REQUEST;BOOLhifDeviceInserted(SDFUNCTION *function, SDDEVICE *device);voidhifDeviceRemoved(SDFUNCTION *function, SDDEVICE *device);SDREQUEST *hifAllocateDeviceRequest(SDDEVICE *device);voidhifFreeDeviceRequest(SDREQUEST *request);voidhifRWCompletionHandler(SDREQUEST *request);voidhifIRQHandler(void *context);HIF_DEVICE *addHifDevice(SDDEVICE *handle);HIF_DEVICE *getHifDevice(SDDEVICE *handle);voiddelHifDevice(SDDEVICE *handle);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -