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
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
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
d2bd80109e
add semaphore post in usbh_isr for control pipe
...
add osal_queue_send in usbh_device_plugged
add macro for placing breakpoint macros
fix ehci init:
- regs->cmd or (add run_stop)
- enable port power in portsc
add tusb_task_runner in main loop
2013-03-12 20:04:29 +07:00
hathach
60c2caf84a
implement port hcd_port_connect_status
...
clean up
2013-03-12 16:46:47 +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
453ea39865
add project file for keil
...
fix binary.h compiler specific
add hal_init code to reset & set usbmode --> able to get USB ISR
remove const qualifier from return function of
- get_operational_register
- get_period_frame_list
- get_async_head
- get_period_head
- get_control_qhd
add stub for
- hcd_port_connect_status
- hcd_port_speed
2013-03-12 12:06:40 +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
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
8457585464
add class code to hcd_pipe_open to facilitate usb_complete callback
2013-03-09 21:37:49 +07:00
hathach
96c92afb32
rename init_qtd, init_qhd
2013-03-09 15:43:14 +07:00
hathach
b833203528
house keeping
2013-03-09 14:38:35 +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
1b610cf26f
refractor list_insert
2013-03-07 16:40:01 +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
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
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
74e6b545e1
house keeping
2013-03-03 15:36:53 +07:00
hathach
0f7eb8c38d
add test for hcd/host init period list
2013-03-03 15:32:04 +07:00
hathach
356c329922
implement hcd_init controller_init
...
- add test for async list
2013-03-03 12:31:18 +07:00