Commit Graph

962 Commits

Author SHA1 Message Date
Jerzy Kasenberg c427712449 dcd_da146xx: Handle only enabled interrupts
Not much of an improvement but handle only interrupts
that were enabled and are expected.
2021-09-23 14:12:50 +02:00
Ha Thach 3e569f8e79
Merge pull request #1094 from kasjer/kasjer/da146xx-vbus-handling
dcd_da146xx: Add VBUS handling
2021-09-18 23:12:40 +07:00
hathach 3333703d25 Merge branch 'master' into zhangslice-master 2021-09-18 13:35:26 +07:00
Scott Shawcroft 2499c9382d
rpi start. doesn't work 2021-09-17 16:51:34 -07:00
Jerzy Kasenberg 6d8677a78a dcd_da146xx: Add VBUS handling
DA146xx are Bluetooth devices that may be battery
powered and when not connected to USB host there
is no need for USB peripheral to be running.

This change allows to enable USB peripheral when
VBUS is present otherwise USB is down reducing
power consumption.

tud_vsub_changed() function must be called
whenever VBUS change was detected.
For bus-powered devices this function should be called
at startup since VBUS must be present while device
is working.
2021-09-17 12:10:17 +02:00
hathach b363afc091 minor clean up 2021-09-17 00:46:29 +07:00
hathach c65cc75c6b use correct resume detection for kl25z 2021-09-17 00:44:39 +07:00
hathach 8dfe0898e7 minor update to dcd khci 2021-09-17 00:43:10 +07:00
kkitayam fbe1bf375c Fix stall interrupt handling 2021-09-15 21:39:02 +09:00
hathach 93ed3034c0 merge master and minor clean up 2021-09-15 18:35:52 +07:00
hathach f39656b6d7 Merge branch 'master' of github.com:hathach/tinyusb into kkitayam-impl_close_all_for_khci 2021-09-15 18:29:28 +07:00
Ha Thach 03866ddf9b
Merge pull request #1062 from HiFiPhile/fifo_dcd_transdimension
Improvements for dcd_transdimension
2021-09-15 16:07:06 +07:00
Ha Thach 6d3fb7eb98
Merge pull request #1087 from HiFiPhile/nuc_wkp
NUC126: fix remote_wakeup
2021-09-14 11:40:55 +07:00
hathach cdc63459eb esp32sx implement dcd_remote_wakeup(), fully compliance to chapter9 test suite 2021-09-13 16:49:38 +07:00
hathach e64bfb9ff5 implement dcd_edpt_close_all(), pass chapter9 test suite (without remote wakeup) 2021-09-13 16:16:37 +07:00
hathach 43e6555fd0 clean up 2021-09-13 13:09:38 +07:00
hathach ce5db06ba0 clear PID along with clear stall 2021-09-13 12:05:49 +07:00
hathach 6feda5ae8f Merge branch 'nuc_wkp' of https://github.com/HiFiPhile/tinyusb into HiFiPhile-nuc_wkp 2021-09-13 11:52:16 +07:00
hathach 9bed4e2e21 refactor nxp TDI dcd_edpt_xfer_fifo 2021-09-13 00:45:15 +07:00
hathach 038ec341f8 Merge branch 'fifo_dcd_transdimension' of https://github.com/HiFiPhile/tinyusb 2021-09-12 17:39:32 +07:00
hathach dd60ce784c nxp tdi: implement dcd edpt close all 2021-09-11 21:29:04 +07:00
hathach 1f7ade2b75 nxp tdi: fix error td prevent further transfer 2021-09-11 19:27:37 +07:00
MasterPhi 22571ec98e reset PID to DATA0 on clear_stall. 2021-09-10 16:04:47 +02:00
MasterPhi 8886de0d8a Fix remote_wakeup 2021-09-10 13:05:15 +02:00
MasterPhi 580893b3fe Shorter expr. 2021-09-10 11:17:33 +02:00
kkitayam 2998f67eac Fix dcd_edpt_clear_stall to reset data toggle 2021-09-10 00:18:43 +09:00
Mengsk 283783c082 dcd_edpt_xfer_fifo: use qtd_init if restriction not met. 2021-09-09 16:45:18 +02:00
hathach ad8c0ee818
nxp tdi: enhance qhd using DCD_ATTR_ENDPOINT_MAX 2021-09-09 20:26:03 +07:00
hathach f948cbe471
nxp tdi implement remote wakeup
enhance bus reset, unplugged, suspend, resume detection
2021-09-09 17:04:04 +07:00
hathach 27800f7e4f
remove connected check for DCD_EVENT_UNPLUGGED since previous bus reset can clear this
implement unplugged detection for trans dimension dcd
2021-09-09 16:01:05 +07:00
kkitayam 780852efb3 Fix stall handling 2021-09-09 00:55:02 +09:00
kkitayam 22b5b47045 Implement dcd_edpt_close_all for NXP khci 2021-09-08 21:52:27 +09:00
Ha Thach d66d817c38
Merge pull request #1080 from hathach/rx-msc-compliance
Renesas RX reset PID to DATA0 when open endpoint
2021-09-08 18:31:42 +07:00
Ha Thach 5f141a4c13
Merge pull request #1077 from hathach/st-synopsy-compliance
St synopsy compliance
2021-09-08 18:00:44 +07:00
hathach d077574097 reset PID to DATA0 when open endpoint 2021-09-08 17:56:22 +07:00
hathach 67e80f60e3 fix build with gd32vf103 2021-09-08 13:35:11 +07:00
hathach 4ac136d81d implement remote wakeup for stm synopsys 2021-09-08 00:57:07 +07:00
hathach a54a974fa5 make synopsys usbcv compliance
- implement dcd_edpt_close_all()
- reset dtoggle when open endpoint
- correct dev interrupt mask on bus reset
2021-09-07 23:02:57 +07:00
kkitayam f3da48d46a Implement dcd_edpt_close_all() for Renesas RX family 2021-09-07 23:28:54 +09:00
hathach d6e9fe38be
rp2040 implement dcd_edpt_close_all()
aslo rename reset_ep0_pid() and clean up. We only need to reset pid when
setup packet received
2021-09-01 19:44:12 +07:00
hathach fc889ece74
rp2040 correct ep set/clear stall
- stall will remove pending (not complete) transfer. Correct reset data
toggle when clear stall.
- remove buf ctrl debug code
2021-09-01 16:52:27 +07:00
hathach ab0c3e8dd0
fix rp2040 chapter 9 TD 9.6 test 2021-08-31 17:41:08 +07:00
MasterPhi 16b802d50c add dcd_edpt_close and iso xfer. 2021-08-31 12:02:19 +02:00
MasterPhi 864d8381a7 dcd_transmission xfer_fifo support. 2021-08-31 11:59:51 +02:00
hathach 76345ea3a1
clear stall and reset data toggle when open edpt
required to pass one of msc test.
2021-08-31 16:41:45 +07:00
hathach ad21b69277 fix nrf clear data toggle sequence when clearing stall 2021-08-29 12:05:34 +07:00
hathach 66c292e2ec fix a couple of nrf dcd issue
- limit out xact dma to prevent usbd overflow in certain situation after
stalled
- drained already acked data when stalling an OUT endpoint
2021-08-29 00:34:21 +07:00
hathach 8bad0af849 explicitly clear stall and data toggle for edpoint upon open() 2021-08-27 22:31:08 +07:00
hathach 81c73c235f implement dcd_edpt_close_all() for nrf52840 2021-08-27 22:30:30 +07:00
hathach 71e77e47fa
add dcd_edpt_close_all() for clear existing configured state
correctly responded to TD 9.13 Set Configuration Test
2021-08-26 17:07:03 +07:00
hathach 88bb8fac3d
rename host API to be consistent with naming on device stack
- tuh_device_get_speed() to tuh_speed_get()
- tuh_device_configured() to tuh_mounted()
- tuh_device_ready() to tuh_ready()
2021-08-24 12:37:04 +07:00
Ha Thach 9c3fdb8135
Merge pull request #1043 from hathach/more-host-improvement
More host improvement
2021-08-24 12:28:41 +07:00
Greg Steiert 86201f77be initial commit of support for K32L2B 2021-08-23 16:17:57 -07:00
hathach 8dc16dd3a7 fix rp2040 build 2021-08-24 01:19:06 +07:00
hathach 3309425211 sepearate CFG_TUH_DEVICE_MAX and CFG_TUH_HUB
separate dev0 from _usbh_devices pool to save sram
2021-08-23 19:56:53 +07:00
hathach 75cd593b60 add hcd_devtree_get_info()
remove usbh_hcd.h
2021-08-23 17:00:41 +07:00
hathach a490a3fe61 add hcd attr, add note for ehci framelist on NXP derivative 2021-08-23 15:40:57 +07:00
hathach 4ca176c291 refactor ehci init api 2021-08-23 12:37:54 +07:00
hathach 6a16f6ccdd rename CFG_TUSB_HOST_DEVICE_MAX to CFG_TUH_DEVICE_MAX 2021-08-23 11:01:40 +07:00
MasterPhi 69e539fda4 Fix CI. 2021-08-21 12:11:35 +02:00
MasterPhi e20755442a nuc126: fix set_address & disable sof 2021-08-21 12:04:02 +02:00
kkitayam ff59e98a6a Add compile switch to enable SOF during suspend only 2021-08-19 23:57:34 +09:00
kkitayam 351581537f Removes redundant SOF processing from the Renesas RX family.
The same logic regarding the resume signal was implemented by usbd.

See also: #1023
2021-08-19 22:51:10 +09:00
Ha Thach 3a248951e2
Merge pull request #1024 from HiFiPhile/nuc
Fix nuc126 buffer copy with IAR
2021-08-18 19:14:03 +07:00
Ha Thach 830757d9ce
Merge pull request #1020 from hathach/rp2040-disconnect-suspend
Add Rp2040 suspend & resume support
2021-08-18 16:45:35 +07:00
hathach 3e8276846e correct usb memcpy for nuc120 as well 2021-08-18 16:38:13 +07:00
Mengsk 7aff4b178e use USBD_MemCopy. 2021-08-17 00:53:12 +02:00
hathach 26d347be17 add note for renesas rx remote wakeup 2021-08-16 20:24:07 +07:00
hathach ab2eec77d4 complete suspend, resume, remote wakeup for nrf52 2021-08-16 20:22:14 +07:00
Ha Thach 2bb63406e9
Merge pull request #959 from KarlK90/gd32vf103-support-tiny-usb
[PORT] Add GD32VF103 support and Sipeed Longan Nano Board support
2021-08-15 18:50:00 +07:00
hathach 09e4348adc move gd32vf103 to its own family 2021-08-15 17:19:25 +07:00
hathach 6af1950c8d
synopsys clear DAD on bus_reset 2021-08-14 01:51:13 +07:00
Tobias Ringström 0ec794376b Fix dcd_set_address bug when called more than once with different
addresses (e.g. after plugging the device into a different port).
2021-08-13 14:11:14 +02:00
hathach 17ef9f4843
add ready check for edpt claim 2021-08-12 15:54:04 +07:00
hathach 4ad47d9e26
bus_reset will reset all endpoints
allow for dynamic configuration as well as state-less enumeration
2021-08-12 15:40:26 +07:00
Jerzy Kasenberg cde607338d da1469x: Fix no VBUS startup
For self powered device if device started without VBUS present
it would not be correctly attached to USB bus even if tusb_vbus_changed()
was later called.

This modifies dcd_init() so it starts USB state machine without checking
if VBUS is present or not, like all others drivers do.
tusb_vbus_changed() function is also removed its content was moved to dcd_init.
2021-08-12 09:12:25 +02:00
hathach 4f2999bc04
white space 2021-08-12 00:31:26 +07:00
hathach 88d4cb402d
simplify hw_endpoint_init() 2021-08-12 00:11:04 +07:00
hathach a2baf9427d
more dcd clean up 2021-08-11 20:36:23 +07:00
hathach 979af6c2a8
clean up endpoint set/clear stall 2021-08-11 20:29:39 +07:00
hathach f3a6e564ee
rp2040 enable suspend and resume interrupt 2021-08-11 20:06:57 +07:00
Jerzy Kasenberg 2c7bb540b4 dcd_da1469x: Use mcu.h instead of MCU specific header
dcd_da1469x can work with broader range of MCUs that
share same USB core.
Specific header file that was used DA1469xAB.h now it is changed
to mcu/mcu.h which includes actual MCU specific register file.
2021-08-10 20:26:51 +02:00
Robert Manzke ea72d64992 STM32L151 portable driver adaptations 2021-08-08 08:30:52 +02:00
Stefan Kerkmann 4cebde65ec Remove unnecessary define guard
The GD32VF103 family only has USB-OTG peripherals.
2021-08-07 12:00:13 +02:00
Stefan Kerkmann c6d495d643 Remove dependencies to external libraries for the dcd driver
The core of tinyusb must be as independent as possible, we previously
relied on nuclei-sdk or the GD32VF103 firmware library for the synopsys
driver to work with the GD32VF103. Fortunatly we needed very few parts
from them so we implement them here.
2021-08-07 08:55:25 +02:00
Ha Thach 88f5c04fe0
Merge pull request #985 from HiFiPhile/same70
SAMx7x improvements
2021-08-06 11:32:57 +07:00
MasterPhi a698dda67e Minor fix. 2021-08-05 09:56:24 +02:00
Stefan Kerkmann 3eb54d878a Add stm32 license header 2021-08-03 20:21:06 +02:00
Stefan Kerkmann 2657560b63 Add hacky GD32VF103 support 2021-08-03 20:00:35 +02:00
kkitayam 45e55a8ea0 fix: D0FIFOSEL setting was incorrectly when big-endian is selected.
In pipe_xfer_in(), the endianness setting of D0FIFOSEL was lacking due to refactoring.
And add type cast operation to avoid warnings by CCRX.
2021-07-31 12:20:19 +09:00
MasterPhi 383290a634 Move register define to separate header. 2021-07-30 21:15:58 +02:00
MasterPhi c4cd36980d Add cache clean/invalidate. 2021-07-30 12:07:23 +02:00
kkitayam e7c9cf4aea Change the accessing method of TU_FIFO from read/write_n_const_addr_full_words to get_write/read_info and advance_write/read_pointer pairs. 2021-07-29 20:24:11 +09:00
kkitayam 3f49380b37 added support for dcd_edpt_xfer_fifo 2021-07-29 20:22:33 +09:00
kkitayam 1c2e353193 Refactor and clean up 2021-07-29 20:22:33 +09:00
hathach 15112fdbba clean up compiler 2021-07-22 22:10:48 +07:00
hathach 8cd23489d5 update endian 2021-07-22 17:49:39 +07:00
hathach c4da1abb1e rename bit filed order
clean up packed/bit order begin end
2021-07-22 17:30:08 +07:00
hathach 4e50ceba48 rename packed begin/end 2021-07-22 17:07:39 +07:00
hathach fa0936bf58 Merge branch 'CCRX_Port' of https://github.com/Wini-Buh/tinyusb into Wini-Buh-CCRX_Port 2021-07-22 16:48:18 +07:00