summaryrefslogtreecommitdiff
path: root/src/device/dcd.h
diff options
context:
space:
mode:
authorhathach <[email protected]>2018-11-16 21:56:39 +0700
committerhathach <[email protected]>2018-11-16 21:56:39 +0700
commit215f8603b14cc29e08d8a25e08f8eca44ed90826 (patch)
tree9059bf9825f3fc71def0ee1f0204ac3f719e8c71 /src/device/dcd.h
parentb62ca2e5cdacc2f49cce6a0352ee740e4bac64a9 (diff)
nrf5x: refactor device control transfer.
- make control transfer as part of usbd. Class driver must use usbd_control_ API() instead of dcd_ api. - change the signature of class driver's control_request - allow control request complete to stall in staus stage - move control request parser & handling to usbd.
Diffstat (limited to 'src/device/dcd.h')
-rw-r--r--src/device/dcd.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/device/dcd.h b/src/device/dcd.h
index ff836f405..bd0ea852e 100644
--- a/src/device/dcd.h
+++ b/src/device/dcd.h
@@ -124,6 +124,10 @@ void dcd_event_xfer_complete (uint8_t rhport, uint8_t ep_addr, uint32_t xferred_
/*------------------------------------------------------------------*/
/* Endpoint API
+ * Note:
+ * - Address of control endpoint OUT is 0x00, In is 0x80
+ * - When stalling control endpoint both control OUT and IN must be stalled
+ * (according to USB spec, stalled control is only recovered with setup token)
*------------------------------------------------------------------*/
bool dcd_edpt_open (uint8_t rhport, tusb_desc_endpoint_t const * p_endpoint_desc);
bool dcd_edpt_xfer (uint8_t rhport, uint8_t ep_addr, uint8_t * buffer, uint16_t total_bytes);