--- zzzz-none-000/linux-2.6.28.10/drivers/usb/musb/cppi_dma.h 2009-05-02 18:54:43.000000000 +0000 +++ puma5-6360-529/linux-2.6.28.10/drivers/usb/musb/cppi_dma.h 2010-03-30 18:41:51.000000000 +0000 @@ -11,14 +11,21 @@ #include "musb_dma.h" #include "musb_core.h" +#include "davinci.h" +/* hOptions bit masks for CPPI BDs */ +#define CPPI_SOP_SET ((u32)(1 << 31)) +#define CPPI_EOP_SET ((u32)(1 << 30)) +#define CPPI_OWN_SET ((u32)(1 << 29)) /* owned by cppi */ +#define CPPI_EOQ_MASK ((u32)(1 << 28)) +#define CPPI_ZERO_SET ((u32)(1 << 23)) /* rx saw zlp; tx issues one */ +#define CPPI_RXABT_MASK ((u32)(1 << 19)) /* need more rx buffers */ -/* FIXME fully isolate CPPI from DaVinci ... the "CPPI generic" registers - * would seem to be shared with the TUSB6020 (over VLYNQ). - */ - -#include "davinci.h" +#define CPPI_RECV_PKTLEN_MASK 0xFFFF +#define CPPI_BUFFER_LEN_MASK 0xFFFF +#define CPPI_TEAR_READY ((u32)(1 << 31)) +#define CPPI_CHNUM_BITS_MASK 0x3 /* CPPI RX/TX state RAM */ @@ -44,90 +51,114 @@ u32 rx_complete; }; -/* hw_options bits in CPPI buffer descriptors */ -#define CPPI_SOP_SET ((u32)(1 << 31)) -#define CPPI_EOP_SET ((u32)(1 << 30)) -#define CPPI_OWN_SET ((u32)(1 << 29)) /* owned by cppi */ -#define CPPI_EOQ_MASK ((u32)(1 << 28)) -#define CPPI_ZERO_SET ((u32)(1 << 23)) /* rx saw zlp; tx issues one */ -#define CPPI_RXABT_MASK ((u32)(1 << 19)) /* need more rx buffers */ - -#define CPPI_RECV_PKTLEN_MASK 0xFFFF -#define CPPI_BUFFER_LEN_MASK 0xFFFF - -#define CPPI_TEAR_READY ((u32)(1 << 31)) - /* CPPI data structure definitions */ -#define CPPI_DESCRIPTOR_ALIGN 16 /* bytes; 5-dec docs say 4-byte align */ +/** + * CPPI Buffer Descriptor + * + * Buffer Descriptor structure for USB OTG Module CPPI.Using the same across + * Tx/Rx + */ + +#define CPPI_DESCRIPTOR_ALIGN 16 /* bytes; 5-dec docs say 4-byte align*/ struct cppi_descriptor { - /* hardware overlay */ - u32 hw_next; /* next buffer descriptor Pointer */ - u32 hw_bufp; /* i/o buffer pointer */ - u32 hw_off_len; /* buffer_offset16, buffer_length16 */ - u32 hw_options; /* flags: SOP, EOP etc*/ - - struct cppi_descriptor *next; - dma_addr_t dma; /* address of this descriptor */ - u32 buflen; /* for RX: original buffer length */ + /* Hardware Overlay */ + /**< Next(hardware) Buffer Descriptor Pointer */ + u32 hw_next; + /**