summaryrefslogtreecommitdiff
path: root/tinyusb
diff options
context:
space:
mode:
authorhathach <[email protected]>2013-11-20 12:21:29 +0700
committerhathach <[email protected]>2013-11-20 12:21:29 +0700
commitdbfad50d437f51073dfb29b6ddda4889417b6269 (patch)
treef9c3e3d10257c250b98c2f399d1c8be2989f0175 /tinyusb
parentd284ecaccbfc15b71dbca3e885fff1dc941fdfde (diff)
house keeping
Diffstat (limited to 'tinyusb')
-rw-r--r--tinyusb/device/dcd_lpc175x_6x.c25
-rw-r--r--tinyusb/device/dcd_lpc175x_6x.h7
2 files changed, 12 insertions, 20 deletions
diff --git a/tinyusb/device/dcd_lpc175x_6x.c b/tinyusb/device/dcd_lpc175x_6x.c
index b14fc9e1a..730ee7295 100644
--- a/tinyusb/device/dcd_lpc175x_6x.c
+++ b/tinyusb/device/dcd_lpc175x_6x.c
@@ -126,12 +126,10 @@ static inline void edpt_set_max_packet_size(uint8_t ep_id, uint16_t max_packet_s
LPC_USB->USBMaxPSize = max_packet_size;
#ifndef _TEST_
- if( ep_id > 2) // endpoint control is always realized
- {
- while ((LPC_USB->USBDevIntSt & DEV_INT_ENDPOINT_REALIZED_MASK) == 0) {} // TODO can be omitted, or move to set max packet size
- LPC_USB->USBDevIntClr = DEV_INT_ENDPOINT_REALIZED_MASK;
- }
+ while ((LPC_USB->USBDevIntSt & DEV_INT_ENDPOINT_REALIZED_MASK) == 0) {} // TODO can be omitted
+ LPC_USB->USBDevIntClr = DEV_INT_ENDPOINT_REALIZED_MASK;
#endif
+
}
// retval UINT8_MAX: invalid
@@ -193,8 +191,8 @@ tusb_error_t dcd_init(void)
LPC_USB->USBDMAIntEn = (DMA_INT_END_OF_XFER_MASK | DMA_INT_ERROR_MASK );
// clear all stall on control endpoint IN & OUT if any
- sie_write(SIE_CMDCODE_ENDPOINT_SET_STATUS , 1, 0);
- sie_write(SIE_CMDCODE_ENDPOINT_SET_STATUS+1, 1, 0);
+// sie_write(SIE_CMDCODE_ENDPOINT_SET_STATUS , 1, 0);
+// sie_write(SIE_CMDCODE_ENDPOINT_SET_STATUS+1, 1, 0);
sie_write(SIE_CMDCODE_DEVICE_STATUS, 1, 1); // connect
@@ -222,8 +220,6 @@ void endpoint_control_isr(void)
{
// Current not support any out control with data yet
}
- sie_write(SIE_CMDCODE_ENDPOINT_SELECT+0, 0, 0);
- sie_write(SIE_CMDCODE_BUFFER_CLEAR , 0, 0);
}
//------------- control IN -------------//
@@ -243,7 +239,7 @@ void endpoint_control_isr(void)
void dcd_isr(uint8_t coreid)
{
- uint32_t const device_int_status = LPC_USB->USBDevIntSt & LPC_USB->USBDevIntEn & DEV_INT_ALL_MASK;
+ uint32_t const device_int_status = LPC_USB->USBDevIntSt & LPC_USB->USBDevIntEn;
LPC_USB->USBDevIntClr = device_int_status;// Acknowledge handled interrupt
//------------- usb bus event -------------//
@@ -258,14 +254,12 @@ void dcd_isr(uint8_t coreid)
// TODO invoke some callbacks
if (dev_status_reg & SIE_DEV_STATUS_CONNECT_CHANGE_MASK) { }
- if (dev_status_reg & SIE_DEV_STATUS_SUSPEND_CHANGE_MASK) {
- }
+ if (dev_status_reg & SIE_DEV_STATUS_SUSPEND_CHANGE_MASK) { }
}
//------------- Control Endpoint (Slave Mode) -------------//
if (device_int_status & DEV_INT_ENDPOINT_SLOW_MASK)
{
- // only occur on control endpoint, all other use DMA
endpoint_control_isr();
}
@@ -384,6 +378,9 @@ static tusb_error_t pipe_control_read(void * buffer, uint16_t length)
}
LPC_USB->USBCtrl = 0; // TODO not needed ?
+ sie_write(SIE_CMDCODE_ENDPOINT_SELECT+0, 0, 0);
+ sie_write(SIE_CMDCODE_BUFFER_CLEAR , 0, 0);
+
return TUSB_ERROR_NONE;
}
@@ -523,7 +520,7 @@ tusb_error_t dcd_pipe_xfer(endpoint_handle_t edpt_hdl, void * buffer, uint16_t t
{ // fixed DD is free
dd_xfer_init(p_fixed_dd, buffer, total_bytes);
dcd_data.ioc_dd = int_on_complete ? BIT_SET_(dcd_data.ioc_dd, dcd_data.ddat[edpt_hdl.index]) :
- BIT_CLR_(dcd_data.ioc_dd, dcd_data.ddat[edpt_hdl.index]);
+ BIT_CLR_(dcd_data.ioc_dd, dcd_data.ddat[edpt_hdl.index]);
}
p_fixed_dd->is_retired = 0;
diff --git a/tinyusb/device/dcd_lpc175x_6x.h b/tinyusb/device/dcd_lpc175x_6x.h
index 5ea83b580..df9e790fa 100644
--- a/tinyusb/device/dcd_lpc175x_6x.h
+++ b/tinyusb/device/dcd_lpc175x_6x.h
@@ -110,12 +110,7 @@ enum {
DEV_INT_RX_ENDPOINT_PACKET_MASK = BIT_(6),
DEV_INT_TX_ENDPOINT_PACKET_MASK = BIT_(7),
DEV_INT_ENDPOINT_REALIZED_MASK = BIT_(8),
- DEV_INT_ERROR_MASK = BIT_(9),
-
- DEV_INT_ALL_MASK = DEV_INT_FRAME_MASK | DEV_INT_ENDPOINT_FAST_MASK | DEV_INT_ENDPOINT_SLOW_MASK |
- DEV_INT_DEVICE_STATUS_MASK | DEV_INT_COMMAND_CODE_EMPTY_MASK | DEV_INT_COMMAND_DATA_FULL_MASK |
- DEV_INT_RX_ENDPOINT_PACKET_MASK | DEV_INT_TX_ENDPOINT_PACKET_MASK | DEV_INT_ENDPOINT_REALIZED_MASK |
- DEV_INT_ERROR_MASK
+ DEV_INT_ERROR_MASK = BIT_(9)
};
//------------- DMA Interrupt USBDMAInt-------------//