1*b4c3e9b5SBjoern A. Zeeb // SPDX-License-Identifier: ISC 2*b4c3e9b5SBjoern A. Zeeb /* 3*b4c3e9b5SBjoern A. Zeeb * Copyright (c) 2011 Broadcom Corporation 4*b4c3e9b5SBjoern A. Zeeb */ 5*b4c3e9b5SBjoern A. Zeeb #ifndef BRCMFMAC_USB_H 6*b4c3e9b5SBjoern A. Zeeb #define BRCMFMAC_USB_H 7*b4c3e9b5SBjoern A. Zeeb 8*b4c3e9b5SBjoern A. Zeeb enum brcmf_usb_state { 9*b4c3e9b5SBjoern A. Zeeb BRCMFMAC_USB_STATE_DOWN, 10*b4c3e9b5SBjoern A. Zeeb BRCMFMAC_USB_STATE_DL_FAIL, 11*b4c3e9b5SBjoern A. Zeeb BRCMFMAC_USB_STATE_DL_DONE, 12*b4c3e9b5SBjoern A. Zeeb BRCMFMAC_USB_STATE_UP, 13*b4c3e9b5SBjoern A. Zeeb BRCMFMAC_USB_STATE_SLEEP 14*b4c3e9b5SBjoern A. Zeeb }; 15*b4c3e9b5SBjoern A. Zeeb 16*b4c3e9b5SBjoern A. Zeeb struct brcmf_stats { 17*b4c3e9b5SBjoern A. Zeeb u32 tx_ctlpkts; 18*b4c3e9b5SBjoern A. Zeeb u32 tx_ctlerrs; 19*b4c3e9b5SBjoern A. Zeeb u32 rx_ctlpkts; 20*b4c3e9b5SBjoern A. Zeeb u32 rx_ctlerrs; 21*b4c3e9b5SBjoern A. Zeeb }; 22*b4c3e9b5SBjoern A. Zeeb 23*b4c3e9b5SBjoern A. Zeeb struct brcmf_usbdev { 24*b4c3e9b5SBjoern A. Zeeb struct brcmf_bus *bus; 25*b4c3e9b5SBjoern A. Zeeb struct brcmf_usbdev_info *devinfo; 26*b4c3e9b5SBjoern A. Zeeb enum brcmf_usb_state state; 27*b4c3e9b5SBjoern A. Zeeb struct brcmf_stats stats; 28*b4c3e9b5SBjoern A. Zeeb int ntxq, nrxq, rxsize; 29*b4c3e9b5SBjoern A. Zeeb u32 bus_mtu; 30*b4c3e9b5SBjoern A. Zeeb int devid; 31*b4c3e9b5SBjoern A. Zeeb int chiprev; /* chip revision number */ 32*b4c3e9b5SBjoern A. Zeeb }; 33*b4c3e9b5SBjoern A. Zeeb 34*b4c3e9b5SBjoern A. Zeeb /* IO Request Block (IRB) */ 35*b4c3e9b5SBjoern A. Zeeb struct brcmf_usbreq { 36*b4c3e9b5SBjoern A. Zeeb struct list_head list; 37*b4c3e9b5SBjoern A. Zeeb struct brcmf_usbdev_info *devinfo; 38*b4c3e9b5SBjoern A. Zeeb struct urb *urb; 39*b4c3e9b5SBjoern A. Zeeb struct sk_buff *skb; 40*b4c3e9b5SBjoern A. Zeeb }; 41*b4c3e9b5SBjoern A. Zeeb 42*b4c3e9b5SBjoern A. Zeeb #endif /* BRCMFMAC_USB_H */ 43