diff options
| author | William D. Jones <[email protected]> | 2019-10-01 23:28:41 -0400 |
|---|---|---|
| committer | William D. Jones <[email protected]> | 2019-10-01 23:28:41 -0400 |
| commit | 54478aaa2a57e62f946581f492da5792741116f9 (patch) | |
| tree | 287c0b388083373943a36d3f3609141c973fde3b /src | |
| parent | fad44c03c874ad5b278e41ab842e2fb36134ad2a (diff) | |
dcd_msp430x5xx: Add STALL support for nonzero endpoints.
Diffstat (limited to 'src')
| -rw-r--r-- | src/portable/ti/msp430x5xx/dcd_msp430x5xx.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/portable/ti/msp430x5xx/dcd_msp430x5xx.c b/src/portable/ti/msp430x5xx/dcd_msp430x5xx.c index 121dd03ac..5202f156a 100644 --- a/src/portable/ti/msp430x5xx/dcd_msp430x5xx.c +++ b/src/portable/ti/msp430x5xx/dcd_msp430x5xx.c @@ -346,6 +346,11 @@ void dcd_edpt_stall (uint8_t rhport, uint8_t ep_addr) USBIEPCNF_0 |= STALL; } } + else + { + ep_regs_t ep_regs = EP_REGS(epnum, dir); + ep_regs[CNF] |= STALL; + } } void dcd_edpt_clear_stall (uint8_t rhport, uint8_t ep_addr) @@ -366,6 +371,13 @@ void dcd_edpt_clear_stall (uint8_t rhport, uint8_t ep_addr) USBIEPCNT_0 &= ~STALL; } } + else + { + ep_regs_t ep_regs = EP_REGS(epnum, dir); + // Required by USB spec to reset DATA toggle bit to DATA0 on interrupt + // and bulk endpoints. + ep_regs[CNF] &= ~(STALL + TOGGLE); + } } /*------------------------------------------------------------------*/ |
