Commit Graph

55 Commits

Author SHA1 Message Date
Gregory Nutt
ee0c035a6d USB device: Rename usbdev_description_s to usbdev_devinfo_s to avoid any more confusion of naming with device descriptions in the future. Instances of usbdev_devinfo_s are now called devinfo vs devdesc when is a bad naming collision. 2017-07-20 09:34:48 -06:00
Gregory Nutt
951017da55 CDC/ACM: Part of previous change was incorret. 2017-07-19 09:11:13 -06:00
Gregory Nutt
646b28223a CDC/ACM. Fix several known problems resulting from merge of USB composite device. That merge now breaks some of the non-composite USB devices. These fixes are for CDC/ACM. 2017-07-19 07:05:23 -06:00
Frank Benkert
eacb4f0e84 Squashed commit of the following:
commit 69fcf3e849
Author: Alan Carvalho de Assis <acassis@gmail.com>
Date:   Sun Jul 16 08:39:33 2017 -0600

    Fix spark/stm32_composite.c: board_composite_connect cannot be static

commit 28eb253401
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sun Jul 16 08:36:01 2017 -0600

    Composite:  Final review for coding style before merge

commit e6af1b9994
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sun Jul 16 07:41:38 2017 -0600

    Composite:  Simplify some intiialization of data structures.

commit 771c367411
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sun Jul 16 07:15:08 2017 -0600

    Cosmetic changes to alignment.

commit 5d67ddda4e
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sun Jul 16 07:00:48 2017 -0600

    USBMSC: Add missing logic to saved device description.

commit 0729151d29
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 15 17:11:41 2017 -0600

    Trivial, costmetic

commit 74b916ff84
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 15 14:50:29 2017 -0600

    Composite:  Private functions need to be marked static.  Move static functions out of 'Public Functions' to 'Private Functions' where they belong.  Disable composite configuration 1 in all STM32 F1 configurations.

commit cfaa4ece13
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 15 13:20:34 2017 -0600

    Add some comments.

commit 8143563be6
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 15 12:33:10 2017 -0600

    Spark: Need to condition out MSC logic in composite setup if there is no MSC in the composite.

commit 69d3a91ef1
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 15 11:03:33 2017 -0600

    Composite:  Remove all dependencies on CONFIG_SYSTEM_COMPOSITE_* configuration settings.  Nothing in the OS can depend on external application settings.

commit 55a4388bbd
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 15 09:59:31 2017 -0600

    All composite configurations now also support a dual CDC/ACM configuration.

commit 428f2147af
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 15 09:24:32 2017 -0600

    Composite:  Move board_msc* interfaces from apps/system/composite to the board specific OS logic where they belong.

commit f1cc168a5c
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 15 08:56:33 2017 -0600

    Refresh all composite configurations.

commit 246afcaa10
Merge: 919877191d 02c6672868
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 15 08:22:26 2017 -0600

    Merge remote-tracking branch 'origin/master' into composite

commit 919877191d
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 15 08:20:02 2017 -0600

    Composite setup:  Remove useless board_cdc* wrapper.

commit 82129cf8c6
Merge: f2cb8b252a 6537e4ea20
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Jul 14 16:23:57 2017 -0600

    Merge remote-tracking branch 'origin/master' into composite

commit f2cb8b252a
Author: Alan Carvalho de Assis <acassis@gmail.com>
Date:   Fri Jul 14 10:19:35 2017 -0600

    Composite:  Fix for another cloned typo.

commit 676cfd526a
Author: Alan Carvalho de Assis <acassis@gmail.com>
Date:   Fri Jul 14 09:11:37 2017 -0600

    Composite: Fix some typos

commit 1ea0368c18
Author: Alan Carvalho de Assis <acassis@gmail.com>
Date:   Fri Jul 14 09:10:18 2017 -0600

    Composite: ./stm3210e-eval/src/stm32_composite.c

commit e485caced9
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Jul 14 09:08:17 2017 -0600

    Composite:  I don't think the original code should have forced minor=0.

commit 6443c29621
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Jul 14 07:15:38 2017 -0600

    Composite:  Flesh out support for all of other configurations that support composite.

commit 23cbc28b05
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Jul 14 06:59:45 2017 -0600

    Detangle use of board_xyzclassobject() and board_xyzuninitialize()

commit 1674cb8c8e
Merge: 6bc881a192 5033a6def7
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Thu Jul 13 13:57:40 2017 -0600

    Merge remote-tracking branch 'origin/master' into composite

commit 6bc881a192
Merge: fe3af4941d 85b8d16d8c
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Tue Jul 11 12:24:07 2017 -0600

    Merge remote-tracking branch 'origin/master' into composite

commit fe3af4941d
Merge: 0f9ad16e18 1bc0eea143
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Mon Jul 10 11:07:36 2017 -0600

    Merge remote-tracking branch 'origin/master' into composite

commit 0f9ad16e18
Merge: a4cd90d4ef aa2e9c15a5
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Jul 7 20:26:53 2017 -0600

    Merge remote-tracking branch 'origin/master' into composite

commit a4cd90d4ef
Merge: 8a4be7175e 31f832d8c5
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Wed Jul 5 11:12:52 2017 -0600

    Merge remote-tracking branch 'origin/master' into composite

commit 8a4be7175e
Merge: 18a32ed2ca ae1771454a
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Jun 30 16:14:04 2017 -0600

    Merge remote-tracking branch 'origin/master' into composite

commit 18a32ed2ca
Merge: aaa81ce497 6d8df90b79
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Thu Jun 29 10:18:16 2017 -0600

    Merge remote-tracking branch 'origin/master' into composite

commit aaa81ce497
Merge: 4eb548226b 8cb4636bb1
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Mon Jun 26 11:56:11 2017 -0600

    Merge remote-tracking branch 'origin/master' into composite

commit 4eb548226b
Merge: 2327f5a1b4 dc8eec0b61
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Mon Jun 19 17:27:00 2017 -0600

    Merge remote-tracking branch 'origin/master' into composite

commit 2327f5a1b4
Merge: 49cd279fc6 99bf0b522b
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Jun 16 17:30:03 2017 -0600

    Merge remote-tracking branch 'origin/master' into composite

commit 49cd279fc6
Merge: bb6a13f30a 46f86982ee
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Wed Jun 14 09:17:49 2017 -0600

    Merge remote-tracking branch 'origin/master' into composite

commit bb6a13f30a
Merge: 918480047a ac93d4bda9
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Mon Jun 5 17:40:06 2017 -0600

    Merge remote-tracking branch 'origin/master' into composite

commit 918480047a
Merge: e4d262436c 4526cd665e
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jun 3 08:52:31 2017 -0600

    Merge remote-tracking branch 'origin/master' into composite

commit e4d262436c
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Jun 2 07:19:27 2017 -0600

    SAMV71-Xult Composite:  Now can switch between two different composite configurations dynamically.

commit 815257743d
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Jun 2 07:11:57 2017 -0600

    usbdev composite and SAMV7-Xult: Move board-specific USB composite configuration out of boardctl.c and into board-specific logic where it belongs.  Add a configuration option to the boardctl() calls to support multiple composite device configurations dynamically.

commit ac13619dc5
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Thu Jun 1 17:03:58 2017 -0600

    Cosmetic

commit 9dd41bdd2f
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Thu Jun 1 17:02:43 2017 -0600

    Composite: More compile-related fixes

commit fc1438c95d
Merge: 049ccbfcbe ff2b54a5e0
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Thu Jun 1 16:35:41 2017 -0600

    Merge remote-tracking branch 'origin/master' into composite

commit 049ccbfcbe
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Thu Jun 1 16:35:16 2017 -0600

    Composite: Add some structure definitions missed in first application of the patch.

commit ef33329e3a
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Thu Jun 1 16:14:46 2017 -0600

    Add a warning

commit 89f77cd91a
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Thu Jun 1 16:11:27 2017 -0600

    Fix some incomplete name changes

commit 0bb7af549a
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Thu Jun 1 15:09:50 2017 -0600

    It is unnecessary to pack a structure that consists only of uint8_t data fields.

commit bd9b548914
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Thu Jun 1 15:05:41 2017 -0600

    Remove COMPILE_TIME_ASSERTION

commit 7e6f481581
Author: Frank Benkert <Frank.Benkert@avat.de>
Date:   Thu Jun 1 14:58:04 2017 -0600

    Part II of the same big commit

commit dcc9b07715
Author: Frank Benkert <Frank.Benkert@avat.de>
Date:   Thu Jun 1 14:08:22 2017 -0600

    [[This is part 1 or several commits]]

    We developed a huge Changeset over a year ago to make USB Composite configuration dynamical and be able to instanciate the CDCACM multiple times inside this device.  We use this feature to switch between one in normal and up to three CDCACMs in maintenance boot.

    The control path starts in “boardctl.c” where the configuration for the device is constructed.  There are still a few issues which I’ll ask you to have a look at before this beast can be merged.

    1. To be able to construct the data dynamically I have changed some USB-Structs to be packed. Maybe there are additional structs to change (just for completeness – not for current functionality).

    2. I’ve added the Macro “COMPILE_TIME_ASSERTION” two times (in usbmsc_desc.c and in cdcacm_desc.c) to stay private. Maybe you’ll find a better place. It’s used to check the size of the structs against the assumptions.

    3. I’ve changed the interface for some USB-Functions to receive also the dynamic configuration. Maybe this can be done more elegant.

    4. The original NuttX (without the patch) seems to have problems with a Composite device holding a CDCACM and an MSC. The “USB SET CONFIGURATION” request does not to work at all. This makes the test fail under Windows and under Linux. Applying this patch doesn’t change anything – because it only changes the configuration – not the behavior. Maybe you’ll have a look at this problem before applying the patch.
2017-07-16 08:43:17 -06:00
David Sidrane
548108764a BugFix:uart_ops_s portion of cdcacm will not be initalized with correct functions if CONFIG_SERIAL_DMA is lit.
This fixes the issses in a C99 compatible way
2016-12-17 04:29:41 -10:00
Gregory Nutt
e0b4a10dfa drivers/serial/pty.c, serial.c, usbdev/cdcacm.c, include/nuttx/fs/ioctl.h: Fix FIONWRITE and add FIONSPACE. All implementations of FIONWRITE were wrong. FIONWRITE should return the number of bytes waiting in the outgoing send queue, not the free space. Rather, FIONSPACE should return the free space in the send queue. 2016-07-25 14:06:32 -06:00
ziggurat29
2cadf783fd cdcacm_unbind leaks write request objects. This arises due to freeing the
bulk IN endpoint before the loop that frees the requests via cdcasm_freereq.
That function checks the parameters and skips the freeing if either is NULL.
Freeing the bulk IN enpoint will cause the first param to be NULL, thereby
bypassing the free operation.  To fix, I moved the release of the bulk IN
endpoint until after to loop (much as was the case for the OUT and read
requests, which did not exhibit the problem).
2016-07-07 12:02:23 -05:00
Gregory Nutt
1cdc746726 Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe Replace all occurrences of vdbg with vinfo 2016-06-11 11:59:51 -06:00
David Sidrane
d2a017d9bb rdreqs was defined as CONFIG_CDCACM_NWRREQS size 2016-03-17 21:47:40 +00:00
Gregory Nutt
0fb035f76b Standardize some naming in code section comments 2016-02-21 18:09:04 -06:00
Gregory Nutt
2244ed46bc nuttx/drivers: Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section() 2016-02-14 07:32:58 -06:00
Gregory Nutt
cf14f8d1b5 drivers/: Fixes to spacing and alignement 2015-10-10 10:41:00 -06:00
Gregory Nutt
0b12dbf95d Fix some spacing problems 2015-10-04 15:04:00 -06:00
Paul A. Patience
3b89eabd50 Correct #if to #ifdef when the macro can be undefined. Fix bug in AT24XX driver: it should compare AT24XX_ADDRSIZE to 2. 2015-09-01 13:52:29 -04:00
Gregory Nutt
82f51d01fb Update some comments 2015-05-18 08:53:24 -06:00
Gregory Nutt
46e5d0a419 Add options to support all three host CDC/ACM protocols: Compliant, Reduced, and Bulk-Only 2015-05-10 08:16:58 -06:00
Gregory Nutt
c35bb693a9 USB host CDC/ACM fixes. Still kind of buggy 2015-05-08 10:58:41 -06:00
Gregory Nutt
737fd7dcec drivers/usbhost: Add initial implementatino of a host-side CDC/ACM driver. Completely untested on initial commit (2015-05-06). 2015-05-06 12:49:00 -06:00
Gregory Nutt
81ab453f6a Fix a mistatement in a comment 2015-05-04 13:44:49 -06:00
Gregory Nutt
726dadffb4 Add CONFIG_CDCACM_IFLOWCONTROL. Just hooks for now 2015-04-16 12:24:56 -06:00
Gregory Nutt
7bf9be7c33 Add hooks to CDC/ACM driver to support RX flow control 2015-04-16 09:11:51 -06:00
Gregory Nutt
a4a6917267 Fixes some issues found by the PX4 team using Coverity. From Pavel Krienko 2015-01-19 13:01:20 -06:00
Gregory Nutt
1780810d3d Rename kmalloc to kmm_malloc for consistency 2014-08-31 17:26:36 -06:00
Gregory Nutt
54fa3b0b59 Rename kfree to kmm_free for consistency with other naming conventions 2014-08-31 17:04:02 -06:00
Gregory Nutt
2e08560fa0 Clear rxhead on disconnect to prevent data from being resent on re-connect 2014-06-06 10:34:58 -06:00
Gregory Nutt
7594d8b8cf Add serial method so that lower half driver can provide RX flow control information. From Jussi Kivilinna 2014-05-08 09:00:33 -06:00
Gregory Nutt
4d25119e62 Fix various typos in comments. From Alan Carvalho de Assis 2014-04-06 09:02:02 -06:00
Gregory Nutt
6c5535cc38 SAMA5 clocking: USB clock setup needs to be done no matter the state of BMS and not matter how we are booting 2014-04-05 11:53:20 -06:00
Gregory Nutt
abca33bd6b Cosmetic update to comments 2014-04-05 11:35:05 -06:00
Gregory Nutt
f67ee984f3 Correct unitialization of composite USB device. A stale pointer was being reused. From David Sidrane 2013-11-05 09:12:08 -06:00
Gregory Nutt
fb37248343 CDC/ACM and PL2303 device drivers: Don't use the max packet size assigned to an endpoint in order to determine the request buffer size. The endpoint has not yet been configured that max packet size may be wrong. 2013-09-05 18:00:16 -06:00
Gregory Nutt
c162cca9e8 SAMA5 UDPHS: Some very early debug corrections. Not yet working. 2013-09-02 12:26:15 -06:00
Gregory Nutt
0f20d4581b Added FIONREAD and FIONWRITE to CDC/ACM driver. From Lorenz Meier 2013-08-10 19:21:39 -06:00
Gregory Nutt
82b528e0c8 Serial FIONREAD, FIONWRITE, and TERMIOS I/O processing from Mike Smith, Andrew Tridgell, and and Lorenz Meier 2013-08-10 19:14:05 -06:00
Gregory Nutt
47bbf54f11 Optimize request buffer sizes in the serial USB drivers so that we avoid so many NULL packets and so that the OUT request buffer size is exactly the max packet size. 2013-05-29 12:30:37 -06:00
Gregory Nutt
6d3a292f02 Fix null packet handling in the PIC32 USB device driver. This is a critical bug fix for PIC32. Add support for the USB monitor to the Sure-PIC32MX configuration 2013-05-28 13:36:01 -06:00
patacongo
bca9260b06 Missing calls to class SUSPEND/RESUME methods in all USB drivers
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5590 42af7a65-404d-4744-a932-0658087f49c3
2013-01-31 19:20:26 +00:00
patacongo
cdbbfaa464 Fix readline return value; Add support for removable serial devices
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5589 42af7a65-404d-4744-a932-0658087f49c3
2013-01-31 16:52:20 +00:00
patacongo
14a629bcf9 Fix packet size calculation in CDC/ACM and PL2303 USB serial drivers
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4771 42af7a65-404d-4744-a932-0658087f49c3
2012-05-25 22:10:40 +00:00
patacongo
d96b4c1a10 Fix infinite loop in CDC/ACM driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4655 42af7a65-404d-4744-a932-0658087f49c3
2012-04-25 16:47:28 +00:00
patacongo
a571bad413 Extend the USB device/class interface: Add parameters to pass the EP0 OUT data that should accompany the OUT SETUP request
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4595 42af7a65-404d-4744-a932-0658087f49c3
2012-04-12 16:30:48 +00:00
patacongo
333bd7254a Working for missing logic to get EP0 OUT DATA
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4594 42af7a65-404d-4744-a932-0658087f49c3
2012-04-12 14:47:29 +00:00
patacongo
5be2c492fc Modify configuration for use with STM32 OTG FS driver testing
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4580 42af7a65-404d-4744-a932-0658087f49c3
2012-04-09 21:08:37 +00:00
patacongo
34b7ebdf68 Move serial header files to include/nuttx/serial
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4500 42af7a65-404d-4744-a932-0658087f49c3
2012-03-21 19:47:23 +00:00
patacongo
ca3ba34235 Add support for use of a USB serial device to provide NSH console I/O. Verified on the Sure PIPIC32MX board
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4458 42af7a65-404d-4744-a932-0658087f49c3
2012-03-06 20:21:57 +00:00
patacongo
391d33732c Extend CDC/ACM driver so that can be connected/disconnected under software control; Add new NSH commands sercon and serdis that will connect and disconnect the CDC/ACM serial device
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4436 42af7a65-404d-4744-a932-0658087f49c3
2012-02-28 18:14:55 +00:00
patacongo
a79c599632 The composite USB device is basically functional (more testing needed)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4343 42af7a65-404d-4744-a932-0658087f49c3
2012-01-27 18:33:41 +00:00
patacongo
23a8f1d218 Add a text for the new composite USB device
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4341 42af7a65-404d-4744-a932-0658087f49c3
2012-01-26 23:14:27 +00:00
patacongo
22a1b8dfe5 More USB composite device logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4340 42af7a65-404d-4744-a932-0658087f49c3
2012-01-26 19:37:34 +00:00