diff options
| author | Andrew Leech <[email protected]> | 2024-05-15 21:23:39 +1000 |
|---|---|---|
| committer | Andrew Leech <[email protected]> | 2024-05-27 20:35:35 +1000 |
| commit | a2e5ea1882f130ee22eedbb68296b4b5ce561f77 (patch) | |
| tree | 35e77e07a69e2489fd0cd1784f637f1e7124ea52 /src | |
| parent | 1f259b3ab0f1b9587dee9c0bfb5574d70d021640 (diff) | |
chipidea/mimxrt: Add support for dcd_sof_enable().
Diffstat (limited to 'src')
| -rw-r--r-- | src/portable/chipidea/ci_hs/dcd_ci_hs.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/portable/chipidea/ci_hs/dcd_ci_hs.c b/src/portable/chipidea/ci_hs/dcd_ci_hs.c index f9ec666e5..93e1d78dd 100644 --- a/src/portable/chipidea/ci_hs/dcd_ci_hs.c +++ b/src/portable/chipidea/ci_hs/dcd_ci_hs.c @@ -309,10 +309,12 @@ void dcd_disconnect(uint8_t rhport) void dcd_sof_enable(uint8_t rhport, bool en) { - (void) rhport; - (void) en; - - // TODO implement later + ci_hs_regs_t* dcd_reg = CI_HS_REG(rhport); + if (en) { + dcd_reg->USBINTR |= INTR_SOF; + } else { + dcd_reg->USBINTR &= ~INTR_SOF; + } } //--------------------------------------------------------------------+ @@ -679,7 +681,8 @@ void dcd_int_handler(uint8_t rhport) if (int_status & INTR_SOF) { - dcd_event_bus_signal(rhport, DCD_EVENT_SOF, true); + const uint32_t frame = dcd_reg->FRINDEX; + dcd_event_sof(rhport, frame, true); } } |
