Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
dhd_sdio.c File Reference
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/kthread.h>
#include <linux/printk.h>
#include <linux/pci_ids.h>
#include <linux/netdevice.h>
#include <linux/interrupt.h>
#include <linux/sched.h>
#include <linux/mmc/sdio.h>
#include <linux/mmc/sdio_func.h>
#include <linux/mmc/card.h>
#include <linux/semaphore.h>
#include <linux/firmware.h>
#include <linux/module.h>
#include <linux/bcma/bcma.h>
#include <linux/debugfs.h>
#include <linux/vmalloc.h>
#include <asm/unaligned.h>
#include <defs.h>
#include <brcmu_wifi.h>
#include <brcmu_utils.h>
#include <brcm_hw_ids.h>
#include <soc.h>
#include "sdio_host.h"
#include "sdio_chip.h"
#include <chipcommon.h>
#include "dhd_bus.h"
#include "dhd_dbg.h"

Go to the source code of this file.

Data Structures

struct  sdpcmd_regs
 
struct  sdpcm_shared
 
struct  sdpcm_shared_le
 
struct  brcmf_sdio_read
 
struct  brcmf_sdio
 

Macros

#define pr_fmt(fmt)   KBUILD_MODNAME ": " fmt
 
#define DCMD_RESP_TIMEOUT   2000 /* In milli second */
 
#define TXQLEN   2048 /* bulk tx queue length */
 
#define TXHI   (TXQLEN - 256) /* turn on flow control above TXHI */
 
#define TXLOW   (TXHI - 256) /* turn off flow control below TXLOW */
 
#define PRIOMASK   7
 
#define TXRETRIES   2 /* # of retries for tx frames */
 
#define BRCMF_RXBOUND
 
#define BRCMF_TXBOUND
 
#define BRCMF_TXMINMAX   1 /* Max tx frames if rx still pending */
 
#define MEMBLOCK
 
#define MAX_DATA_BUF
 
#define BRCMF_FIRSTREAD   (1 << 6)
 
#define SBSDIO_DEVCTL_SETBUSY   0x01
 
#define SBSDIO_DEVCTL_SPI_INTR_SYNC   0x02
 
#define SBSDIO_DEVCTL_CA_INT_ONLY   0x04
 
#define SBSDIO_DEVCTL_PADS_ISO   0x08
 
#define SBSDIO_DEVCTL_SB_RST_CTL   0x30
 
#define SBSDIO_DEVCTL_RST_CORECTL   0x00
 
#define SBSDIO_DEVCTL_RST_BPRESET   0x10
 
#define SBSDIO_DEVCTL_RST_NOBPRESET   0x20
 
#define SBSDIO_CIS_BASE_COMMON   0x1000
 
#define SBSDIO_CIS_SIZE_LIMIT   0x200
 
#define SBSDIO_CIS_OFT_ADDR_MASK   0x1FFFF
 
#define SBSDIO_CIS_MANFID_TUPLE_LEN   6
 
#define I_SMB_SW0   (1 << 0) /* To SB Mail S/W interrupt 0 */
 
#define I_SMB_SW1   (1 << 1) /* To SB Mail S/W interrupt 1 */
 
#define I_SMB_SW2   (1 << 2) /* To SB Mail S/W interrupt 2 */
 
#define I_SMB_SW3   (1 << 3) /* To SB Mail S/W interrupt 3 */
 
#define I_SMB_SW_MASK   0x0000000f /* To SB Mail S/W interrupts mask */
 
#define I_SMB_SW_SHIFT   0 /* To SB Mail S/W interrupts shift */
 
#define I_HMB_SW0   (1 << 4) /* To Host Mail S/W interrupt 0 */
 
#define I_HMB_SW1   (1 << 5) /* To Host Mail S/W interrupt 1 */
 
#define I_HMB_SW2   (1 << 6) /* To Host Mail S/W interrupt 2 */
 
#define I_HMB_SW3   (1 << 7) /* To Host Mail S/W interrupt 3 */
 
#define I_HMB_SW_MASK   0x000000f0 /* To Host Mail S/W interrupts mask */
 
#define I_HMB_SW_SHIFT   4 /* To Host Mail S/W interrupts shift */
 
#define I_WR_OOSYNC   (1 << 8) /* Write Frame Out Of Sync */
 
#define I_RD_OOSYNC   (1 << 9) /* Read Frame Out Of Sync */
 
#define I_PC   (1 << 10) /* descriptor error */
 
#define I_PD   (1 << 11) /* data error */
 
#define I_DE   (1 << 12) /* Descriptor protocol Error */
 
#define I_RU   (1 << 13) /* Receive descriptor Underflow */
 
#define I_RO   (1 << 14) /* Receive fifo Overflow */
 
#define I_XU   (1 << 15) /* Transmit fifo Underflow */
 
#define I_RI   (1 << 16) /* Receive Interrupt */
 
#define I_BUSPWR   (1 << 17) /* SDIO Bus Power Change (rev 9) */
 
#define I_XMTDATA_AVAIL   (1 << 23) /* bits in fifo */
 
#define I_XI   (1 << 24) /* Transmit Interrupt */
 
#define I_RF_TERM   (1 << 25) /* Read Frame Terminate */
 
#define I_WF_TERM   (1 << 26) /* Write Frame Terminate */
 
#define I_PCMCIA_XU   (1 << 27) /* PCMCIA Transmit FIFO Underflow */
 
#define I_SBINT   (1 << 28) /* sbintstatus Interrupt */
 
#define I_CHIPACTIVE   (1 << 29) /* chip from doze to active state */
 
#define I_SRESET   (1 << 30) /* CCCR RES interrupt */
 
#define I_IOE2   (1U << 31) /* CCCR IOE2 Bit Changed */
 
#define I_ERRORS   (I_PC | I_PD | I_DE | I_RU | I_RO | I_XU)
 
#define I_DMA   (I_RI | I_XI | I_ERRORS)
 
#define CC_CISRDY   (1 << 0) /* CIS Ready */
 
#define CC_BPRESEN   (1 << 1) /* CCCR RES signal */
 
#define CC_F2RDY   (1 << 2) /* set CCCR IOR2 bit */
 
#define CC_CLRPADSISO   (1 << 3) /* clear SDIO pads isolation */
 
#define CC_XMTDATAAVAIL_MODE   (1 << 4)
 
#define CC_XMTDATAAVAIL_CTRL   (1 << 5)
 
#define SFC_RF_TERM   (1 << 0) /* Read Frame Terminate */
 
#define SFC_WF_TERM   (1 << 1) /* Write Frame Terminate */
 
#define SFC_CRC4WOOS   (1 << 2) /* CRC error for write out of sync */
 
#define SFC_ABORTALL   (1 << 3) /* Abort all in-progress frames */
 
#define SDPCM_FRAMETAG_LEN   4 /* 2 bytes len, 2 bytes check val */
 
#define SDPCM_HDRLEN   (SDPCM_FRAMETAG_LEN + SDPCM_SWHEADER_LEN)
 
#define SDPCM_RESERVE   (SDPCM_HDRLEN + BRCMF_SDALIGN)
 
#define SMB_NAK   (1 << 0) /* Frame NAK */
 
#define SMB_INT_ACK   (1 << 1) /* Host Interrupt ACK */
 
#define SMB_USE_OOB   (1 << 2) /* Use OOB Wakeup */
 
#define SMB_DEV_INT   (1 << 3) /* Miscellaneous Interrupt */
 
#define SMB_DATA_VERSION_SHIFT   16 /* host protocol version */
 
#define I_HMB_FC_STATE   I_HMB_SW0 /* Flow Control State */
 
#define I_HMB_FC_CHANGE   I_HMB_SW1 /* Flow Control State Changed */
 
#define I_HMB_FRAME_IND   I_HMB_SW2 /* Frame Indication */
 
#define I_HMB_HOST_INT   I_HMB_SW3 /* Miscellaneous Interrupt */
 
#define HMB_DATA_NAKHANDLED   1 /* retransmit NAK'd frame */
 
#define HMB_DATA_DEVREADY   2 /* talk to host after enable */
 
#define HMB_DATA_FC   4 /* per prio flowcontrol update flag */
 
#define HMB_DATA_FWREADY   8 /* fw ready for protocol activity */
 
#define HMB_DATA_FCDATA_MASK   0xff000000
 
#define HMB_DATA_FCDATA_SHIFT   24
 
#define HMB_DATA_VERSION_MASK   0x00ff0000
 
#define HMB_DATA_VERSION_SHIFT   16
 
#define SDPCM_PROT_VERSION   4
 
#define SDPCM_PACKET_SEQUENCE(p)   (((u8 *)p)[0] & 0xff)
 
#define SDPCM_CHANNEL_MASK   0x00000f00
 
#define SDPCM_CHANNEL_SHIFT   8
 
#define SDPCM_PACKET_CHANNEL(p)   (((u8 *)p)[1] & 0x0f)
 
#define SDPCM_NEXTLEN_OFFSET   2
 
#define SDPCM_DOFFSET_OFFSET   3 /* Data Offset */
 
#define SDPCM_DOFFSET_VALUE(p)   (((u8 *)p)[SDPCM_DOFFSET_OFFSET] & 0xff)
 
#define SDPCM_DOFFSET_MASK   0xff000000
 
#define SDPCM_DOFFSET_SHIFT   24
 
#define SDPCM_FCMASK_OFFSET   4 /* Flow control */
 
#define SDPCM_FCMASK_VALUE(p)   (((u8 *)p)[SDPCM_FCMASK_OFFSET] & 0xff)
 
#define SDPCM_WINDOW_OFFSET   5 /* Credit based fc */
 
#define SDPCM_WINDOW_VALUE(p)   (((u8 *)p)[SDPCM_WINDOW_OFFSET] & 0xff)
 
#define SDPCM_SWHEADER_LEN   8 /* SW header is 64 bits */
 
#define SDPCM_CONTROL_CHANNEL   0 /* Control channel Id */
 
#define SDPCM_EVENT_CHANNEL   1 /* Asyc Event Indication Channel Id */
 
#define SDPCM_DATA_CHANNEL   2 /* Data Xmit/Recv Channel Id */
 
#define SDPCM_GLOM_CHANNEL   3 /* For coalesced packets */
 
#define SDPCM_TEST_CHANNEL   15 /* Reserved for test/debug packets */
 
#define SDPCM_SEQUENCE_WRAP   256 /* wrap-around val for 8bit frame seq */
 
#define SDPCM_GLOMDESC(p)   (((u8 *)p)[1] & 0x80)
 
#define SDPCM_SHARED_VERSION   0x0003
 
#define SDPCM_SHARED_VERSION_MASK   0x00FF
 
#define SDPCM_SHARED_ASSERT_BUILT   0x0100
 
#define SDPCM_SHARED_ASSERT   0x0200
 
#define SDPCM_SHARED_TRAP   0x0400
 
#define MAX_HDR_READ   (1 << 6)
 
#define MAX_RX_DATASZ   2048
 
#define BRCMF_WAIT_F2RDY   3000
 
#define PMU_MAX_TRANSITION_DLY   1000000
 
#define BRCMF_INIT_CLKCTL1
 
#define F2SYNC   (SDIO_REQ_4BYTE | SDIO_REQ_FIXED)
 
#define BRCMF_SDIO_FW_NAME   "brcm/brcmfmac-sdio.bin"
 
#define BRCMF_SDIO_NV_NAME   "brcm/brcmfmac-sdio.txt"
 
#define BRCMF_IDLE_IMMEDIATE   (-1) /* Enter idle immediately */
 
#define BRCMF_IDLE_ACTIVE
 
#define BRCMF_IDLE_INTERVAL   1
 
#define CLK_NONE   0
 
#define CLK_SDONLY   1
 
#define CLK_PENDING   2 /* Not used yet */
 
#define CLK_AVAIL   3
 
#define SDIO_DRIVE_STRENGTH   6 /* in milliamps */
 
#define RETRYCHAN(chan)   ((chan) == SDPCM_EVENT_CHANNEL)
 
#define ALIGNMENT   4
 
#define PKT_AVAILABLE()   (intstatus & I_HMB_FRAME_IND)
 
#define HOSTINTMASK   (I_HMB_SW_MASK | I_CHIPACTIVE)
 

Functions

 MODULE_FIRMWARE (BRCMF_SDIO_FW_NAME)
 
 MODULE_FIRMWARE (BRCMF_SDIO_NV_NAME)
 
void brcmf_sdbrcm_isr (void *arg)
 
voidbrcmf_sdbrcm_probe (u32 regsva, struct brcmf_sdio_dev *sdiodev)
 
void brcmf_sdbrcm_disconnect (void *ptr)
 
void brcmf_sdbrcm_wd_timer (struct brcmf_sdio *bus, uint wdtick)
 

Macro Definition Documentation

#define ALIGNMENT   4

Definition at line 609 of file dhd_sdio.c.

#define BRCMF_FIRSTREAD   (1 << 6)

Definition at line 116 of file dhd_sdio.c.

#define BRCMF_IDLE_ACTIVE
Value:
0 /* Do not request any SD clock change
* when idle
*/

Definition at line 319 of file dhd_sdio.c.

#define BRCMF_IDLE_IMMEDIATE   (-1) /* Enter idle immediately */

Definition at line 318 of file dhd_sdio.c.

#define BRCMF_IDLE_INTERVAL   1

Definition at line 320 of file dhd_sdio.c.

#define BRCMF_INIT_CLKCTL1
Value:
SBSDIO_ALP_AVAIL_REQ)

Definition at line 307 of file dhd_sdio.c.

#define BRCMF_RXBOUND
Value:
50 /* Default for max rx frames in
one scheduling */

Definition at line 107 of file dhd_sdio.c.

#define BRCMF_SDIO_FW_NAME   "brcm/brcmfmac-sdio.bin"

Definition at line 313 of file dhd_sdio.c.

#define BRCMF_SDIO_NV_NAME   "brcm/brcmfmac-sdio.txt"

Definition at line 314 of file dhd_sdio.c.

#define BRCMF_TXBOUND
Value:
20 /* Default for max tx frames in
one scheduling */

Definition at line 109 of file dhd_sdio.c.

#define BRCMF_TXMINMAX   1 /* Max tx frames if rx still pending */

Definition at line 111 of file dhd_sdio.c.

#define BRCMF_WAIT_F2RDY   3000

Definition at line 296 of file dhd_sdio.c.

#define CC_BPRESEN   (1 << 1) /* CCCR RES signal */

Definition at line 188 of file dhd_sdio.c.

#define CC_CISRDY   (1 << 0) /* CIS Ready */

Definition at line 187 of file dhd_sdio.c.

#define CC_CLRPADSISO   (1 << 3) /* clear SDIO pads isolation */

Definition at line 190 of file dhd_sdio.c.

#define CC_F2RDY   (1 << 2) /* set CCCR IOR2 bit */

Definition at line 189 of file dhd_sdio.c.

#define CC_XMTDATAAVAIL_CTRL   (1 << 5)

Definition at line 192 of file dhd_sdio.c.

#define CC_XMTDATAAVAIL_MODE   (1 << 4)

Definition at line 191 of file dhd_sdio.c.

#define CLK_AVAIL   3

Definition at line 592 of file dhd_sdio.c.

#define CLK_NONE   0

Definition at line 589 of file dhd_sdio.c.

#define CLK_PENDING   2 /* Not used yet */

Definition at line 591 of file dhd_sdio.c.

#define CLK_SDONLY   1

Definition at line 590 of file dhd_sdio.c.

#define DCMD_RESP_TIMEOUT   2000 /* In milli second */

Definition at line 45 of file dhd_sdio.c.

#define F2SYNC   (SDIO_REQ_4BYTE | SDIO_REQ_FIXED)

Definition at line 311 of file dhd_sdio.c.

#define HMB_DATA_DEVREADY   2 /* talk to host after enable */

Definition at line 232 of file dhd_sdio.c.

#define HMB_DATA_FC   4 /* per prio flowcontrol update flag */

Definition at line 233 of file dhd_sdio.c.

#define HMB_DATA_FCDATA_MASK   0xff000000

Definition at line 236 of file dhd_sdio.c.

#define HMB_DATA_FCDATA_SHIFT   24

Definition at line 237 of file dhd_sdio.c.

#define HMB_DATA_FWREADY   8 /* fw ready for protocol activity */

Definition at line 234 of file dhd_sdio.c.

#define HMB_DATA_NAKHANDLED   1 /* retransmit NAK'd frame */

Definition at line 231 of file dhd_sdio.c.

#define HMB_DATA_VERSION_MASK   0x00ff0000

Definition at line 239 of file dhd_sdio.c.

#define HMB_DATA_VERSION_SHIFT   16

Definition at line 240 of file dhd_sdio.c.

#define HOSTINTMASK   (I_HMB_SW_MASK | I_CHIPACTIVE)

Definition at line 659 of file dhd_sdio.c.

#define I_BUSPWR   (1 << 17) /* SDIO Bus Power Change (rev 9) */

Definition at line 173 of file dhd_sdio.c.

#define I_CHIPACTIVE   (1 << 29) /* chip from doze to active state */

Definition at line 180 of file dhd_sdio.c.

#define I_DE   (1 << 12) /* Descriptor protocol Error */

Definition at line 168 of file dhd_sdio.c.

#define I_DMA   (I_RI | I_XI | I_ERRORS)

Definition at line 184 of file dhd_sdio.c.

#define I_ERRORS   (I_PC | I_PD | I_DE | I_RU | I_RO | I_XU)

Definition at line 183 of file dhd_sdio.c.

#define I_HMB_FC_CHANGE   I_HMB_SW1 /* Flow Control State Changed */

Definition at line 226 of file dhd_sdio.c.

#define I_HMB_FC_STATE   I_HMB_SW0 /* Flow Control State */

Definition at line 225 of file dhd_sdio.c.

#define I_HMB_FRAME_IND   I_HMB_SW2 /* Frame Indication */

Definition at line 227 of file dhd_sdio.c.

#define I_HMB_HOST_INT   I_HMB_SW3 /* Miscellaneous Interrupt */

Definition at line 228 of file dhd_sdio.c.

#define I_HMB_SW0   (1 << 4) /* To Host Mail S/W interrupt 0 */

Definition at line 158 of file dhd_sdio.c.

#define I_HMB_SW1   (1 << 5) /* To Host Mail S/W interrupt 1 */

Definition at line 159 of file dhd_sdio.c.

#define I_HMB_SW2   (1 << 6) /* To Host Mail S/W interrupt 2 */

Definition at line 160 of file dhd_sdio.c.

#define I_HMB_SW3   (1 << 7) /* To Host Mail S/W interrupt 3 */

Definition at line 161 of file dhd_sdio.c.

#define I_HMB_SW_MASK   0x000000f0 /* To Host Mail S/W interrupts mask */

Definition at line 162 of file dhd_sdio.c.

#define I_HMB_SW_SHIFT   4 /* To Host Mail S/W interrupts shift */

Definition at line 163 of file dhd_sdio.c.

#define I_IOE2   (1U << 31) /* CCCR IOE2 Bit Changed */

Definition at line 182 of file dhd_sdio.c.

#define I_PC   (1 << 10) /* descriptor error */

Definition at line 166 of file dhd_sdio.c.

#define I_PCMCIA_XU   (1 << 27) /* PCMCIA Transmit FIFO Underflow */

Definition at line 178 of file dhd_sdio.c.

#define I_PD   (1 << 11) /* data error */

Definition at line 167 of file dhd_sdio.c.

#define I_RD_OOSYNC   (1 << 9) /* Read Frame Out Of Sync */

Definition at line 165 of file dhd_sdio.c.

#define I_RF_TERM   (1 << 25) /* Read Frame Terminate */

Definition at line 176 of file dhd_sdio.c.

#define I_RI   (1 << 16) /* Receive Interrupt */

Definition at line 172 of file dhd_sdio.c.

#define I_RO   (1 << 14) /* Receive fifo Overflow */

Definition at line 170 of file dhd_sdio.c.

#define I_RU   (1 << 13) /* Receive descriptor Underflow */

Definition at line 169 of file dhd_sdio.c.

#define I_SBINT   (1 << 28) /* sbintstatus Interrupt */

Definition at line 179 of file dhd_sdio.c.

#define I_SMB_SW0   (1 << 0) /* To SB Mail S/W interrupt 0 */

Definition at line 152 of file dhd_sdio.c.

#define I_SMB_SW1   (1 << 1) /* To SB Mail S/W interrupt 1 */

Definition at line 153 of file dhd_sdio.c.

#define I_SMB_SW2   (1 << 2) /* To SB Mail S/W interrupt 2 */

Definition at line 154 of file dhd_sdio.c.

#define I_SMB_SW3   (1 << 3) /* To SB Mail S/W interrupt 3 */

Definition at line 155 of file dhd_sdio.c.

#define I_SMB_SW_MASK   0x0000000f /* To SB Mail S/W interrupts mask */

Definition at line 156 of file dhd_sdio.c.

#define I_SMB_SW_SHIFT   0 /* To SB Mail S/W interrupts shift */

Definition at line 157 of file dhd_sdio.c.

#define I_SRESET   (1 << 30) /* CCCR RES interrupt */

Definition at line 181 of file dhd_sdio.c.

#define I_WF_TERM   (1 << 26) /* Write Frame Terminate */

Definition at line 177 of file dhd_sdio.c.

#define I_WR_OOSYNC   (1 << 8) /* Write Frame Out Of Sync */

Definition at line 164 of file dhd_sdio.c.

#define I_XI   (1 << 24) /* Transmit Interrupt */

Definition at line 175 of file dhd_sdio.c.

#define I_XMTDATA_AVAIL   (1 << 23) /* bits in fifo */

Definition at line 174 of file dhd_sdio.c.

#define I_XU   (1 << 15) /* Transmit fifo Underflow */

Definition at line 171 of file dhd_sdio.c.

#define MAX_DATA_BUF
Value:
(32 * 1024) /* Must be large enough to hold
biggest possible glom */

Definition at line 114 of file dhd_sdio.c.

#define MAX_HDR_READ   (1 << 6)

Definition at line 292 of file dhd_sdio.c.

#define MAX_RX_DATASZ   2048

Definition at line 293 of file dhd_sdio.c.

#define MEMBLOCK
Value:
2048 /* Block size used for downloading
of dongle image */

Definition at line 113 of file dhd_sdio.c.

#define PKT_AVAILABLE ( )    (intstatus & I_HMB_FRAME_IND)

Definition at line 657 of file dhd_sdio.c.

#define PMU_MAX_TRANSITION_DLY   1000000

Definition at line 304 of file dhd_sdio.c.

#define pr_fmt (   fmt)    KBUILD_MODNAME ": " fmt

Definition at line 17 of file dhd_sdio.c.

#define PRIOMASK   7

Definition at line 103 of file dhd_sdio.c.

#define RETRYCHAN (   chan)    ((chan) == SDPCM_EVENT_CHANNEL)

Definition at line 601 of file dhd_sdio.c.

#define SBSDIO_CIS_BASE_COMMON   0x1000

Definition at line 142 of file dhd_sdio.c.

#define SBSDIO_CIS_MANFID_TUPLE_LEN   6

Definition at line 149 of file dhd_sdio.c.

#define SBSDIO_CIS_OFT_ADDR_MASK   0x1FFFF

Definition at line 146 of file dhd_sdio.c.

#define SBSDIO_CIS_SIZE_LIMIT   0x200

Definition at line 144 of file dhd_sdio.c.

#define SBSDIO_DEVCTL_CA_INT_ONLY   0x04

Definition at line 126 of file dhd_sdio.c.

#define SBSDIO_DEVCTL_PADS_ISO   0x08

Definition at line 129 of file dhd_sdio.c.

#define SBSDIO_DEVCTL_RST_BPRESET   0x10

Definition at line 135 of file dhd_sdio.c.

#define SBSDIO_DEVCTL_RST_CORECTL   0x00

Definition at line 133 of file dhd_sdio.c.

#define SBSDIO_DEVCTL_RST_NOBPRESET   0x20

Definition at line 137 of file dhd_sdio.c.

#define SBSDIO_DEVCTL_SB_RST_CTL   0x30

Definition at line 131 of file dhd_sdio.c.

#define SBSDIO_DEVCTL_SETBUSY   0x01

Definition at line 122 of file dhd_sdio.c.

#define SBSDIO_DEVCTL_SPI_INTR_SYNC   0x02

Definition at line 124 of file dhd_sdio.c.

#define SDIO_DRIVE_STRENGTH   6 /* in milliamps */

Definition at line 599 of file dhd_sdio.c.

#define SDPCM_CHANNEL_MASK   0x00000f00

Definition at line 252 of file dhd_sdio.c.

#define SDPCM_CHANNEL_SHIFT   8

Definition at line 253 of file dhd_sdio.c.

#define SDPCM_CONTROL_CHANNEL   0 /* Control channel Id */

Definition at line 271 of file dhd_sdio.c.

#define SDPCM_DATA_CHANNEL   2 /* Data Xmit/Recv Channel Id */

Definition at line 273 of file dhd_sdio.c.

#define SDPCM_DOFFSET_MASK   0xff000000

Definition at line 261 of file dhd_sdio.c.

#define SDPCM_DOFFSET_OFFSET   3 /* Data Offset */

Definition at line 259 of file dhd_sdio.c.

#define SDPCM_DOFFSET_SHIFT   24

Definition at line 262 of file dhd_sdio.c.

#define SDPCM_DOFFSET_VALUE (   p)    (((u8 *)p)[SDPCM_DOFFSET_OFFSET] & 0xff)

Definition at line 260 of file dhd_sdio.c.

#define SDPCM_EVENT_CHANNEL   1 /* Asyc Event Indication Channel Id */

Definition at line 272 of file dhd_sdio.c.

#define SDPCM_FCMASK_OFFSET   4 /* Flow control */

Definition at line 263 of file dhd_sdio.c.

#define SDPCM_FCMASK_VALUE (   p)    (((u8 *)p)[SDPCM_FCMASK_OFFSET] & 0xff)

Definition at line 264 of file dhd_sdio.c.

#define SDPCM_FRAMETAG_LEN   4 /* 2 bytes len, 2 bytes check val */

Definition at line 201 of file dhd_sdio.c.

#define SDPCM_GLOM_CHANNEL   3 /* For coalesced packets */

Definition at line 274 of file dhd_sdio.c.

#define SDPCM_GLOMDESC (   p)    (((u8 *)p)[1] & 0x80)

Definition at line 279 of file dhd_sdio.c.

#define SDPCM_HDRLEN   (SDPCM_FRAMETAG_LEN + SDPCM_SWHEADER_LEN)

Definition at line 204 of file dhd_sdio.c.

#define SDPCM_NEXTLEN_OFFSET   2

Definition at line 256 of file dhd_sdio.c.

#define SDPCM_PACKET_CHANNEL (   p)    (((u8 *)p)[1] & 0x0f)

Definition at line 254 of file dhd_sdio.c.

#define SDPCM_PACKET_SEQUENCE (   p)    (((u8 *)p)[0] & 0xff)

Definition at line 250 of file dhd_sdio.c.

#define SDPCM_PROT_VERSION   4

Definition at line 247 of file dhd_sdio.c.

#define SDPCM_RESERVE   (SDPCM_HDRLEN + BRCMF_SDALIGN)

Definition at line 205 of file dhd_sdio.c.

#define SDPCM_SEQUENCE_WRAP   256 /* wrap-around val for 8bit frame seq */

Definition at line 277 of file dhd_sdio.c.

#define SDPCM_SHARED_ASSERT   0x0200

Definition at line 288 of file dhd_sdio.c.

#define SDPCM_SHARED_ASSERT_BUILT   0x0100

Definition at line 287 of file dhd_sdio.c.

#define SDPCM_SHARED_TRAP   0x0400

Definition at line 289 of file dhd_sdio.c.

#define SDPCM_SHARED_VERSION   0x0003

Definition at line 285 of file dhd_sdio.c.

#define SDPCM_SHARED_VERSION_MASK   0x00FF

Definition at line 286 of file dhd_sdio.c.

#define SDPCM_SWHEADER_LEN   8 /* SW header is 64 bits */

Definition at line 268 of file dhd_sdio.c.

#define SDPCM_TEST_CHANNEL   15 /* Reserved for test/debug packets */

Definition at line 275 of file dhd_sdio.c.

#define SDPCM_WINDOW_OFFSET   5 /* Credit based fc */

Definition at line 265 of file dhd_sdio.c.

#define SDPCM_WINDOW_VALUE (   p)    (((u8 *)p)[SDPCM_WINDOW_OFFSET] & 0xff)

Definition at line 266 of file dhd_sdio.c.

#define SFC_ABORTALL   (1 << 3) /* Abort all in-progress frames */

Definition at line 198 of file dhd_sdio.c.

#define SFC_CRC4WOOS   (1 << 2) /* CRC error for write out of sync */

Definition at line 197 of file dhd_sdio.c.

#define SFC_RF_TERM   (1 << 0) /* Read Frame Terminate */

Definition at line 195 of file dhd_sdio.c.

#define SFC_WF_TERM   (1 << 1) /* Write Frame Terminate */

Definition at line 196 of file dhd_sdio.c.

#define SMB_DATA_VERSION_SHIFT   16 /* host protocol version */

Definition at line 218 of file dhd_sdio.c.

#define SMB_DEV_INT   (1 << 3) /* Miscellaneous Interrupt */

Definition at line 215 of file dhd_sdio.c.

#define SMB_INT_ACK   (1 << 1) /* Host Interrupt ACK */

Definition at line 213 of file dhd_sdio.c.

#define SMB_NAK   (1 << 0) /* Frame NAK */

Definition at line 212 of file dhd_sdio.c.

#define SMB_USE_OOB   (1 << 2) /* Use OOB Wakeup */

Definition at line 214 of file dhd_sdio.c.

#define TXHI   (TXQLEN - 256) /* turn on flow control above TXHI */

Definition at line 101 of file dhd_sdio.c.

#define TXLOW   (TXHI - 256) /* turn off flow control below TXLOW */

Definition at line 102 of file dhd_sdio.c.

#define TXQLEN   2048 /* bulk tx queue length */

Definition at line 100 of file dhd_sdio.c.

#define TXRETRIES   2 /* # of retries for tx frames */

Definition at line 105 of file dhd_sdio.c.

Function Documentation

void brcmf_sdbrcm_disconnect ( void ptr)

Definition at line 4001 of file dhd_sdio.c.

void brcmf_sdbrcm_isr ( void arg)

Definition at line 3494 of file dhd_sdio.c.

void* brcmf_sdbrcm_probe ( u32  regsva,
struct brcmf_sdio_dev sdiodev 
)

Definition at line 3874 of file dhd_sdio.c.

void brcmf_sdbrcm_wd_timer ( struct brcmf_sdio bus,
uint  wdtick 
)

Definition at line 4014 of file dhd_sdio.c.

MODULE_FIRMWARE ( BRCMF_SDIO_FW_NAME  )
MODULE_FIRMWARE ( BRCMF_SDIO_NV_NAME  )