Hi
Both the buffer descriptor data pointer and the control word are in little-endian format.
It is however not necessary to convert between big and little-endian when working with the control word since the defines for the bits and fields in it can simply be set to match the bit use. Eg.
#define TOK_PID_0 0x04000000#define BDT_STALL 0x04000000#define TOK_PID_1 0x08000000#define DTS 0x08000000#define TOK_PID_2 0x10000000#define NINC 0x10000000#define TOK_PID_3 0x20000000#define KEEP 0x20000000#define DATA_1 0x40000000#define OWN 0x80000000#define USB_BYTE_CNT_MASK 0x0000ff03
rather than the big-endia variant:
#define BE_TOK_PID_0 0x00000004#define BE_BDT_STALL 0x00000004#define BE_TOK_PID_1 0x00000008#define BE_DTS 0x00000008#define BE_TOK_PID_2 0x00000010#define BE_NINC 0x00000010#define BE_TOK_PID_3 0x00000020#define BE_KEEP 0x00000020#define BE_DATA_1 0x00000040#define BE_OWN 0x00000080#define BE_USB_BYTE_CNT_MASK 0x03ff0000
Regards
Mark