From f4df82939955d86f6c2e826e1bc9f4b5bb713df8 Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 13 Apr 2020 17:04:18 +0700 Subject: [PATCH] lpc17xx move set configdevice into set address for removing dcd_set_config() --- src/device/usbd.c | 2 -- src/portable/nxp/lpc17_40/dcd_lpc17_40.c | 5 ++++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/device/usbd.c b/src/device/usbd.c index 2adac429..55d6aa7e 100644 --- a/src/device/usbd.c +++ b/src/device/usbd.c @@ -542,8 +542,6 @@ static bool process_control_request(uint8_t rhport, tusb_control_request_t const { uint8_t const cfg_num = (uint8_t) p_request->wValue; - dcd_set_config(rhport, cfg_num); - if ( !_usbd_dev.configured && cfg_num ) TU_ASSERT( process_set_config(rhport, cfg_num) ); _usbd_dev.configured = cfg_num ? 1 : 0; diff --git a/src/portable/nxp/lpc17_40/dcd_lpc17_40.c b/src/portable/nxp/lpc17_40/dcd_lpc17_40.c index 884260f3..1d755ce6 100644 --- a/src/portable/nxp/lpc17_40/dcd_lpc17_40.c +++ b/src/portable/nxp/lpc17_40/dcd_lpc17_40.c @@ -205,13 +205,15 @@ void dcd_set_address(uint8_t rhport, uint8_t dev_addr) dcd_edpt_xfer(rhport, tu_edpt_addr(0, TUSB_DIR_IN), NULL, 0); sie_write(SIE_CMDCODE_SET_ADDRESS, 1, 0x80 | dev_addr); // 7th bit is : device_enable + + // Also Set Configure Device to enable non-control endpoint response + sie_write(SIE_CMDCODE_CONFIGURE_DEVICE, 1, 1); } void dcd_set_config(uint8_t rhport, uint8_t config_num) { (void) rhport; (void) config_num; - sie_write(SIE_CMDCODE_CONFIGURE_DEVICE, 1, 1); } void dcd_remote_wakeup(uint8_t rhport) @@ -273,6 +275,7 @@ static uint8_t control_ep_read(void * buffer, uint8_t len) //--------------------------------------------------------------------+ // DCD Endpoint Port //--------------------------------------------------------------------+ + bool dcd_edpt_open(uint8_t rhport, tusb_desc_endpoint_t const * p_endpoint_desc) { (void) rhport;