Open FFBoard
Open source force feedback firmware
ehci_qtd_t Struct Reference

#include <ehci.h>

Public Attributes

ehci_link_t next
 
union {
   ehci_link_t   alternate
 
   struct {
      uint32_t   __pad0__: 5
 
      uint32_t   used: 1
 
      uint32_t   __pad1__: 10
 
      uint32_t   expected_bytes: 16
 
   } 
 
}; 
 
volatile uint32_t ping_err: 1
 For Highspeed: 0 Out, 1 Ping. Full/Slow used as error indicator. More...
 
volatile uint32_t non_hs_split_state: 1
 Used by HC to track the state of split transaction. More...
 
volatile uint32_t non_hs_missed_uframe: 1
 HC misses a complete split transaction. More...
 
volatile uint32_t xact_err: 1
 Error (Timeout, CRC, Bad PID ... ) More...
 
volatile uint32_t babble_err: 1
 Babble detected, also set Halted bit to 1. More...
 
volatile uint32_t buffer_err: 1
 Data overrun/underrun error. More...
 
volatile uint32_t halted: 1
 Serious error or STALL received. More...
 
volatile uint32_t active: 1
 Start transfer, clear by HC when complete. More...
 
uint32_t pid: 2
 0: OUT, 1: IN, 2 Setup More...
 
volatile uint32_t err_count: 2
 Error Counter of consecutive errors. More...
 
volatile uint32_t current_page: 3
 Index into the qTD buffer pointer list. More...
 
uint32_t int_on_complete: 1
 Interrupt on complete. More...
 
volatile uint32_t total_bytes: 15
 Transfer bytes, decreased during transaction. More...
 
volatile uint32_t data_toggle: 1
 Data Toggle bit. More...
 
uint32_t buffer [5]
 Buffer Page Pointer List, Each element in the list is a 4K page aligned, physical memory address. The lower 12 bits in each pointer are reserved (except for the first one) as each memory pointer must reference the start of a 4K page. More...
 

Detailed Description

Queue Element Transfer Descriptor Qtd is used to declare overlay in ehci_qhd_t -> cannot be declared with TU_ATTR_ALIGNED(32)

Definition at line 88 of file ehci.h.

Member Data Documentation

◆ 

union { ... } ehci_qtd_t::@159

◆ __pad0__

uint32_t ehci_qtd_t::__pad0__

Definition at line 97 of file ehci.h.

◆ __pad1__

uint32_t ehci_qtd_t::__pad1__

Definition at line 99 of file ehci.h.

◆ active

volatile uint32_t ehci_qtd_t::active

Start transfer, clear by HC when complete.

Definition at line 112 of file ehci.h.

◆ alternate

ehci_link_t ehci_qtd_t::alternate

Definition at line 95 of file ehci.h.

◆ babble_err

volatile uint32_t ehci_qtd_t::babble_err

Babble detected, also set Halted bit to 1.

Definition at line 109 of file ehci.h.

◆ buffer

uint32_t ehci_qtd_t::buffer[5]

Buffer Page Pointer List, Each element in the list is a 4K page aligned, physical memory address. The lower 12 bits in each pointer are reserved (except for the first one) as each memory pointer must reference the start of a 4K page.

Definition at line 123 of file ehci.h.

◆ buffer_err

volatile uint32_t ehci_qtd_t::buffer_err

Data overrun/underrun error.

Definition at line 110 of file ehci.h.

◆ current_page

volatile uint32_t ehci_qtd_t::current_page

Index into the qTD buffer pointer list.

Definition at line 116 of file ehci.h.

◆ data_toggle

volatile uint32_t ehci_qtd_t::data_toggle

Data Toggle bit.

Definition at line 119 of file ehci.h.

◆ err_count

volatile uint32_t ehci_qtd_t::err_count

Error Counter of consecutive errors.

Definition at line 115 of file ehci.h.

◆ expected_bytes

uint32_t ehci_qtd_t::expected_bytes

Definition at line 100 of file ehci.h.

◆ halted

volatile uint32_t ehci_qtd_t::halted

Serious error or STALL received.

Definition at line 111 of file ehci.h.

◆ int_on_complete

uint32_t ehci_qtd_t::int_on_complete

Interrupt on complete.

Definition at line 117 of file ehci.h.

◆ next

ehci_link_t ehci_qtd_t::next

Definition at line 91 of file ehci.h.

◆ non_hs_missed_uframe

volatile uint32_t ehci_qtd_t::non_hs_missed_uframe

HC misses a complete split transaction.

Definition at line 107 of file ehci.h.

◆ non_hs_split_state

volatile uint32_t ehci_qtd_t::non_hs_split_state

Used by HC to track the state of split transaction.

Definition at line 106 of file ehci.h.

◆ pid

uint32_t ehci_qtd_t::pid

0: OUT, 1: IN, 2 Setup

Definition at line 114 of file ehci.h.

◆ ping_err

volatile uint32_t ehci_qtd_t::ping_err

For Highspeed: 0 Out, 1 Ping. Full/Slow used as error indicator.

Definition at line 105 of file ehci.h.

◆ total_bytes

volatile uint32_t ehci_qtd_t::total_bytes

Transfer bytes, decreased during transaction.

Definition at line 118 of file ehci.h.

◆ used

uint32_t ehci_qtd_t::used

Definition at line 98 of file ehci.h.

◆ xact_err

volatile uint32_t ehci_qtd_t::xact_err

Error (Timeout, CRC, Bad PID ... )

Definition at line 108 of file ehci.h.


The documentation for this struct was generated from the following file: