summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2020-04-16 16:56:16 +0700
committerhathach <[email protected]>2020-04-16 16:56:16 +0700
commita00977574537b987250f7f16ee23ba9def42e051 (patch)
treef4b4bfcb3a5177736df7559315e8deb4a4a1d051
parente5dc0902a075572f505c9283085cbc23009f78bb (diff)
dcd disconnect/connect for transdimension ip
-rw-r--r--hw/bsp/mimxrt1015_evk/board.mk4
-rw-r--r--src/portable/nxp/transdimension/dcd_transdimension.c15
2 files changed, 17 insertions, 2 deletions
diff --git a/hw/bsp/mimxrt1015_evk/board.mk b/hw/bsp/mimxrt1015_evk/board.mk
index abb6bc38b..7df60c2c6 100644
--- a/hw/bsp/mimxrt1015_evk/board.mk
+++ b/hw/bsp/mimxrt1015_evk/board.mk
@@ -50,3 +50,7 @@ JLINK_IF = swd
# flash by copying bin file to DAP Mass Storage
flash: $(BUILD)/$(BOARD)-firmware.bin
cp $< /media/$(USER)/RT1015-EVK/
+
+# flash using pyocd
+#flash: $(BUILD)/$(BOARD)-firmware.hex
+# pyocd flash -b MIMXRT1015-EVK $<
diff --git a/src/portable/nxp/transdimension/dcd_transdimension.c b/src/portable/nxp/transdimension/dcd_transdimension.c
index 2872f1435..cea7c2b04 100644
--- a/src/portable/nxp/transdimension/dcd_transdimension.c
+++ b/src/portable/nxp/transdimension/dcd_transdimension.c
@@ -322,7 +322,7 @@ void dcd_init(uint8_t rhport)
{
tu_memclr(&_dcd_data, sizeof(dcd_data_t));
- dcd_registers_t* const dcd_reg = _dcd_controller[rhport].regs;
+ dcd_registers_t* dcd_reg = _dcd_controller[rhport].regs;
// Reset controller
dcd_reg->USBCMD |= USBCMD_RESET;
@@ -342,7 +342,6 @@ void dcd_init(uint8_t rhport)
dcd_reg->USBINTR = INTR_USB | INTR_ERROR | INTR_PORT_CHANGE | INTR_RESET | INTR_SUSPEND /*| INTR_SOF*/;
dcd_reg->USBCMD &= ~0x00FF0000; // Interrupt Threshold Interval = 0
- dcd_reg->USBCMD |= TU_BIT(0); // connect
}
void dcd_int_enable(uint8_t rhport)
@@ -376,6 +375,18 @@ void dcd_remote_wakeup(uint8_t rhport)
(void) rhport;
}
+void dcd_connect(uint8_t rhport)
+{
+ dcd_registers_t* dcd_reg = _dcd_controller[rhport].regs;
+ dcd_reg->USBCMD |= USBCMD_RUN_STOP;
+}
+
+void dcd_disconnect(uint8_t rhport)
+{
+ dcd_registers_t* dcd_reg = _dcd_controller[rhport].regs;
+ dcd_reg->USBCMD &= ~USBCMD_RUN_STOP;
+}
+
//--------------------------------------------------------------------+
// HELPER
//--------------------------------------------------------------------+