Commit Graph

131 Commits

Author SHA1 Message Date
hathach
a40d20387d complete dcd 17xx control xfer with soft DMA
keyboard LED set report run ok with lpc17xx
there is problem with cdc set line encoding
2013-12-09 16:11:10 +07:00
hathach
b08ecda657 house keeping, lpc43xx works okie 2013-12-09 11:57:09 +07:00
hathach
2af9ecbed5 refractor dcd lpc43xx control xfer (with int on complete) 2013-12-09 11:49:34 +07:00
hathach
055285c559 minor refractor 2013-12-09 11:28:11 +07:00
hathach
e320659f8a add keyboard led mask
make usbd control request to subtask
add get/set report via control pipe to hidd
enforce soft DMA to control pipe for lpc11u (lpc17xx not yet)
temp add led_blinking_set_interval to change led blinking interval
refractor dcd_pipe_control_xfer to have interrupt on complete option
add get/set report support of moused_app and keyboardd_app, keyboard LED will make LED blink faster
2013-12-09 11:15:13 +07:00
hathach
2c8b8ea529 add board lpclink2, able to run device stack without any problems 2013-12-02 00:40:10 +07:00
hathach
24e92f79e7 adjust packet per TD for lpc13u is 1023, 11u is 64 2013-12-01 16:11:41 +07:00
hathach
a9a5146108 correct stall & clear stall behavior for non-control pipe
fix data_residue when read10, write10 return 0 (no need for BE conversion)
2013-12-01 15:48:49 +07:00
hathach
edb4226f23 change class_ixr to class_cb
use IAD whenever enable CDC to make sure windows driver can detect
change keyboard, mouse send report to int_on_complete = true
2013-12-01 13:53:36 +07:00
hathach
e0db04e6b4 tested with lpc13u 2013-12-01 00:34:18 +07:00
hathach
864935fbe8 code clean up 2013-11-30 22:38:15 +07:00
hathach
6e30a068d2 completely change the dcd for lpc11u & lpc13u to overcome the fact that lpc11u dma cannot transfer more than 64 bytes
each buffer. This implement an soft DMA for lpc11u & lpc13u (previously 1023 max) queued transfer
2013-11-30 22:29:37 +07:00
hathach
af87e231c5 house keeping 2013-11-26 14:17:58 +07:00
hathach
8f70a6a886 change endian conversion to native to be & be to native
completely deferred xfer isr event to usbd task
complete read10, write10 sequence for large data transfer
2013-11-26 13:15:40 +07:00
hathach
51def3f7ed refractor usbd task
move control request data into task event
adding tusbd_msc_read10_cb, tusbd_msc_write10_cb (not fully supported)
2013-11-25 16:42:04 +07:00
hathach
a5ba283557 change MCU to TUSB_CFG_MCU 2013-11-25 12:48:27 +07:00
hathach
41ffcaf4a5 temp fix for dcd 43xx suspend detection (disconnection does not generate interrupt) 2013-11-22 16:10:05 +07:00
hathach
83f1d660ce clean up
add some doxygen work
finalize device disconnection & suspend
- suspend & resume & remote wake up is not supported yet
2013-11-22 15:16:24 +07:00
hathach
d1ef89a154 fixed lpc11u/13u VBUS (P0_3) with pulldown resistor for USB_VBUS_DEBOUNCED is correct
added disconnect callback for lpc11u/13u
2013-11-21 15:24:02 +07:00
hathach
c303154b7a add class mounted callback for hid mouse/keyboard & refractor mouse/keyboard app 2013-11-21 13:54:29 +07:00
hathach
6887e5e642 refractor usbd-dcd callback, add bus event isr 2013-11-21 12:47:55 +07:00
hathach
d94efa60d6 fixed dcd lpc17xx queue transfer & IOC handling
able to run MSC demo
2013-11-20 15:34:49 +07:00
hathach
850fcf03f0 refractor descriptor 2013-11-20 12:52:07 +07:00
hathach
dbfad50d43 house keeping 2013-11-20 12:21:29 +07:00
hathach
d284ecaccb add sw int_on_complete support for dcd lpc17xx 2013-11-20 12:03:04 +07:00
hathach
2dafeee585 complete dcd for lpc175x_6x
cdc device demo can work but there is hardfault with dma descriptor with fast typing
2013-11-19 16:41:30 +07:00
hathach
94854f805a get lpc17xx running through enumeration (with control data < 64) 2013-11-18 17:29:12 +07:00
hathach
b104d21e71 fix dcd_pipe_control_xfer for dcd43xx
refractor tusb_descriptors.h
2013-11-16 22:16:03 +07:00
hathach
672057de5a IAD support 2013-11-15 17:20:40 +07:00
hathach
6e463caec0 add semaphore for control xfer for > 64 support for some mcu such as lpc11u/lpc17xx 2013-11-15 16:47:26 +07:00
hathach
d4a260c090 refractor usbd's get descriptor 2013-11-15 15:05:23 +07:00
hathach
699edf9485 separate data & status from dcd_pipe_control_xfer 2013-11-15 14:15:05 +07:00
hathach
05c439e45a refractor usbd, first step to make get configuration as sub task 2013-11-15 13:26:12 +07:00
hathach
fc68439b74 add usbd_task to handle event task eg setup received 2013-11-15 12:30:22 +07:00
hathach
ba49d26e19 fix build error with device 43xx
refractor mscd ramdisk demo
2013-11-15 00:01:07 +07:00
hathach
6e8440afe5 complete double buffering for queueing xfer for lpc11u/13u requried by msc device 2013-11-14 14:12:07 +07:00
hathach
7d84139bd4 fix potential issue with stall endpoints
NOTE: cannot able to STALL control OUT endpoints --> unsupported with data out request may got to an issue.
clean up configure, add max string descriptor configure as windows sometimes ask for string @ index 238 !!!
2013-11-13 14:00:39 +07:00
hathach
92d9c36dbc able to build and run cdc device demo on lpc11uxx 2013-11-13 12:40:11 +07:00
hathach
d8f32a79fc technically, mouse + keyboard device demo also work on lpc13uxx 2013-11-11 14:02:55 +07:00
hathach
9a81cbcd59 remove xfer_type in endpoint_handle_t
cdc device demo runs on lpc13uxx
2013-11-11 13:52:31 +07:00
hathach
f00a4b448d adding support for lpc13uxx 2013-11-11 12:48:21 +07:00
hathach
15d3a418bd add windows driver for cdc
add simple echo cdc serial demo
add cdc device send/receive API
refractor descriptor
refractor cdc.h
add usbd driver function
- init
- bus_reset
2013-11-08 12:03:32 +07:00
hathach
8c9def8618 clean up tusb_descriptors 2013-11-07 11:51:39 +07:00
hathach
60d444b452 fix a bug with USB1, but still cannot get interrupt occurred on USB1 2013-11-06 14:53:18 +07:00
hathach
58b41a05db refractor for device able to work on usb1 of lpc43xx. But could not get it work on EA4357 2013-11-06 14:20:45 +07:00
hathach
b2b53e61fb refractor dcd_controller_reset & hcd_controller_reset to hal_controller_reset 2013-11-06 12:15:11 +07:00
hathach
d02ef07337 added support for
- sense data scsi_sense_fixed_data_t
- read format capacity scsi_read_format_capacity_data_t

change msc device callback to support actual response
fix dcd_pipe_clear_stall also reset toggle
2013-11-01 22:00:39 +07:00
hathach
f2ae5b541f add dcd pipe clear stall
- tusb_error_t dcd_pipe_clear_stall(uint8_t coreid, uint8_t edpt_addr) but does not take endpoint_handle_t as input
complete msc device driver
add usbd clear stall endpoint
2013-11-01 14:44:14 +07:00
hathach
3a54ad4c0d implement msc device class
usbd auto stall control for not supported return from class control request
usbd implement xfer isr callback mechanism
DCD
- implement dcd multiple qtd support
- dcd dcd_pipe_stall
- implement dcd_pipe_queue_xfer
- xfer_complete_isr
- flush control endpoint if received new setup while previous transfer is not complete
change msc_cmd_block_wrapper_t flags field to dir
force full speed for easy testing

NOTEs: somehow unable to get endpoint IN interrupt with ioc
2013-11-01 12:11:26 +07:00
hathach
c760c69d51 clean up 2013-10-30 14:16:45 +07:00