Commit Graph

764 Commits

Author SHA1 Message Date
Nathan Conrad 4ea2a4ed60 Github's web interface changed line endings without asking me. Oops. 2019-09-29 10:45:13 -04:00
Nathan Conrad 0078be9c24
Merge branch 'master' into ZLP_Request2 2019-09-29 09:52:53 -04:00
Nathan Conrad 4ccdc5522d Fix typo of CFG_TUD_ENDOINT0_SIZE. 2019-09-27 12:41:46 -04:00
Nathan Conrad 91fa24d99c Merge branch 'master' into ZLP_Request2 2019-09-27 00:37:21 -04:00
hathach 6183dbd0ce add -Wextra for more warnings to example
non-stack warning (probably mcu driver) should be suppressed in the
board.mk
2019-09-27 00:15:43 +07:00
Nathan Conrad f19082f02d Reset TX and RX endpoints to NAK when receiving setup packet. 2019-09-25 20:55:15 -04:00
Nathan Conrad 048e0448c0 ST FSDEV:Remove setting the EP kind, as I think it was causing issues during enumeration (sometimes). Also move a membar. 2019-09-25 20:54:59 -04:00
Nathan Conrad 6841b236e8 Remove _app from callback function names. 2019-09-25 12:47:05 -04:00
Nathan Conrad 3a87dd65d7 Change getting the capabilities structure to a callback instead of an extern struct. 2019-09-25 12:46:35 -04:00
Nathan Conrad 2d4352bfe9 Rename USBTMC functions. 2019-09-25 12:46:25 -04:00
Nathan Conrad 412a279073 I never understood why I need to write void as empty function arguments. 2019-09-24 13:54:45 -04:00
Nathan Conrad 624f4bf4ce Remove rhport from app code. If anything, it should be the interface_id. Assume a single interface, for now. 2019-09-24 13:42:29 -04:00
Nathan Conrad 10105557dc Let application control interface latency... 2019-09-24 13:11:45 -04:00
Nathan Conrad e61f2b7393 Retool stalling EP on xfer errors. 2019-09-22 09:55:28 -04:00
Nathan Conrad 757c2cdc5b Merge remote-tracking branch 'origin/master' into usbtmc 2019-09-22 09:30:45 -04:00
hathach 7ba8e81852
Merge pull request #177 from cr1901/fifo-fix
dcd_synopsys: Fix off-by-one error in FIFO allocation.
2019-09-22 11:38:54 +07:00
William D. Jones 108f756e22 dcd_synopsys: Fix off-by-one error in FIFO allocation. 2019-09-21 23:01:06 -04:00
Nathan Conrad fa5b5e4561 Lots of updates (especially error handling) 2019-09-21 21:46:46 -04:00
Nathan Conrad 2aa10daf26 Merge branch 'clear_feature_ordering' into usbtmc 2019-09-21 21:39:25 -04:00
Nathan Conrad ec3414ca3a Merge branch 'master' into usbtmc 2019-09-21 21:38:05 -04:00
Nathan Conrad 9498adef71 Changing the bitwise to a logical OR created a huge hard to find bug. It shortcutted the call to the class function,
so, lets use shortcutting anyway?
2019-09-21 19:29:57 -04:00
Nathan Conrad fbb8520acd logical or. 2019-09-21 14:34:29 -04:00
Nathan Conrad 37b52e354f Correct wording of comment on handling EP requests. 2019-09-21 12:17:17 -04:00
Nathan Conrad a187f0268c When unstalling, EP must be marked as not busy. Also, mark EP as busy when stalling as xfer requests should fail. 2019-09-21 12:05:57 -04:00
Nathan Conrad be28a05409 Make type casting explicit 2019-09-21 12:05:46 -04:00
Nathan Conrad 55abb3d717 Calling EP open with bad parameters should be considered a bug. 2019-09-21 12:02:52 -04:00
Nathan Conrad aebecf169a Reorder handling of EP control requests, 2019-09-21 12:02:06 -04:00
Nathan Conrad b6590490a8 USB Control: Pointer arithmetic on void* is forbiden 2019-09-21 12:00:52 -04:00
Nathan Conrad ce9f133d25 FSDEV: go to NAK when unstalling; on reset, set EP0 to NAK, prioritize reset interrupt, fix small typos. 2019-09-21 12:00:04 -04:00
hathach f90f1a278b
Merge pull request #169 from pigrew/hid_desc
Implement HID desc request.
2019-09-21 00:06:51 +07:00
Nathan Conrad 8a688cd8d0 Revert "Revert "Also need to just return false in the case that it isn't an interface control event. We shouldn't assert. This normally isn't an""
This reverts commit 2281a51484.
2019-09-20 12:58:26 -04:00
Nathan Conrad 2281a51484 Revert "Also need to just return false in the case that it isn't an interface control event. We shouldn't assert. This normally isn't an"
This reverts commit f241ff389f.
2019-09-20 12:27:41 -04:00
Nathan Conrad f241ff389f Also need to just return false in the case that it isn't an interface control event. We shouldn't assert. This normally isn't an
error, either, so I don't want to use TU_VERIFY.
2019-09-20 08:56:46 -04:00
Nathan Conrad a8a65d6cea Use cached HID descriptor. 2019-09-20 08:46:17 -04:00
Nathan Conrad 345806a533 Merge remote-tracking branch 'origin/master' into usbtmc 2019-09-20 08:42:20 -04:00
hathach 94c9cf0eff doc update 2019-09-20 16:14:35 +07:00
hathach 7b2f8cc73a added stm32 L0 support
close #125
2019-09-20 13:49:33 +07:00
Nathan Conrad 02b468f56a (little typo fix) 2019-09-19 21:20:04 -04:00
Nathan Conrad 05164c5a27 Cache pointer to HID descriptor. 2019-09-19 21:04:51 -04:00
Nathan Conrad 2a7ca15e2c Rename functions to include tud_ and _cb 2019-09-19 20:43:49 -04:00
Nathan Conrad f3d6d0127b Rename USBTMC_CFG_ENABLE_488, and fix build with it off. 2019-09-19 19:59:44 -04:00
Nathan Conrad d742c3e15c s/USBTMC488/USB488/ ; fix types in bitfield 2019-09-19 19:56:00 -04:00
Nathan Conrad 7e0490bbf3 Move descriptors to usbd.h 2019-09-19 19:51:37 -04:00
Nathan Conrad 346443118f Add testcase for aborting bulk in with no data queued (and fix aborting bulk in) 2019-09-19 19:01:08 -04:00
Nathan Conrad 0548f97d33 Remove debug printf. 2019-09-19 18:59:57 -04:00
Nathan Conrad 525b4cdb72 Use ESOF for wakeup timing. 2019-09-19 09:51:40 -04:00
Nathan Conrad 642afeea8b s/static const/define/ 2019-09-19 09:30:16 -04:00
Nathan Conrad 85623584f9 Remove debug assertions. 2019-09-19 09:24:52 -04:00
Nathan Conrad 5fcc1468eb Merge branch 'master' into fsdev_smallPacket 2019-09-19 09:16:48 -04:00
Nathan Conrad d4b2dff7c4 Fix more TX bugs... and add variable response delay to the example project. 2019-09-19 00:00:27 -04:00
Nathan Conrad 9a726dc7ed More fixes, and a bit of SRQ. 2019-09-18 21:34:26 -04:00
Nathan Conrad 99d03fcaee small fixes 2019-09-18 19:30:44 -04:00
Nathan Conrad eea71a8b3b usbtmc updates.... 2019-09-18 19:24:54 -04:00
Nathan Conrad 6dd2296cfc Change inline functions to macros, and make all parameter names uniform. 2019-09-17 13:29:42 -04:00
hathach 237c32b976 fix #143 2019-09-17 13:29:42 -04:00
Nathan Conrad 5a2e510af7 Interpretation of assert vs verify. 2019-09-17 13:29:41 -04:00
hathach 8e17fb4910 follow up to suggestion to pr 155 2019-09-17 13:29:41 -04:00
Nathan Conrad 1ceeab2702 This demonstrates that I don't pre-build things before committing them... oops. 2019-09-17 13:29:40 -04:00
Nathan Conrad 8d05b70a72 Off-by-one error in Synopsys assertions. (and move some braces to their own lines. 2019-09-17 13:29:40 -04:00
Nathan Conrad 41e8b8752e Massive copy&paste typo of mine in the 32-bit byte swapping function.... 2019-09-17 13:29:40 -04:00
Nathan Conrad a0b6b8187c TI compiler quirks, and le byte swapping functions. 2019-09-17 13:29:40 -04:00
Nathan Conrad 91cd247c97 changes 2 2019-09-17 13:29:39 -04:00
Nathan Conrad 45871001e6 Changes1... 2019-09-17 13:29:38 -04:00
Nathan Conrad e234998c6c More proper handling of clear. 2019-09-17 13:29:38 -04:00
Nathan Conrad c755aee7d0 Clear 2019-09-17 13:29:38 -04:00
Nathan Conrad 915f52730d Implement HID desc request. 2019-09-17 11:28:29 -04:00
Nathan Conrad 89ffe78f84 ST FSDEV: No need to always reset the interrupt priority, also add some synchronization primitives after disabling interrupts. 2019-09-16 22:56:17 -04:00
Nathan Conrad a33a854793 Include board header file... :X 2019-09-16 20:56:57 -04:00
Nathan Conrad d341337c6a Implement remote wakeup + perhaps better sleep? 2019-09-16 20:25:50 -04:00
Nathan Conrad dfe92542e6 Change inline functions to macros, and make all parameter names uniform. 2019-09-16 11:27:05 -04:00
Nathan Conrad 889c17a442 Merge branch 'master' into TI_compiler_quirks 2019-09-16 09:24:27 -04:00
Nathan Conrad 6b9783cead s/unsigned int/uint32_t/ 2019-09-16 09:20:15 -04:00
hathach 0c70948d0d
Merge pull request #163 from hathach/develop
fix #143
2019-09-16 16:37:27 +07:00
hathach a37d2d64be fix #143 2019-09-16 13:32:47 +07:00
hathach 88dd83ae5c
Merge pull request #159 from pigrew/assert_documentation
Documentation: assert vs verify.
2019-09-16 11:29:39 +07:00
hathach 19e7b7d85c
Merge pull request #155 from hathach/develop
fix #154 forward all endpoint recipeint request to class driver
2019-09-16 11:27:52 +07:00
hathach 9c5ae0369b follow up to suggestion to pr 155 2019-09-16 11:13:17 +07:00
Nathan Conrad 05c13342a3 Implement EP with size <64. 2019-09-15 23:51:42 -04:00
Nathan Conrad 18303e742e Covert macros to inline functions. 2019-09-15 23:46:03 -04:00
Nathan Conrad ae873a709e Wrote TX instead of RX. 2019-09-15 23:33:36 -04:00
Nathan Conrad 9593463367 Massive copy&paste typo of mine in the 32-bit byte swapping function.... 2019-09-15 15:20:01 -04:00
Nathan Conrad e53e9bd4f0 Simulate query delay; getting to a point where implementing clear/aborts makes
sense. Probably adding too many concurance issues; need to figure out
semaphores.
2019-09-14 21:26:43 -04:00
Nathan Conrad 64bfec79b2 Change requset type parameter back to uint8_t (fix type cast), support USB indicator pulse 2019-09-14 18:11:07 -04:00
Nathan Conrad 6e00886ffb Handle USBTMC TermChar. 2019-09-14 17:15:34 -04:00
Nathan Conrad e74c6b0874 Combined status response enum (std with 488), support trigger. 2019-09-14 16:51:02 -04:00
Nathan Conrad 1cae96951f Add usbtmc class driver. 2019-09-14 13:35:08 -04:00
Nathan Conrad 21ba37aec6 Interpretation of assert vs verify. 2019-09-14 11:25:40 -04:00
Nathan Conrad 4ea212a432 This demonstrates that I don't pre-build things before committing them... oops. 2019-09-13 23:52:43 -04:00
Nathan Conrad c831311a12 Off-by-one error in Synopsys assertions. (and move some braces to their own lines. 2019-09-13 23:38:58 -04:00
Nathan Conrad bb7f581b6d TI compiler quirks, and le byte swapping functions. 2019-09-13 20:28:26 -04:00
hathach ac8c343fef fix #154 forward all endpoint recipeint request to class driver
fix typo
remove magic number 0xff of driver id
2019-09-13 22:16:24 +07:00
hathach 064adebbd0 fix #152, potential memory issue 2019-09-13 14:03:59 +07:00
hathach c3598f0301 fix #139, correct usbd request intepreting, Non-STD request to Interface must be forward to class driver 2019-09-13 13:03:11 +07:00
hathach 986beda9eb adding stm32l4 support, board test run with stm32l476disco, usb doens't work yet 2019-09-13 11:22:44 +07:00
Nathan Conrad 8cca287683 Add verification that there is enough buffer space for HID OUT control transfer. 2019-09-12 16:07:12 -04:00
Nathan Conrad 340dcb81bf For control transfers, compare the transmitted length against the requested length to know if a ZLP needs to happen. (fixes #139) 2019-09-12 16:06:45 -04:00
hathach ff7261600c ported stm32f2, added board stm32f207zg nucleo
close #127
2019-09-12 10:41:03 +07:00
Nathan Conrad d3507b0787 Merge remote-tracking branch 'origin/master' into stfsdev_cleanups 2019-09-11 20:36:48 -04:00
Nathan Conrad 3326b9d008 Use types with explicit bit widths. 2019-09-11 20:33:47 -04:00
hathach 7f166d860d stm32f7 work with dcd synopsis
close #124
2019-09-11 22:48:07 +07:00
Nathan Conrad 7b93177890 Use TU_VERIFY_STATIC, use more uint instead of uint8_t/uint16_t. Create reg16_clear_bits function to reduce typec conversion warnings. 2019-09-11 09:45:48 -04:00
Nathan Conrad 784dc52b62 Update header comments. 2019-09-11 09:44:25 -04:00
Nathan Conrad 4cf2b30759 Fix bug where the EPREGs were not being initialized as expected. 2019-09-11 09:43:57 -04:00
hathach a3f1c269e9 added stm32f767nucleo board, board_test works 2019-09-11 18:02:27 +07:00
hathach bf76a1e49e
Merge pull request #136 from hathach/develop
fix #132
2019-09-11 11:16:47 +07:00
hathach 6c6a597465 fix #132 2019-09-11 10:47:07 +07:00
hathach 678ba586df
Merge pull request #122 from cr1901/synopsys
Synopsys Refactor
2019-09-11 10:37:49 +07:00
Nathan Conrad 4f6bedeac9 Rename the STM32 MCU options. 2019-09-10 12:57:43 -04:00
Nathan Conrad 23d39f2b15 Remove OPT_MCU_STM for L and G series. 2019-09-10 12:13:36 -04:00
Nathan Conrad 65e72de7ce Move interrupt handler into device driver, and rename the OPT_MCU_STM32 constants. 2019-09-10 09:35:52 -04:00
Nathan Conrad 49c58be4ce Fix silly typo in the F3xx support. 2019-09-10 01:31:14 -04:00
Nathan Conrad bc2a65b20b A few bug fixes, remove the unstested device notices, note supported boards in READMEs, and implement PMA
access stride (used on MCU's with 512 byte USB buffers).
2019-09-10 01:03:24 -04:00
Nathan Conrad f7b0aeec52 Start clock on F0 and F0, and handle USB interrupts. 2019-09-09 19:20:26 -04:00
Nathan Conrad d1976a30b3 Update F3 BSP and create F070RB BSP. Both are untested (but compile). 2019-09-09 16:14:38 -04:00
Nathan Conrad 5ec59c2a30 Add STM32 FSDEV driver. 2019-09-09 14:55:39 -04:00
Nathan Conrad 75a3f791e3 Remove some type conversion warnings (using GCC pedantic warnings) 2019-09-09 13:35:41 -04:00
Nathan Conrad 4517d504b8 Fix typo of ENDOINT 2019-09-09 13:34:30 -04:00
Nathan Conrad b4c8a09f20 Remove STM32 F3 port. 2019-09-09 13:29:26 -04:00
Nathan Conrad 96bead4b2a Add dummy arguments to GET_NTH_ARG to make GCC happy (removes pedantic warnings) 2019-09-09 13:24:08 -04:00
William D. Jones 1385d7c494 stm32: Refactor so F4 and H7 use a single Synopsys IP source file. 2019-09-09 10:48:14 -04:00
William D. Jones 82cd4b5350 dcd_stm32f4: Merge relevant changes from dcd_stm32h7. 2019-09-09 10:27:46 -04:00
William D. Jones 3efc81b285 dcd_stm32h7: Merge relevant changes from dcd_stm32f4. USB2 -> USB works as alias. 2019-09-09 10:14:20 -04:00
hathach e123cad7bb enhance dcd stm32f4 to support max 4 or 6 endpoints on 407 or 412 2019-09-08 23:10:51 +07:00
hathach 4663f9084d ported board stm32f412g discovery
- added soft connect for enable pull up register dcd stm32f4
2019-09-08 21:57:02 +07:00
hathach 56f1ccd68a fix #97 2019-09-05 21:59:19 +07:00
hathach 143a138028
Merge pull request #116 from hathach/develop
Board update
2019-09-05 16:18:34 +07:00
hathach a90e2aa2ce 55s69 device work with usb0 2019-09-05 16:12:13 +07:00
hathach 7350e9c25c
Merge pull request #114 from cr1901/stm32h7
STM32H7 Support
2019-09-05 15:29:13 +07:00
William D. Jones 8f8ca77a91 stm32h7: Mark USB FIFOs as volatile, otherwise optimizations will remove
reads/writes to the FIFOs.
2019-09-04 01:06:07 -04:00
William D. Jones 910fd867c7 stm32h7: Fix indentation error where OUT XFER interrupt wasn't handled
in the correct scope.
2019-09-03 01:37:44 -04:00
William D. Jones 1a3dc9cba1 stm32h7: USB_OTG_FS -> USB2_OTG_FS. 2019-09-03 01:28:41 -04:00
William D. Jones f703a74daa stm32h7: Implement STALL logic for endpoints. 2019-09-03 01:28:41 -04:00
William D. Jones 28b131ea94 stm32h7: Implement dcd_edpt_open. cdc_msc_hid demo functional. 2019-09-03 00:37:50 -04:00
William D. Jones d4302dacc5 stm32h7: Fix accidental overwrite of STUPCNT field in DOEPTSIZ register. 2019-09-03 00:25:21 -04:00
William D. Jones 9210167603 stm32h7: Implement dcd_set_address. 2019-09-02 21:00:30 -04:00
William D. Jones 0d0b802ee0 stm32h7: Implement IN and OUT receive for EP0; device descriptor returned. 2019-09-02 19:32:11 -04:00
William D. Jones f602534536 stm32h7: Implement setup packet events. 2019-09-02 13:34:33 -04:00
hathach ee57113981 trying to add LPC55xx support 2019-09-02 15:53:12 +07:00
hathach 80cde5b0b5 fix potential bug with mis-align issue 2019-09-01 17:20:10 +07:00
hathach 074681da8b dma of lpc54114 can also execute up to 64 bytes each transfer
There is still issue with cdc_msc_hid example
2019-09-01 17:05:34 +07:00
hathach aeea6754af rename lpc_usbd to lpc_ip3511 2019-09-01 16:44:40 +07:00
hathach 3067809957 adding lpc54xxx to dcd, able to go through enumeration 2019-09-01 16:15:23 +07:00
hathach 403662a1d6 board_test run with lpc54114 2019-09-01 15:58:42 +07:00
hathach 957201fc58 fix undef __ARM_ARCH_6M__ 2019-09-01 11:59:50 +07:00
hathach 2d041aaa1d clean up 2019-09-01 08:11:22 +07:00
hathach 30f707cad2 rename lpc11_13_15 to simply lpc_usbd since it is almost used by in recent year for nxp mcu 2019-09-01 00:51:58 +07:00
hathach bac75a81fd support LPC51u68 #100 2019-08-31 22:44:08 +07:00
hathach b7dbc98ab1 close #105 add tud_vendor_write_available() 2019-08-31 16:31:07 +07:00
William D. Jones 8b165e1024 stm32h7: Ensure FS (and the only) PHY is selected for OTG_HS2. 2019-08-30 22:07:35 -04:00
William D. Jones 7153561984 stm32h7: Enable USB peripheral (device does not enumerate yet). 2019-08-30 21:57:06 -04:00