Open FFBoard
Open source force feedback firmware
dcd_ci_hs.c File Reference

Go to the source code of this file.

Classes

struct  dcd_qtd_t
 
struct  dcd_qhd_t
 
struct  dcd_data_t
 

Enumerations

enum  { ENDPTCTRL_STALL = TU_BIT(0) , ENDPTCTRL_TOGGLE_INHIBIT = TU_BIT(5) , ENDPTCTRL_TOGGLE_RESET = TU_BIT(6) , ENDPTCTRL_ENABLE = TU_BIT(7) }
 
enum  { ENDPTCTRL_TYPE_POS = 2 }
 
enum  {
  INTR_USB = TU_BIT(0) , INTR_ERROR = TU_BIT(1) , INTR_PORT_CHANGE = TU_BIT(2) , INTR_RESET = TU_BIT(6) ,
  INTR_SOF = TU_BIT(7) , INTR_SUSPEND = TU_BIT(8) , INTR_NAK = TU_BIT(16)
}
 

Functions

void dcd_dcache_clean (void const *addr, uint32_t data_size)
 
void dcd_dcache_invalidate (void const *addr, uint32_t data_size)
 
void dcd_dcache_clean_invalidate (void const *addr, uint32_t data_size)
 
 TU_VERIFY_STATIC (sizeof(dcd_qtd_t)==32, "size is not correct")
 
 TU_VERIFY_STATIC (sizeof(dcd_qhd_t)==64, "size is not correct")
 
CFG_TUD_MEM_SECTION TU_ATTR_ALIGNED (2048)
 
static void bus_reset (uint8_t rhport)
 follows LPC43xx User Manual 23.10.3 More...
 
bool dcd_init (uint8_t rhport, const tusb_rhport_init_t *rh_init)
 
void dcd_int_enable (uint8_t rhport)
 
void dcd_int_disable (uint8_t rhport)
 
void dcd_set_address (uint8_t rhport, uint8_t dev_addr)
 
void dcd_remote_wakeup (uint8_t rhport)
 
void dcd_connect (uint8_t rhport)
 
void dcd_disconnect (uint8_t rhport)
 
void dcd_sof_enable (uint8_t rhport, bool en)
 
static void qtd_init (dcd_qtd_t *p_qtd, void *data_ptr, uint16_t total_bytes)
 
void dcd_edpt_stall (uint8_t rhport, uint8_t ep_addr)
 
void dcd_edpt_clear_stall (uint8_t rhport, uint8_t ep_addr)
 
bool dcd_edpt_open (uint8_t rhport, tusb_desc_endpoint_t const *p_endpoint_desc)
 
void dcd_edpt_close_all (uint8_t rhport)
 
void dcd_edpt_close (uint8_t rhport, uint8_t ep_addr)
 
static void qhd_start_xfer (uint8_t rhport, uint8_t epnum, uint8_t dir)
 
bool dcd_edpt_xfer (uint8_t rhport, uint8_t ep_addr, uint8_t *buffer, uint16_t total_bytes)
 
bool dcd_edpt_xfer_fifo (uint8_t rhport, uint8_t ep_addr, tu_fifo_t *ff, uint16_t total_bytes)
 
static void process_edpt_complete_isr (uint8_t rhport, uint8_t epnum, uint8_t dir)
 
void dcd_int_handler (uint8_t rhport)
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ENDPTCTRL_STALL 
ENDPTCTRL_TOGGLE_INHIBIT 
ENDPTCTRL_TOGGLE_RESET 
ENDPTCTRL_ENABLE 

Definition at line 79 of file dcd_ci_hs.c.

◆ anonymous enum

anonymous enum
Enumerator
ENDPTCTRL_TYPE_POS 

Definition at line 86 of file dcd_ci_hs.c.

◆ anonymous enum

anonymous enum
Enumerator
INTR_USB 
INTR_ERROR 
INTR_PORT_CHANGE 
INTR_RESET 
INTR_SOF 
INTR_SUSPEND 
INTR_NAK 

Definition at line 91 of file dcd_ci_hs.c.

Function Documentation

◆ bus_reset()

static void bus_reset ( uint8_t  rhport)
static

follows LPC43xx User Manual 23.10.3

Definition at line 196 of file dcd_ci_hs.c.

◆ dcd_connect()

void dcd_connect ( uint8_t  rhport)

Definition at line 300 of file dcd_ci_hs.c.

◆ dcd_dcache_clean()

void dcd_dcache_clean ( void const *  addr,
uint32_t  data_size 
)

Definition at line 37 of file dcd_ci_hs.c.

◆ dcd_dcache_clean_invalidate()

void dcd_dcache_clean_invalidate ( void const *  addr,
uint32_t  data_size 
)

Definition at line 45 of file dcd_ci_hs.c.

◆ dcd_dcache_invalidate()

void dcd_dcache_invalidate ( void const *  addr,
uint32_t  data_size 
)

Definition at line 41 of file dcd_ci_hs.c.

◆ dcd_disconnect()

void dcd_disconnect ( uint8_t  rhport)

Definition at line 306 of file dcd_ci_hs.c.

◆ dcd_edpt_clear_stall()

void dcd_edpt_clear_stall ( uint8_t  rhport,
uint8_t  ep_addr 
)

Definition at line 371 of file dcd_ci_hs.c.

◆ dcd_edpt_close()

void dcd_edpt_close ( uint8_t  rhport,
uint8_t  ep_addr 
)

Definition at line 437 of file dcd_ci_hs.c.

◆ dcd_edpt_close_all()

void dcd_edpt_close_all ( uint8_t  rhport)

Definition at line 421 of file dcd_ci_hs.c.

◆ dcd_edpt_open()

bool dcd_edpt_open ( uint8_t  rhport,
tusb_desc_endpoint_t const *  p_endpoint_desc 
)

Definition at line 382 of file dcd_ci_hs.c.

◆ dcd_edpt_stall()

void dcd_edpt_stall ( uint8_t  rhport,
uint8_t  ep_addr 
)

Definition at line 359 of file dcd_ci_hs.c.

◆ dcd_edpt_xfer()

bool dcd_edpt_xfer ( uint8_t  rhport,
uint8_t  ep_addr,
uint8_t *  buffer,
uint16_t  total_bytes 
)

Definition at line 478 of file dcd_ci_hs.c.

◆ dcd_edpt_xfer_fifo()

bool dcd_edpt_xfer_fifo ( uint8_t  rhport,
uint8_t  ep_addr,
tu_fifo_t ff,
uint16_t  total_bytes 
)

Definition at line 497 of file dcd_ci_hs.c.

◆ dcd_init()

bool dcd_init ( uint8_t  rhport,
const tusb_rhport_init_t rh_init 
)

Definition at line 237 of file dcd_ci_hs.c.

◆ dcd_int_disable()

void dcd_int_disable ( uint8_t  rhport)

Definition at line 280 of file dcd_ci_hs.c.

◆ dcd_int_enable()

void dcd_int_enable ( uint8_t  rhport)

Definition at line 275 of file dcd_ci_hs.c.

◆ dcd_int_handler()

void dcd_int_handler ( uint8_t  rhport)

Definition at line 595 of file dcd_ci_hs.c.

◆ dcd_remote_wakeup()

void dcd_remote_wakeup ( uint8_t  rhport)

Definition at line 294 of file dcd_ci_hs.c.

◆ dcd_set_address()

void dcd_set_address ( uint8_t  rhport,
uint8_t  dev_addr 
)

Definition at line 285 of file dcd_ci_hs.c.

◆ dcd_sof_enable()

void dcd_sof_enable ( uint8_t  rhport,
bool  en 
)

Definition at line 312 of file dcd_ci_hs.c.

◆ process_edpt_complete_isr()

static void process_edpt_complete_isr ( uint8_t  rhport,
uint8_t  epnum,
uint8_t  dir 
)
static

Definition at line 563 of file dcd_ci_hs.c.

◆ qhd_start_xfer()

static void qhd_start_xfer ( uint8_t  rhport,
uint8_t  epnum,
uint8_t  dir 
)
static

Definition at line 455 of file dcd_ci_hs.c.

◆ qtd_init()

static void qtd_init ( dcd_qtd_t p_qtd,
void *  data_ptr,
uint16_t  total_bytes 
)
static

Definition at line 326 of file dcd_ci_hs.c.

◆ TU_ATTR_ALIGNED()

CFG_TUD_MEM_SECTION TU_ATTR_ALIGNED ( 2048  )

Definition at line 178 of file dcd_ci_hs.c.

◆ TU_VERIFY_STATIC() [1/2]

TU_VERIFY_STATIC ( sizeof(dcd_qhd_t = =64,
"size is not correct"   
)

◆ TU_VERIFY_STATIC() [2/2]

TU_VERIFY_STATIC ( sizeof(dcd_qtd_t = =32,
"size is not correct"   
)