summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Leech <[email protected]>2024-05-15 21:23:39 +1000
committerAndrew Leech <[email protected]>2024-05-27 20:35:35 +1000
commita2e5ea1882f130ee22eedbb68296b4b5ce561f77 (patch)
tree35e77e07a69e2489fd0cd1784f637f1e7124ea52 /src
parent1f259b3ab0f1b9587dee9c0bfb5574d70d021640 (diff)
chipidea/mimxrt: Add support for dcd_sof_enable().
Diffstat (limited to 'src')
-rw-r--r--src/portable/chipidea/ci_hs/dcd_ci_hs.c13
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);
}
}