Commit Graph

190 Commits

Author SHA1 Message Date
hathach ce63980386 clean up:
- refractor tusb_handle_device_t device_hdl to uint8_t dev_addr

add keyboard_app.c/h
2013-03-24 15:50:49 +07:00
hathach 9c5ffa9932 house keeping 2013-03-24 14:32:54 +07:00
hathach 0c5e0ef0f3 - add control_pipe_status for usbh_device_info_t to reflect the status transfer of control pipe
- fix bug with hcd_port_reset
  + remove regs->portsc_bit.port_enable in the wait loop as device unplugged can cause this to always fails
- correct the timeout for hcd_controll_stop/reset 16 uframes ~ 2 ms
- potentially fix bugs device unplugged when new address is not assigned
2013-03-23 18:36:43 +07:00
hathach 44e09cc397 enhance some tests
add test for usbh_isr error invoke
fix bug if device unplugged before is set to new address
- clean up & close control addr0 in usbh_device_unplugged_isr
2013-03-23 17:31:51 +07:00
hathach 4adfc6a6d8 change signature usbh_isr to add tusb_bus_event_t parameter
change singature of call_isr as well
2013-03-23 15:00:56 +07:00
hathach e6b8166a58 house keeping 2013-03-23 14:27:32 +07:00
hathach e14864759d refractor
- rename TUSB_DEVICE_STATE_READY to TUSB_DEVICE_STATE_CONFIGURED
- move device_state to core/tusb_types.h
- remove usbh_device_hcd_data_cleaned_up_cb, hcd now set the state directly
2013-03-23 12:13:02 +07:00
hathach d7ba86c85e refractor
- rename usbh_device_info_t.status to state
- rename enum TUSB_DEVICE_STATUS_* to TUSB_DEVICE_STATE_*
2013-03-23 11:34:51 +07:00
hathach ae9b9ead7a continue clean up ehci 2013-03-23 10:23:37 +07:00
hathach 53a4164b39 use DO PING for highspeed out bulk 2013-03-22 21:50:07 +07:00
hathach 397d62db10 fix bug: adjust all bulk queue head from ehci_data.device 2013-03-22 21:21:00 +07:00
hathach f6acca6664 add callback for hcd when it cleaned up all cache data for a device (previously mark as removing). 2013-03-22 18:55:45 +07:00
hathach 6b276d09bf house keeping for pipe API test code 2013-03-22 17:45:03 +07:00
hathach 45c94c2aa9 test code clean up 2013-03-22 17:36:59 +07:00
hathach cf98cdeaa2 refractoring test code 2013-03-22 17:34:59 +07:00
hathach 9d4327f5bd start to clean up test code 2013-03-22 17:10:38 +07:00
hathach dbaf6c0d30 - fix bug when unplugged unmounted-already device (mostly plugged when power on)
- add hal_debugger_is_attached & hal_debugger_breakpoint
- assert will suspend (place breakpoint) if the condition is failed and debugger is attached. Otherwise, a message to uart is printed
- fix get control qhd function when dev_addr is not zero (shifted 1)
- fix wrong logic for unsupported class
2013-03-22 17:08:51 +07:00
hathach 9bc30f7694 add some test for usbh_hcd integration
- add tests for pipe_close  (while TDs are active)
- add tests for device unplugged
add tesst & implement the async_advance_isr to clean up "REMOVING" queue head
- add helper find previous qhd
- add remove qhd from async list
- add is_removing field for async advance isr to clean up
add pipe close for control pipe & bulk pipe (with tests)
add helper get qhd from pipe_handle
2013-03-13 21:42:19 +07:00
hathach dbd3d9618d refractor rename field inactive_next_xact of ehci_qhd_t 2013-03-13 12:29:44 +07:00
hathach 1a932e7437 refractor ehci test files
adding some code for async_advance_isr
add test for async_advance_isr
2013-03-13 12:25:27 +07:00
hathach 97c436a16e add usbh_pipe_control_close (in conjunction with usbh pipe control open)
close control pipe when unplugged
2013-03-13 11:20:02 +07:00
hathach 97c9001d40 add hard fault handler to bsp.c
rename class_install_subtask to class_open_subtask
add class_close for unmount
adding code for usbh_device_unplugged_isr & invoke it in hcd_isr
2013-03-13 10:57:30 +07:00
hathach 63765b37c7 forget to add test file for ehci isr 2013-03-13 00:17:02 +07:00
hathach 79e277d323 go through all the enumeration (up to get full configuration)
- fix init_qhd for address 0 (clear queue head --> ehci controller halted)
- fix bug in usbh_init missing address0 for semaphore create

TUSB_CFG_DEBUG == 3: --> ATTR_ALWAYS_INLINE is null --> allow gcc to export "normal inline" function
2013-03-13 00:02:45 +07:00
hathach 80facf6f2e add isr api for usbh_hcd
- void usbh_device_plugged_isr(uint8_t hostid, tusb_speed_t speed);
- void usbh_device_unplugged_isr(uint8_t hostid);

implement port_connect_status_isr
2013-03-12 16:42:19 +07:00
hathach 38ff7123b4 add semaphore reset & queue flush API for osal
add semaphore reset when opening control pipe
2013-03-12 00:10:52 +07:00
hathach 8eaad2326b add semphore reset & queue flush API
modify test to check control pipe semaphore created with usbh_init
2013-03-11 12:00:25 +07:00
hathach 3b0b48e01a - add test code for bulk xfer isr
- fix mismatch type func return
2013-03-10 19:28:38 +07:00
hathach 0e845947ce rename 2013-03-10 18:17:57 +07:00
hathach c1848b8114 add code for ehci interrupt handler
- interrupt source identifying
- for async list process
refractor control_xfer to use insert_qtd_to_qhd
- add test for control xfer interrupt processing
- add code for faking ehci controller async list scheduling & processing
- add prototype for void usbh_isr(pipe_handle_t pipe_hdl, uint8_t class_code);
2013-03-10 17:51:53 +07:00
hathach 889f267e12 rename file 2013-03-10 07:21:54 +07:00
hathach 8457585464 add class code to hcd_pipe_open to facilitate usb_complete callback 2013-03-09 21:37:49 +07:00
hathach 2364b09f80 add int_on_complete parameter to hcd_pipe_xfer for TD chain class request
fix control transfer request: remove get_control_request_ptr()
2013-03-09 14:19:40 +07:00
hathach b1db85dedf - addd p_qtd_list_tail to qhd structure for easy queue TD
- move control_request from ehci_data to usbh_device_info_pool
- add test for bulk transfer double (2 consecutive xfers)
- use table (array) structure for class driver, currently included
- refractor extract to function insert_qtd_to_qhd
+ init function
+ install_subtask
--> all class driver function must be declared with WEAK
2013-03-09 13:11:02 +07:00
hathach b146730306 add test code & hcd_pipe_xfer for bulk transfer
- test cross 4k boundary test for bulk transfer
rename p_qtd_list to p_qtd_list_head
2013-03-07 19:54:00 +07:00
hathach 644f0d3932 make "used" member of ehci_qtd_t into reserved place of buffer[1] (with assert check in hcd init) 2013-03-07 17:59:07 +07:00
hathach 6d30ae1f32 guard check for open iso pipe 2013-03-07 16:10:16 +07:00
hathach 66586ffb08 re-layout ehci_data_t to get better memory consumption 2013-03-07 16:06:28 +07:00
hathach ef08654e73 add prototype for hcd_pipe(control)_close
- update test code for enum task respectively
2013-03-06 22:41:14 +07:00
hathach 5c3bd1f8dc add code & test for hcd_pipe_open interrupt
high and non-highspeed
2013-03-06 22:21:42 +07:00
hathach 7557a807a9 basically finish code for control transfer & test code 2013-03-06 16:32:01 +07:00
hathach f38fed3529 pass test for setup TD 2013-03-06 15:39:37 +07:00
hathach 685fb97086 rename fields in ehci_qtd_t 2013-03-06 15:08:09 +07:00
hathach 959311532e refractor
- rename some field in ehci_qhd/qtd_t
- code test for open pipe
2013-03-06 14:55:02 +07:00
hathach ef1cef5019 refractor ehci_data_t
separate tests for pipe open & pipe xfer
2013-03-06 14:25:26 +07:00
hathach 97a4a41b82 refractor
- remove unnecessary assign next pointer of asyn/period head in hcd_controller_init
2013-03-06 11:24:20 +07:00
hathach c2b9e1ef83 add some code & testcode for hcd_pipe_control_xfer 2013-03-06 03:03:59 +07:00
hathach 71fcf20a95 fix error
- remove p_qhd->qtd_overlay.halted = 1;
2013-03-06 01:46:01 +07:00
hathach 5b401cc517 refractor hcd_open 2013-03-06 00:29:10 +07:00
hathach b3775b631b add test & code for open bulk transfer to hcd_pipe_open() 2013-03-05 23:08:00 +07:00
hathach c0bbc2aded refractor tests 2013-03-05 15:23:12 +07:00
hathach 3ed29f5f3c add test & code for hcd_pipe_control_open 2013-03-05 14:26:36 +07:00
hathach 2c8596edeb abstract call chains from hal usb isr 2013-03-04 18:46:02 +07:00
hathach a259be6edf refractor
- remove TUSB_CFG_HOST_CONTROLLER_START_INDEX
2013-03-04 18:01:05 +07:00
hathach e1033b9b3c replace TUSB_CFG_HOST by MODE_HOST_SUPPORTED
move stuffs around
2013-03-04 17:07:14 +07:00
hathach 94c004724c allow configure host/device by controller basic
- make changes to adapt
add mcu_capacity.h
2013-03-04 16:21:41 +07:00
hathach 656da2992d add alignof to compilier specific
add static_assert support for IAR (built-in support)
2013-03-04 15:01:33 +07:00
hathach 5207875add sperate tests 2013-03-04 01:00:25 +07:00
hathach 9a8dc0a26d rename 2013-03-04 00:54:53 +07:00
hathach d644eaeb5c add test for hcd/host init
- TT control
- usb cmd
complete hcd/host initialization code
2013-03-04 00:46:40 +07:00
hathach 0f7eb8c38d add test for hcd/host init period list 2013-03-03 15:32:04 +07:00
hathach 72b42054e5 refractor 2013-03-03 12:37:44 +07:00
hathach 356c329922 implement hcd_init controller_init
- add test for async list
2013-03-03 12:31:18 +07:00
hathach 5d3e9c4b96 add "mocking" version of LPC43xx.h
- redirect LPC_USB0_BASE & LPC_USB1_BASE to the address of test object
add test for ehci initialization usbint register
2013-03-02 00:09:24 +07:00
hathach 68ff7365c5 rename ehci usb_int usb_sts usb/error field
move MCU define to tusb_option.h
2013-03-01 19:32:53 +07:00
hathach 795fe7468d start to add code for hcd_init test
change hcd_init signature (omit hostid)
2013-02-28 17:00:51 +07:00
hathach 82bd4719ce continue to strengthen include policy 2013-02-28 15:58:18 +07:00
hathach d6548d0063 strengthen include policy. Only limited headers are allowed to included from a header file. Missing needed to be included in *.c 2013-02-28 15:06:31 +07:00
hathach f56f6b6749 add timeout_timer.h to provide real tick timeout service for blocking control 2013-02-27 20:58:11 +07:00
hathach 0c397c6b8d house keeping
- correct initialization call sequence
- move hcd_init to ehci.c
2013-02-27 18:49:28 +07:00
hathach d54a12c449 add test for ehci register portsc 2013-02-27 17:57:53 +07:00
hathach c3c08a6106 add test for ehci register usbsts 2013-02-27 17:31:51 +07:00
hathach 8869d17d98 add test for EHCI register offset
add test for EHCI usbcmd register structure
2013-02-27 17:14:59 +07:00
hathach b73e6c7a35 add test test_itd_structure & test_sitd_structure 2013-02-27 16:50:05 +07:00
hathach a6fac7180c add coded to test ehci alignment and structure layout (included bitfield) 2013-02-27 16:19:40 +07:00
hathach b1d33c7ffc rename tusbh_device_mount_succeed_cb
add set configure and tusbh_device_mount_succeed_cb invocation
refractor get_configure_number_for_device
2013-02-27 12:42:32 +07:00
hathach 4023d07df0 add parsing configuration desc & invoke driver install subtask 2013-02-27 01:57:40 +07:00
hathach 49da210860 add osal subtask support
add usbh_control_xfer_subtask as xfer and wait
fix potential error when update device info & open control pipe for new address
fix build error with hal_****.c
add STATIC_ASSSERT to perform compile time checking with sizeof later
update osal_queue_receive and osal_semaphore_wait for osal_none to support subtask
2013-02-26 17:28:05 +07:00
hathach 5bacdc6c0f updating usbh init with class init 2013-02-08 12:52:46 +07:00
hathach 489b98cb93 add TUSB_CFG_HOST_CONTROLLER_START_INDEX
update usbh_init and test code for TUSB_CFG_HOST_CONTROLLER_START_INDEX
clean up some
2013-02-08 12:12:10 +07:00
hathach e6ed1729b2 update enumeration up to get full configuration descriptor 2013-02-06 18:12:26 +07:00
hathach 060c4b3b30 refractor move device_addr0 into usbh_device_pool
enum_entry contains speed and enum task will not carry out disconnection clean up
2013-02-06 16:52:18 +07:00
hathach 7961f04e17 remove hcd_addr0_close_Ignore
add code to check error handling from enum task
2013-02-06 13:50:17 +07:00
hathach a253e4d648 fix TASK_ASSERT for osal_none.h
add TASK_ASSERT test for osal_none
integrate test project better with eclipse
- assert message--> info windows
- test fail --> error windows
2013-02-06 13:15:12 +07:00
hathach e20025b54d refractor move test enum to its own file
add assert with handler
add task assert with error catcher
2013-02-06 12:03:01 +07:00
hathach aeccdfde3f remove TUSB prefix for class enum definitions
add most of HID USAGE TABLE and definitions etc ...
2013-02-05 13:57:06 +07:00
hathach aa040c4c98 rename device_info_pool to usbh_device_info_pool
update enum task to post set address
2013-02-04 21:52:50 +07:00
hathach 93269b0343 fix osal_semaphore_wait & osal_queue_receive of osal_none's bug
- not assign error to TUSB_ERROR_NON if succeed

add code up to set device address for enumeration
2013-02-04 20:54:52 +07:00
hathach f88e9d045d add test file freeRTOS 2013-02-04 18:07:26 +07:00
hathach dd9da7846a port osal_FreeRTOS, add some include to be able to mock & link
change osal_none's queue_t member from uint16_t to uint8_t
2013-02-04 17:13:26 +07:00
hathach d71e244dff add TUSB_CFG_HOST_ENUM_BUFFER_SIZE
add enum buffer
getting serious with osal_freeRTOS
2013-02-04 16:07:42 +07:00
hathach 0a13e37ba2 resolve conflict between usbh & hcd 2013-02-04 14:48:35 +07:00
hathach 4f3b76caba rename test file for usbh 2013-02-04 13:54:14 +07:00
hathach 94486f55ec add usbh_hcd to hold common structure/typedef for usbh and hcd 2013-02-04 13:51:20 +07:00
hathach a5b29c5d33 refractor include chain with following policies
- header file only include what it needs for its declarations.
2013-02-04 13:13:07 +07:00
hathach 5ec56120e6 rename usbd_host to usbh 2013-02-04 12:29:50 +07:00
hathach 5f8839fff8 refine ASSERT_DEFINE to allow special error_handler for os task
add device_addr0 for enumeration task
start to add osal port for freeRTOS
2013-02-04 00:03:08 +07:00
hathach 3ac88f1b4e refine OSAL_TASK_LOOP_BEGIN & OSAL_TASK_LOOP_END
- add TASK_ASSERT & TASK_ASSERT_STATUS
add more code for enumerate task
add control requests & its type def
add API for HCD
- hcd_pipe_addr0_open
- hcd_pipe_control_open
- hcd_pipe_control_xfer
- hcd_pipe_open
- hcd_port_speed
2013-02-02 15:36:20 +07:00
hathach a25da9d3ee house keeping
add some more logic for enum task
2013-02-01 14:21:22 +07:00
hathach 7fc3e4f8fe house keeping 2013-02-01 12:46:17 +07:00