dhd_bus.h revision c0a7962ae72c9ebf42f623719a46c8f472f44067
1/* 2 * Copyright (c) 2010 Broadcom Corporation 3 * 4 * Permission to use, copy, modify, and/or distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 11 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 13 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 14 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 */ 16 17#ifndef _BRCMF_BUS_H_ 18#define _BRCMF_BUS_H_ 19 20/* Packet alignment for most efficient SDIO (can change based on platform) */ 21#define BRCMF_SDALIGN (1 << 6) 22 23/* watchdog polling interval in ms */ 24#define BRCMF_WD_POLL_MS 10 25 26/* 27 * Exported from brcmf bus module (brcmf_usb, brcmf_sdio) 28 */ 29 30/* Stop bus module: clear pending frames, disable data flow */ 31extern void brcmf_sdbrcm_bus_stop(struct brcmf_sdio *bus); 32 33/* Initialize bus module: prepare for communication w/dongle */ 34extern int brcmf_sdbrcm_bus_init(struct device *dev); 35 36/* Send a data frame to the dongle. Callee disposes of txp. */ 37extern int brcmf_sdbrcm_bus_txdata(struct device *dev, struct sk_buff *txp); 38 39/* Send/receive a control message to/from the dongle. 40 * Expects caller to enforce a single outstanding transaction. 41 */ 42extern int 43brcmf_sdbrcm_bus_txctl(struct device *dev, unsigned char *msg, uint msglen); 44 45extern int 46brcmf_sdbrcm_bus_rxctl(struct device *dev, unsigned char *msg, uint msglen); 47 48extern void brcmf_sdbrcm_wd_timer(struct brcmf_sdio *bus, uint wdtick); 49 50#endif /* _BRCMF_BUS_H_ */ 51