Files
orangepi-build/external/cache/sources/wl/include/bcmusb.h
2020-11-18 10:07:26 +08:00

81 lines
2.0 KiB
C

/*
* Broadcom USB/HSIC framing
* Software-specific framing definitions shared between host and device
*
* $Copyright Open 2012 Broadcom Corporation$
*
* $Id: bcmusb.h 281591 2012-09-02 18:43:02Z sgsiener $
*/
#ifndef _bcmusb_h_
#define _bcmusb_h_
/*
* Software-defined USB frame header
*/
#ifdef USB_FRAME_HEADER
#define USBF_HEADER_LEN 16
#else
#define USBF_HEADER_LEN 0
#endif
#ifdef USBF_CKSUM_OVER_FRAME
#define USBF_DEF_CKSUM_LEN 0
#else
#define USBF_DEF_CKSUM_LEN USBF_HEADER_LEN
#endif
/* Current protocol version */
#define USBF_PROT_VERSION 1
/* ----- first 32-bit word ----- */
/* 4-bit version field */
#define USBF_VER_MASK 0x0000000f
/* 8-bit flags field */
#define USBF_FLAGS_MASK 0x00000ff0
#define USBF_FLAGS_SHIFT 4
/* flags field definitions */
#define USBF_FLAGS_TIMESTAMPED 0x01 /* frame header includes timestamp */
#define USBF_FLAGS_FRAME_EVENT 0x02 /* set when frame contains an Event indication */
#define USBF_FLAGS_FRAME_CKSUM 0x04 /* set when cksum is over entire frame */
/* 3-bit channel identifier field */
#define USBF_CHAN_MASK 0x00007000
#define USBF_CHAN_SHIFT 12
#define USBF_CHAN_CONTROL 0
#define USBF_CHAN_INTERRUPT 1
#define USBF_CHAN_DATAEVENT 2
/* used by host & device to disambiguate frames with this header from ones without */
#define USBF_TAG 0x00008000 /* bit won't appear in bdc/ioctl header */
/* 16-bit checksum */
#define USBF_CHECKSUM_MASK 0xffff0000 /* checksum mask */
#define USBF_CHECKSUM_SHIFT 16
/* ----- second 32-bit word ----- */
/* 16-bit length */
#define USBF_LENGTH_MASK 0x0000ffff /* length mask */
/* 16-bit sequence number */
#define USBF_SEQNUM_MASK 0xffff0000 /* sequence number mask */
#define USBF_SEQSUM_SHIFT 16
/* ----- third 32-bit word ----- */
/* 32-bit timestamp */
#define USBF_TIMESTAMP_MASK 0xffffffff /* timestamp value mask */
/* ----- fourth 32-bit word ----- */
/* reserve 32 bits for future use */
#define USBF_RESERVED_MASK 0xffffffff /* reserved for future use mask */
#endif /* _bcmusb_h_ */