Commit Graph

486 Commits

Author SHA1 Message Date
Xiang Xiao
a0ce81d659 sched/wdog: Don't dynamically allocate wdog_s
to save the preserved space(1KB) and also avoid the heap overhead

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I694073f68e1bd63960cedeea1ddec441437be025
2020-08-11 12:28:55 -06:00
Xiang Xiao
f618de9c97 Fix nxstyle warning
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-08-08 17:30:26 -03:00
Xiang Xiao
4c706771c3 sched/wdog: Replace all callback argument from uint32_t to wdparm_t
and alwasy cast the argument of wd_start to wdparm_t

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-08-08 17:30:26 -03:00
Masayuki Ishikawa
3b76666a1e drivers: usbdev: Fix default value for RNDIS_NWRREQS
Summary:
- Change default value for RNDIS_NWRREQS based on NET_TCP_WRITE_BUFFERS

Impact:
- This commit affects RNDIS use cases

Testing:
- spresense:rndis with CONFIG_NET_TCP_WRITE_BUFFERS=y

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-08-08 05:36:07 -05:00
Johanne Schock
8792ade0fe Several USB improvements.
Kinetis: Reworked USB driver for setup out data phase.
Freedom K28: New config nshsdusb, with RNDIS support
PL2303: Try to avoid clone detection.
General: various nxstyle fixes
General: license changed
2020-07-24 13:24:53 -03:00
Xiang Xiao
5eae32577e build: Move INCDIROPT to common place
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-18 15:02:55 -06:00
Gregory Nutt
a569006fd8 sched/: Make more naming consistent
Rename various functions per the quidelines of https://cwiki.apache.org/confluence/display/NUTTX/Naming+of+OS+Internal+Functions

    nxsem_setprotocol -> nxsem_set_protocol
    nxsem_getprotocol -> nxsem_get_protocol
    nxsem_getvalue -> nxsem_get_value
2020-05-17 14:01:00 -03:00
Xiang Xiao
3e00d182d2 Fix nxstyle issue
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-06 20:53:11 -06:00
Xiang Xiao
94bb2e05bb syslog: Code outside libc shouldn't call nx_vsyslog directly
since nx_vsyslog is the implementation detail

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-06 20:53:11 -06:00
Xiang Xiao
6ad91aeb05 Kconfig: change the stack size default to DEFAULT_TASK_STACKSIZE
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-04-18 07:17:38 -06:00
Gregory Nutt
6548b41cab drivers/usbdev/usbmsc.c: Run nxstyle; fix complaints. 2020-04-15 12:30:08 -03:00
Juha Niskanen
c2ecdaecf7 drivers/usbdev/usbmsc.c: Fix build error with DEBUGASSERT 2020-04-15 12:30:08 -03:00
hartmannathan
bfc153ca27
Fix typos in comments and documentation (#750)
* Fix typos in comments and documentation
2020-04-08 06:45:35 -06:00
Gregory Nutt
9ff1795760 Check return from nxsem_wait_initialize()
Resolution of Issue 619 will require multiple steps, this part of the first step in that resolution:  Every call to nxsem_wait_uninterruptible() must handle the return value from nxsem_wait_uninterruptible properly.  This commit is only for rwbuffer.c and those files under drivers/serial, drivers/timers, and drivers/usbdev.

This commit completes that step for all of the files under drivers/.  Still remaining:  All of the files under arch/.
2020-04-01 14:20:04 -03:00
Gregory Nutt
5c0e8e88b1 Revert "Makefile: move INCDIROPT to common place (#625)"
This reverts commit b9ace36fcc.

This change was added by PR 625 but has a serious logic flaw.  It removes all occurrences of INCDIROPT and replaces it with a definition in tools/Config.mk:

    else ifeq ($(WINTOOL),y)
      DEFINE = "$(TOPDIR)/tools/define.sh"
      INCDIR = "$(TOPDIR)/tools/incdir.sh" -w

This logic flaw is the Config.mk is included in all Make.defs files BEFORE WINTOOL is defined.  As a result, the definition is wrong in many places when building under Cygwin with a Windows native toolchain.
2020-03-26 08:50:29 -07:00
Xiang Xiao
b9ace36fcc
Makefile: move INCDIROPT to common place (#625) 2020-03-26 08:09:59 -06:00
Gregory Nutt
431286532c drivers/: Remove support for CONFIG_FS_READABLE 2020-03-22 08:24:07 -05:00
Gregory Nutt
66ab039b89 drivers/: Remove support for CONFIG_FS_WRITABLE 2020-03-22 08:24:07 -05:00
Juha Niskanen
f3490e42c3 Fix typos in comments 2020-03-03 09:11:57 -06:00
Xiang Xiao
cde88cabcc Run codespell -w with the latest dictonary again
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-02-23 22:27:46 +01:00
Xiang Xiao
bd4e8e19d3 Run codespell -w against all files
and fix the wrong correction
2020-02-22 14:45:07 -06:00
Gregory Nutt
21aef0dd68 drivers/*/Kconfig: Consolidate driver Kconfig Files.
This commit does two things:

1. First, it reorganizes the driver Kconfig files so that each is self contained.  Before, a part of the driver configuration was in drivers/Kconfig and the rest was in in drivers/xyz/Konfig.  Now, all of the driver configuration is consolitated in the latter.

2. Second, this commit correct numerous serious errors introduced in a previous reorganization of the driver Kconfig files.  This was first noted by Nicholas Chin in PR270 for the case of the drivers/i2c/Kconfig but some examination indicates that the error was introduced into several other Kconfig files as well.

The nature of the introduced error was basically this:

- Nothing must intervene between the menuconfig selection and the following conditional configuration otpions.
- A previous PR erroneously introduced unconditional options between the menuconfig and the following confditional logic, thus corrupting the driver menus.

This error was easy to make because the driver Kconfig files were not well modularized.  Making them fully self-contained should eliminate this kind of error in the future.
2020-02-15 15:19:11 +01:00
Xiang Xiao
3cb259daa6 drivers/Kconfig: Move if/endif to subfolder Kconfig
Move if/endif to subfolder Kconfig and make ARCH_HAVE_XXX option always selectable by moving out of if/endif
2020-02-08 08:04:05 -06:00
Xiang Xiao
5c80b94820 Replace #include <semaphore.h> to #include <nuttx/semaphore.h>
Since the kernel side should call nxsem_xxx instead and remove the unused inclusion
2020-02-01 08:27:30 -06:00
Xiang Xiao
80277d1630
Refine the preprocessor conditional guard style (#190) 2020-01-31 19:07:39 +01:00
Xiang Xiao
68951e8d72 Remove exra whitespace from files (#189)
* Remove multiple newlines at the end of files
* Remove the whitespace from the end of lines
2020-01-31 09:24:49 -06:00
Alin Jerpelea
275f4baf9f Fix USB issues
Author: Alan Carvalho de Assis <acassis@gmail.com>

    Run nxstyle on .c and .h files and fix it

Author: Alin Jerpelea <alin.jerpelea@sony.com>

    drivers: usbdev: minor fix

    drivers: usbdev: usbmsc full speed not available

      Change transfer size to be based on maxpacket size.

    drivers: usbdev: Fix string ID calculation

      For *_STRBASE defines, it already unnecessary because composite device setup
      has been changed, it would be calculated by *_composite.c in board sources.

    drivers: usbdev: Fix invalid/unsupported command processing

      Mass Storage Class shall stall when invalid or unsupported commands
      has been recieved.

    drivers: usbdev: Remove unnecessary reset logic

    drivers: usbdev: Flags comparison fix

    drivers: usbdev: Descriptor type mismatch fix when dual speed is enabled
2020-01-10 12:09:05 -03:00
Adam Feuer
237c0cca09 CDC ECM Ethernet over USB High Speed for SAMA5D36-Xplained #68
Author: Alan Carvalho de Assis <acassis@gmail.com>

    Run nxstyle against .c .h files and fix it

Author: Adam Feuer <adam@starcat.io>

Summary

    Adds CDC ECM Ethernet over USB High Speed for SAMA5D36-Xplained
      (and maybe other boards) (most of the code was there already,
      but didn't work out of the box for the SAMA5D36-Xplained)
    Only SAMA5D36-Xplained has been tested so far

Impact

    None if you don't use the CDC ECM Ethernet driver
    On SAMA5D36-Xplained, this adds high-speed Internet connectivity
      over USB 2.0 High Speed. via the USB CDC ECM Gadget driver.
    It may work on other boards too.
    This also fixed full-speed (low-speed) mode for the board too.

Limitations

    Hasn't been tested on anything other than SAMA5D36-Xplained board.

TODO

    Ideally this would include a composite RNDIS device so it would
      also work seamlessly on Windows. That is for a future PR
    Ideally this would include software to help configuration via
      mDNS/DNS-SD for plug and play compatibility with Linux and macOS.
      That is for a future PR.

Detail

    Only a few lines of C driver code needed to be changed, since the
      capability was there already. The rest is config and documentation.
    Changes the SAMA5D3-Xplained board bringup to match the SAMA5D3-EK
      board bringup
    A helper script to configure Linux routing and iptables NAT is also
      provided, along with documentation on how to use it.

Testing

    Manual, on a Ubuntu Linux 19.10 system and MacOS 10.14.6 Mojave
      MacBook Pro.

How To Verify

    Follow the new CDC ECM Ethernet over USB instructions in the board
      README.txt file

Commits:

    remove non-UTF-8 chars in comment and reformat

    removed unneeded comment markers

    instructions for using the defconfigs

    removed EMAC from config

    - to prove this example only needs the CDC ECM Ethernet over USB to work

    added CDC-ECM Ethernet over USB info to README

    added U-Boot image

    added netusb helper script

    - this can configure the Linux network interface and routes
      so you can ping or access the NuttX system via TCP/IP.

    renamed defconfig dirs to be ethernet-over-usb

    - was usb-over-ethernet which is not right

    added USB DMA to defconfigs

    updated readme with autoboot and debugging info

    bringing ethernet-over-usb examples into parity

    added cdc ecm ethernet over usb with telnetd config

    added defconfig

    only use phy interrupt if netdevices is ethernet

    - because now netdevice could be CDC ECM ethernet over usb
      which has no PHY interrupt

    add bringup to Makefile

    add bringup

    app init cleanup

    init cdc ecm driver and rndis driver; some cleanup

    fixed some typos and odd characters

    usb over ethernet working over usb 2.0 hs
2020-01-10 07:13:37 -03:00
Xiang Xiao
6a3c2aded6 Fix wait loop and void cast (#24)
* Simplify EINTR/ECANCEL error handling

1. Add semaphore uninterruptible wait function
2 .Replace semaphore wait loop with a single uninterruptible wait
3. Replace all sem_xxx to nxsem_xxx

* Unify the void cast usage

1. Remove void cast for function because many place ignore the returned value witout cast
2. Replace void cast for variable with UNUSED macro
2020-01-02 10:54:43 -06:00
Xiang Xiao
87cf5c58ae Correct some problems with network timed events when there are multiple network devices in the configuration.
Squashed commit of the following:

Author: Gregory Nutt <gnutt@nuttx.org>

    Ran nxstyle against many of the affected files.  But this job was too big for today.  Many of the network drivers under arch are highly non-compiant and generate many, many faults from nxstyle.  Those will have to be visited again another day.

Author: Xiang Xiao <xiaoxiang@xiaomi.com>

    This effects all network drivers as well as timing related portions of net/: devif_poll_tcp_timer shouldn't be skipped in the multiple card case.  devif_timer will be called multiple time in one period if the multiple card exist, the elapsed time calculated for the first callback is right, but the flowing callback in the same period is wrong(very short) because the global variable g_polltimer is used in the calculation.  So let's pass the delay time to devif_timer and remove g_polltimer.
2019-12-24 10:37:30 -06:00
Gregory Nutt
244437257b drivers/: Within the OS, nxisg_usleep() should be used instead of usleep(). usleep() is a cancellation point and sets the errno value. Neither of which should be done inside the OS. 2019-11-29 17:37:39 -06:00
Juha Niskanen
b4f6a3a878 drivers/usbdev/cdcacm.c: Fix memory leak of RX failsafe timer. 2019-10-08 08:01:30 -06:00
Nathan Hartman
366053e464 Fix typos, 1 in a #define, others in comments. This changes one definition: _MQ_TIMEDRECIEVE is changed to _MQ_TIMEDRECEIVE. It appears this symbol is not used anywhere. 2019-09-11 08:56:56 -06:00
Gregory Nutt
cc694e9862 Fix some new warnings found in build testing. 2019-09-10 08:20:53 -06:00
Gregory Nutt
46d435fc65 Various cosmetic changes. 2019-09-09 14:47:47 -06:00
Anthony Merlino
1e3a60155e Merged in antmerlino/nuttx/rndis (pull request #980)
drivers/usbdev/rndis: Expose option to change number of write requests that can be in flight.

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-10 17:52:19 +00:00
Anthony Merlino
9fa5bd8df4 drivers/usbdev/rndis.c: Fixes copy/paste error introduced in last rndis change. 2019-07-23 17:59:53 -06:00
Anthony Merlino
7a0a032cd9 drivers/usbdev/rndis: Fixes issue with DEBUGASSERT when using composite device and endpoint numbers not being the default. 2019-07-23 16:12:50 -06:00
Alin Jerpelea
5dc1618982 Merged in alinjerpelea/nuttx (pull request #924)
drivers: usbdev: usbmsc: fix usbmsc_exportluns declaration

* drivers: usbdev: usbmsc: fix usbmsc_exportluns declaration

    fixes the following error
    apps/system/usbmsc/usbmsc_main.c:567:
    undefined reference to `usbmsc_exportluns'

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* configs: spresense: nsh: register the procfs

    this is a configuration change in sync with the other ones

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* configs: spresense: enable READLINE_CMD_HISTORY

    we are following the default spresense board configuration
    regarding CMD HISTORY configuration

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* configs: spresense: enable by default SPI 4 and 5

    we are following the default spresense board configuration
    regarding SPI configuration

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* configs: spresense: add I2C configuration

    in sync with the default spresense board configuration

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-07-01 11:45:56 +00:00
Gregory Nutt
0d203fd535 drivers/serial: The upper half serial driver configuration CONFIG_SERIAL_DMA used to enable DMA on both RX and TX streams. This was replaced with CONFIG_SERIAL_RXDMA and CONFIG_SERIAKL_TXDMA which will permit supporting DMA on only one or both streams. 2019-04-24 12:11:40 -06:00
Ramtin Amin
7d2bd2371f arch/arm/src/stm32f7: USB High speed for STM32F7 series 2019-04-07 19:05:06 -06:00
Matias N
a9d8b705cc drivers/usbdev/cdcacm.c: This fixes a problem where the host sent a "get descriptor" message of type "standard" with a recipient of type "interface". Since the composite driver would only pass messages to the child interfaces when a message was not "standard", this message was not handled. I changed the condition so that the composite driver checks not only if this is a "standard" message but if it is also directed to the device. Otherwise, the handling is delegated to the children of the composite device. 2019-03-26 21:54:01 -06:00
raiden00pl
2caf135d05 Merged in raiden00/nuttx_h7 (pull request #837)
Initial OTG support for STM32H7 and some minor improvements

arch/arm/src/stm32h7/stm32h7x3xx_rcc.c: add support for HSI48 clock

configs/nucleo-f207zg: add support for USB and initialize CDCACM if configured

configs/nucleo-h743zi: add support for USB and initialize CDCACM if configured

drivers/usbdev/Kconfig: fix type for USBDEV_TRACE_INITIALIDSET

configs/teensy-3.x/usbnsh/defconfig: update config according to change in USBDEV_TRACE_INITIALIDSET

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-03-10 13:24:58 +00:00
Levin Li
c212163beb drivers/usbdev/cdcacm.c: When implemented usb cdc on nrf52840, I found some issues with cdc driver.
1. lost data when receiving buffer is full;
2. low-water mask implement issue;
3. re-flush cdc buffer when enabling
4. serial dma is conflict with cdc , modify the serial.h
2019-01-02 07:49:21 -06:00
Gregory Nutt
09f4dee6bc All network drivers! Change pre-processor logic that selects the high priority work queue or gives preferential treatment to the high priority work. All network logic must run on the low priority work queue! Or suffer the consequences. 2018-11-21 07:57:26 -06:00
Gregory Nutt
2b6b3724fb drivers/usbdev/Kconfig: Fix misplaced endif. 2018-11-09 10:26:33 -06:00
Gregory Nutt
071d69e082 Updates from coding standard review of PRs 753 and 754 2018-11-09 07:44:22 -06:00
Gregory Nutt
2fad9b86d1 Merged in paimonen/nuttx/pullreq_DFU_interface (pull request #754) 2018-11-09 07:07:29 -06:00
Petteri Aimonen
99adc36352 Merged in paimonen/nuttx/pullreq_RNDIS_composite_support (pull request #753)
RNDIS composite support

* NuttX usb/composite.h: Forward-declare composite_devdesc_s.

    This avoids "error: conflicting types for 'composite_initialize'"
    on some versions of GCC. Because of the cross-inclusion between
    usbdev.h and composite.h, the full declaration is not always
    available.

* NuttX: USB Composite driver: Fix strid comparison

    The last string ID used by composite driver is 4, and
    the number of IDs used is 5 (0..4). The comparison
    strid <= COMPOSITE_NSTRIDS caused composite driver to
    reply with -EINVAL for id 5, even though it should be
    available for subdevices to use.

* NuttX: RNDIS USB driver: Add support for composite configuration.

Approved-by: GregoryN <gnutt@nuttx.org>
2018-11-09 12:56:58 +00:00
Petteri Aimonen
a37c0c4cba NuttX: USB Composite and DFU drivers: Add support for Microsoft OS descriptors.
These Microsoft-only descriptors help in loading the correct driver on Windows.
They are especially helpful to give libusb access to a custom device without
having to manually configure/install WinUSB driver.

With this change DFU interface works automatically on
Windows 10 with dfu-util 0.9 and libusb 1.0.22. On Windows 7
it still appears to need driver installation.
2018-11-09 14:12:29 +02:00
Petteri Aimonen
1f8bd33a5d NuttX: Add DFU Runtime driver for activating bootloader through USB command. 2018-11-09 14:11:31 +02:00
Gregory Nutt
6d93658ff8 Add new configuratin CONFIG_NET_MCASTGROUP. This option is selected automatically if either CONFIG_NET_IGMP or CONFIG_NET_MLD are selected. Most conditional logic based on CONFIG_NET_IGMP replaced with conditioning on CONFIG_NET_MCASTGROUP. 2018-10-31 15:03:51 -06:00
Gregory Nutt
b49fe431b7 drivers/usbdev/Kconfig: Correct an error found in build testing. The type of CONFIG_RNDIS_SERIALSTR must be a string, not hex. 2018-10-30 16:40:32 -06:00
Sakari Kapanen
dafa180d8d nuttx/drivers/usbdev/rndis.c: Account for CONFIG_NET_GUARDSIZE in allocation of packet buffer
nuttx/drivers/usbdev/rndis.c:  Make USB device parameters configurable
2018-10-24 09:06:09 -06:00
Masayuki Ishikawa
03f5e8e5c2 Merged in masayuki2009/nuttx.nuttx/fix_rndis (pull request #721)
drivers/usbdev: Fix buffer overrun check in rndis.c

The rndis driver has been working since 13 Nov 2017.
However, I finally found that it depends on network and buffer
configurations. If a receiving TCP packet is devided into smaller
ones based on USB max packet size, this condition check works
correctly.

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: GregoryN <gnutt@nuttx.org>
2018-09-20 12:50:58 +00:00
Gregory Nutt
9546481054 Fix some typographical errors. 2018-09-14 06:55:45 -06:00
Gregory Nutt
9bc951a335 Rename devif_loopback_out to devi_loopback 2018-08-25 08:33:21 -06:00
Xiang Xiao
0074afa0ac net/netdev: add devif_loopback_out() to check the loopback case where a packet is being sent to itself. Modify the net driver to call this function in this case. This function will simply re-inject the packet back into the network and the network driver will not put anything on the wire. 2018-08-24 09:21:33 -06:00
ichael Jung
aad8f6e45f drivers/usbdev/cdcecm.c: Adds USB Device Support for CDC/ECM 2018-08-16 08:49:11 -06:00
Gregory Nutt
8c61c2f31b Remove trailing spaces at the end of lines. 2018-08-13 07:39:38 -06:00
Gregory Nutt
c2267a57a0 Kconfig files: Fix several errors noted by Alex Denisov in Bitbucket issue 115. 2018-08-05 10:48:02 -06:00
Alan Carvalho de Assis
283b73edc5 Fix lots of typos in C comments and Kconfig help text 2018-07-08 18:24:45 -06:00
Gregory Nutt
22cd0d47fa This commit attempts remove some long standard confusion in naming and some actual problems that result from the naming confusion. The basic problem is the standard MTU does not include the size of the Ethernet header. For clarity, I changed the naming of most things called MTU to PKTSIZE. For example, CONFIG_NET_ETH_MTU is now CONFIG_NET_ETH_PKTSIZE.
This makes the user interface a little hostile.  People thing of an MTU of 1500 bytes, but the corresponding packet is really 1514 bytes (including the 14 byte Ethernet header).  A more friendly solution would configure the MTU (as before), but then derive the packet buffer size by adding the MAC header length.  Instead, we define the packet buffer size then derive the MTU.

The MTU is not common currency in networking.  On the wire, the only real issue is the MSS which is derived from MTU by subtracting the IP header and TCP header sizes (for the case of TCP).  Now it is derived for the PKTSIZE by subtracting the IP header, the TCP header, and the MAC header sizes.  So we should be all good and without the recurring 14 byte error in MTU's and MSS's.

Squashed commit of the following:

    Trivial update to fix some spacing issues.
    net/: Rename several macros containing _MTU to _PKTSIZE.
    net/: Rename CONFIG_NET_SLIP_MTU to CONFIG_NET_SLIP_PKTSIZE and similarly for CONFIG_NET_TUN_MTU.  These are not the MTU which does not include the size of the link layer header.  These are the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename CONFIG_NET_6LOWPAN_MTU to CONFIG_NET_6LOWPAN_PKTSIZE and similarly for CONFIG_NET_TUN_MTU.  These are not the MTU which does not include the size of the link layer header.  These are the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename CONFIG_NET_ETH_MTU to CONFIG_NET_ETH_PKTSIZE.  This is not the MTU which does not include the size of the link layer header.  This is the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename the file d_mtu in the network driver structure to d_pktsize.  That value saved there is not the MTU.  The packetsize is the memory large enough to hold the maximum packet PLUS the size of the link layer header.  The MTU does not include the link layer header.
2018-07-04 14:10:40 -06:00
Gregory Nutt
b54ffe858a Standardization of some function headers. 2018-03-13 09:52:27 -06:00
Gregory Nutt
de6b13b3ab Per OpenGroup.org, syslog -- and, hence, nonstandard vsyslog, and debug wrappers -- does not return a value. Rename _vsyslog to nx_vsyslog. Use internal nx_vsyslog in the few cases where a return value is required. 2018-03-04 08:07:07 -06:00
Gregory Nutt
7cf88d7dbd Make sure that labeling is used consistently in all function headers. 2018-02-01 10:00:02 -06:00
Anthony Merlino
50f05d7514 Merged in antmerlino/nuttx/rndis-debug-build-error (pull request #539)
USB RNDIS - Fixes minor build error while using USB RNDIS with USB debugging information enabled

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-11-22 18:55:39 +00:00
Masayuki Ishikawa
14e2b6dc5b Merged in masayuki2009/nuttx.nuttx/stm32f4discovery_rndis (pull request #533)
RNDIS support on STM32F4Discovery

* stm32f4discovery: Add stm32_netinit.c to avoid a compilation error

* stm32f4discovery: Add rndis initialization in stm32_bringup.c

    NOTE: MAC address for the host side starts 0xaa.  This assignment
    scheme should be fixed later.

* stm32f4discovery: Add rndis configuration

    NOTE: STM32F4Discovery + DM-STF4BB

* drivers/usbdev/rndis.c: Fix some issues in rndis.c

    Introduce rndis_transmit() and change rndis_rxdispatch() to avoid
    packet corruption. Introduce max packet size for dual speed which
    is mainly used for high speed mode. Fix adjusting MTU warning
    on Linux host. Fix data corruption if a packet size excceds MTU.

    NOTE: Max packet size is not configured dynamically. This should
    be fixed in the future version.

* stm32f4discovery: Modify #ifdef condition for rndis in stm32_bringup()

* drivers/usbdev/rndis.c: Change HPWORK to ETHWORK

* drivers/usbdev/rndis.c: Merge the commit 07b98ccbb5

    Previous commit b09365784a was based on old rndis.c thus resulted
    in reverting the commit 07b98ccbb5. This change merges the commit.

    NOTE: In the commit 07b98ccbb5, max packet size of bulkout was
    assumed to be 64. In this commit, priv->epbulkout->maxpacket is
    used instead.

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-11-13 08:55:41 +00:00
Gregory Nutt
8008875f35 Cosmetic spacing and used UNUSEd macro 2017-11-09 12:25:13 -06:00
Sakari Kapanen
07b98ccbb5 drivers/usbdev/rndis.c: fix packet receiving logic. The logic didn't take single-byte termination frames in account. 2017-11-08 07:33:09 -06:00
Gregory Nutt
d29cb09da3 drivers/usbdev: Move test for NULL pointer before the pointer is deferences. Noted by Juha Niskanen. 2017-10-18 11:06:14 -06:00
Gregory Nutt
8dd1bb03b2 drivers/usbdev: Add a debug assertion to CDC/ACM driver. 2017-10-18 07:10:34 -06:00
Gregory Nutt
85a1a3cc98 drivers/usbdev: Correct input flow control logic when watermarks are not enabled. Problem not by and change based on suggestion by Juha Niskanen. 2017-10-18 06:49:11 -06:00
Gregory Nutt
5b385f4d4d kthread_create(): Rename kernel_thread() to kthread_create() for better naming consistency with task_create() and kthread_delete(). 2017-10-16 11:38:00 -06:00
Gregory Nutt
eb79a575f6 Fix a few places where there was a semicolon following the 'if' condition, makeing the following logic unconditional. 2017-10-10 14:24:13 -06:00
Sakari Kapanen
01a4060a1b RNDIS: Use CONFIG_USBDEV_MAXPOWER instead of hardcoded value
RNDIS: Use LPWORK for network operations by default
2017-10-09 09:00:48 -06:00
Gregory Nutt
9568600ab1 Squashed commit of the following:
This commit backs out most of commit b4747286b1.  That change was added because sem_wait() would sometimes cause cancellation points inappropriated.  But with these recent changes, nxsem_wait() is used instead and it is not a cancellation point.

    In the OS, all calls to sem_wait() changed to nxsem_wait().  nxsem_wait() does not return errors via errno so each place where nxsem_wait() is now called must not examine the errno variable.

    In all OS functions (not libraries), change sem_wait() to nxsem_wait().  This will prevent the OS from creating bogus cancellation points and from modifying the per-task errno variable.

    sched/semaphore:  Add the function nxsem_wait().  This is a new internal OS interface.  It is functionally equivalent to sem_wait() except that (1) it is not a cancellation point, and (2) it does not set the per-thread errno value on return.
2017-10-04 15:22:27 -06:00
Gregory Nutt
42a0796615 Squashed commit of the following:
sched/semaphore:  Add nxsem_post() which is identical to sem_post() except that it never modifies the errno variable.  Changed all references to sem_post in the OS to nxsem_post().

    sched/semaphore:  Add nxsem_destroy() which is identical to sem_destroy() except that it never modifies the errno variable.  Changed all references to sem_destroy() in the OS to nxsem_destroy().

    libc/semaphore and sched/semaphore:  Add nxsem_getprotocol() and nxsem_setprotocola which are identical to sem_getprotocol() and set_setprotocol() except that they never modifies the errno variable.  Changed all references to sem_setprotocol in the OS to nxsem_setprotocol().  sem_getprotocol() was not used in the OS
2017-10-03 15:35:24 -06:00
Gregory Nutt
83cdb0c552 Squashed commit of the following:
libc/semaphore:  Add nxsem_getvalue() which is identical to sem_getvalue() except that it never modifies the errno variable.  Changed all references to sem_getvalue in the OS to nxsem_getvalue().

    sched/semaphore:  Rename all internal private functions from sem_xyz to nxsem_xyz.  The sem_ prefix is (will be) reserved only for the application semaphore interfaces.

    libc/semaphore:  Add nxsem_init() which is identical to sem_init() except that it never modifies the errno variable.  Changed all references to sem_init in the OS to nxsem_init().

    sched/semaphore:  Rename sem_tickwait() to nxsem_tickwait() so that it is clear this is an internal OS function.

    sched/semaphoate:  Rename sem_reset() to nxsem_reset() so that it is clear this is an internal OS function.
2017-10-03 12:52:31 -06:00
Gregory Nutt
f58a68b5c8 drivers/usbdev/cdcacm.c: Change ordering of some operations to avoid races; Add missing uppder watermark logic that is normally in serial_io.c but must be duplicated in cdcacm.c; update comments 2017-09-27 08:46:49 -06:00
Gregory Nutt
8ad1e72536 drivers/usbdev/cdcacm.c: Fix confusion between flow control being enabled and being active. Different things 2017-09-27 06:41:32 -06:00
Gregory Nutt
7ceedd2b52 drivers/usbdev/cdcacm.c: Add some missing logic when flow control is disabled. Also make sure that the flowcontrol and rxint can handle being re-entered when cdcacm_release_rxpending() is called. 2017-09-27 06:09:13 -06:00
Gregory Nutt
4e3c159145 drivers/usbdev/cdcacm.c: Add a failsafe time to assure that the RX pending queue cannot stall indefinitely. I can imagine a corner case where the serial driver's RX buffer is full and it stops accepting data and where all of the read requests are queued and there is not event to restart RX processing. I am not sure that that scenario can really happen, but the failsafe timer gives me peace of mind. 2017-09-26 09:30:54 -06:00
Gregory Nutt
3fd0f67b62 Squashed commit of the following:
drivers/usbdev/cdcacm.c:  Change design for queuing RX packets that cannot be processed.  Previous design had a logic problem that could cause data loss.

    drivers/usbdev/cdcacm:  Fixes one of two know design issues.

    drivers/usbdev/cdcacm:  First attempt to plug data leak in input flow control design.  Still missing a few things.
2017-09-26 08:51:02 -06:00
Juha Niskanen
d141242a25 drivers/usbdev/cdcacm.c: Avoid using priv before checking its validity. 2017-09-26 06:31:30 -06:00
Gregory Nutt
35c97fbf27 drivers/usbdev/Kconfig: Add comments in regard to RNDIS selection. 2017-09-25 12:52:04 -06:00
Gregory Nutt
18376a124a drivers/net/rndis.c: Eliminate a warning when assertions disabled. Consequence of replacing assert() with DEBUGASSERT(). 2017-09-24 17:25:16 -06:00
Gregory Nutt
dbf57fb673 drivers/usbdev/rindis.c: Change some naming to conform with coding standard. Use DEBUGASSERT vs. assert so that the assertions can be disabled. 2017-09-24 11:18:01 -06:00
Sakari Kapanen
67e9e1efb6 drivers/usbdev: Add RNDIS-over-USB driver 2017-09-24 07:24:34 -06:00
Gregory Nutt
3bc21a3973 drivers/usbdev: Fix some bad conditional logic. 2017-09-23 12:57:20 -06:00
Gregory Nutt
2e69e22af3 drivers/usbdev: CDC/ACM should reset all 'irregular' notifications to zero after sending the SerialState packet. 2017-09-23 12:37:57 -06:00
Gregory Nutt
5d02baf205 drivers/usbdev: Add support for flow control TERMIOs in CDC/ACM driver 2017-09-23 11:00:26 -06:00
Gregory Nutt
d2799f0b4e Update a README and some comments 2017-09-23 08:49:58 -06:00
Gregory Nutt
eff026aab8 drivers/usbdev: Cosmetic changes to CDC/ACM driver. 2017-09-22 15:19:43 -06:00
Gregory Nutt
5e38ad28f4 drivers/usbdev: Add support for RX flow control to the CDC/ACM driver. 2017-09-22 14:01:00 -06:00
Gregory Nutt
2fc0fbcf7e Squashed commit of the following:
commit 89e9d426e91c056e659fccf5e5c4392618f8f777
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Mon Jul 24 16:44:19 2017 -0600

    Update some comments

commit 9c5d8a5833350006ed389e898b11c8c8a20e5f4f
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Mon Jul 24 16:15:54 2017 -0600

    Spirit:  Rename drivers/wireless/spirit/src to lib.  Move Spirit network driver out of IEEE802.15.4 into drivers/wireless/spirit/drivers

commit cabc0ec9e6eb558dcb715ab17264383aa0105e7a
Merge: 87b616414a 6bd744c4b3
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Mon Jul 24 15:38:40 2017 -0600

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

commit 87b616414a79c01a71acea78f8258e05325c1996
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Mon Jul 24 15:37:27 2017 -0600

    Spirit radio driver is mutating into a standalone network driver.

commit 507798233868a661ae8adad3e3aa117075a7a146
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Mon Jul 24 13:32:08 2017 -0600

    Spirit: More radio initialization logic

commit 33af25704ce9ca83d576300d153cfe31cc6d2576
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Mon Jul 24 12:19:14 2017 -0600

    Spirit:  Beginning of radio initialization logic

commit 97b20014c016e55952a8f9d8f4ae29e2cc555b23
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Mon Jul 24 09:42:06 2017 -0600

    Spirit: More initialization logic.

commit 295d8e27824c0417fccea2344b30bb5c93ffbabe
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sun Jul 23 15:39:53 2017 -0600

    Spirit:  Add header file containing enumeration of commands.

commit 8a2d9dd8eb9cc70cbcdd1b913fc9022b9c9ec8da
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sun Jul 23 11:33:50 2017 -0600

    Spirit:  Add GPIO initialization logic

commit 8b6d80c44f92024c45a6ba63ba1af3fdafe94dc3
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sun Jul 23 10:07:25 2017 -0600

    Spirit:  Add interrupt control logic.

commit 423f846fe5c914f92a4bfea4d9d1fa33de1c77a5
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 22 19:06:52 2017 -0600

    Spirit: Yet a little more radio initialization logic.

commit 5895b979823e51ddde5ad52e6de66a8ad662e883
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 22 15:36:05 2017 -0600

    Spirit: A little more radio initialization logic.

commit 86311ab30aad386203c181c792847dd1d37f9a02
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 22 13:02:32 2017 -0600

    Spirit: A miniscule amount of radio initialization logic.

commit ad55e89d5ee12ea1eeea95fcd38ff3da0db4416a
Merge: 90a7666655 f4e46b0da7
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 22 10:56:30 2017 -0600

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

commit 90a766665534b05da0157dbc383cb06a98c86a79
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 22 10:52:52 2017 -0600

    Spirit1:  A few fixes for a clean build of initial configuration (not much there yet)

commit bbbf04c223230a52a7705a2161128265cfbaa480
Merge: 623d54a7f7 2319ea53a9
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 22 09:53:57 2017 -0600

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

commit 623d54a7f719e9032099f88f38203efee4b80722
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 22 09:43:52 2017 -0600

    b-l475e-iot01a: Add a configuration for testing sprit radio.

commit d309d73d9f4665f9d870eb03531f450043d9389d
Merge: 52c3ddfae6 d88dc9b2e5
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 22 09:02:06 2017 -0600

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

commit 52c3ddfae6802e111c2b5cf1207baf21a61dd00b
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Jul 22 08:33:04 2017 -0600

    Spirit:  Add register definition header file.

commit 8d842ab5e8f9ca653b42f9ee88dc279f06b4fa98
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Jul 21 17:27:03 2017 -0600

    b-l475e-iot01a: Add initial, unverified support for the SPSRGF/Spirit1 module.

commit 73d902a1048616fb9c2dd2147cabcd8ee78e19ac
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Jul 21 15:49:43 2017 -0600

    Spirit: Fixes to get skeleton IEEE 802.15.4 driver build.

commit ebc5a8387bb94f0cc3827533795f3e4a33207e67
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Jul 21 15:16:29 2017 -0600

    Spirit1:  Add framework for IEEE 802.15.4 driver.  Does not yet build.

commit 52e195a7ae14ddb18bdd56258f4877381d2501ca
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Jul 21 14:02:42 2017 -0600

    Spirit:  A little more SPI logic.

commit 90048d0c5b8a5af4d81a15d99535c84ed38d8ae9
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Jul 21 11:19:06 2017 -0600

    Spirit: Build directories setup.  Some initial files added, mostly just to verify build.

commit 8273a381ac1f6bb081b292b5e73226185e9e634c
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Jul 21 08:34:04 2017 -0600

    USB composite:  Remove references to CDC/ACM and USB MSC from composite logic.  They are no longer coupled.
2017-07-24 16:46:30 -06:00
Gregory Nutt
e4c0b889d7 Cosmetic fix to some spacing 2017-07-21 07:52:07 -06:00
Gregory Nutt
2bb3ad2e98 USB MSC: Add missing logic to define endpoints. The composite changes broke the the non-composite, USB MSC only case because it omitted the critical setup when USB MSC was not part of the composite. 2017-07-20 10:07:53 -06:00
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
940b78cac2 USB device: Fix some coding standard issues. Other purely cosmetic changes. 2017-07-19 09:00:01 -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
Oleg Evseev
794ecbfd86 Use struct instead of pointer to the struct as sizeof argument in memset in usbmsc.c
Otherwise it leads to error: argument to 'sizeof' in 'memset' call is the same pointer type 'struct usbmsc_lun_s *' as the destination
2017-06-19 19:45:35 +03:00
Gregory Nutt
ae17e6bcf0 Cosmetic 2017-05-30 12:04:48 -06:00
Masatoshi Tateishi
80e22691fa USBMSC: Fix a wrong lun number issue
Jira: PDFW15IS-98
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2017-04-24 09:48:49 +09:00
Wolfgang Reißnegger
cfe7c4012e USBMSC: Always set LUN readonly flag. 2017-02-08 17:17:19 -08: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
Wolfgang Reißnegger
88539a7497 USBMSC: Fix length of mode6 sense reply packet. 2016-11-18 17:23:21 -08:00
Gregory Nutt
4fcbe8e410 drivers: Disable priority inheritance on all semaphores used for signaling 2016-11-03 11:00:47 -06: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
Wolfgang Reissnegger
4f83d58b24 USBMSC: Fix reversed logic on waiting for SCSI thread start.
The scsi thread was waiting for the wrong condition.

However, this was masked by the fact that the code creating the scsi thread
was also holding usbmsc_scsi_lock(priv) while initializing data, hence this
lock synchronized the scsi thread start with init completion.
2016-07-23 20:11:00 -07:00
Wolfgang Reissnegger
2974d2b07e USBMSC: Add locks when removing request from queue. 2016-07-23 20:10:41 -07:00
Wolfgang Reissnegger
81f7758848 USBMSC: Fix usbtrace() string. 2016-07-23 20:10:20 -07: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
a897fd4ccf Eliminate use of apps/system/usbmonitor. Use drivers/usbmonitor instead. 2016-06-30 13:09:22 -06:00
Gregory Nutt
505ca542e8 Remove some last traces of lowvsyslog that were missed; Add a SYSLOG emergency channel for handling assertion output more cleanly 2016-06-20 16:11:50 -06:00
Gregory Nutt
2b445ddccc Remove lowsyslog(). The new syslog() includes all of the functionality of lowsyslog(). No longer any need for two interfaces. 2016-06-20 08:57:08 -06: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
Gregory Nutt
3a74a438d9 Rename CONFIG_DEBUG_VERBOSE to CONFIG_DEBUG_INFO 2016-06-11 11:50:18 -06:00
Gregory Nutt
75a4a5dcbe Back part of a previous CDC/ACM change. Improve some Kconfig comments. 2016-03-19 12:45:33 -06:00
Gregory Nutt
deed28b8f2 USB composite: Fix some errors in conditional compilation 2016-03-19 08:08:40 -06:00
Gregory Nutt
9644d42e91 USB CDC/ACM device: Trivial configuration clean-up 2016-03-19 07:36:39 -06:00
David Sidrane
d2a017d9bb rdreqs was defined as CONFIG_CDCACM_NWRREQS size 2016-03-17 21:47:40 +00:00
David Sidrane
2cfa023039 RD - comments were for WR 2016-03-17 21:45:57 +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
4a7e28ba96 CDC/ACM: Fix a bad default value in last commit 2015-12-08 07:33:49 -06:00
Gregory Nutt
513cc08c7f change default size of CDC/ACM serial buffer sizes 2015-12-07 17:18:14 -06:00
Gregory Nutt
2726f0ac7c USB serial driver Kconfig: Select default sizes for serial buffers so that the can hold even multiples of the max packet size. 2015-12-03 14:17:41 -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
Gregory Nutt
16b32bbadd Standardize the width of all comment boxes in C files 2015-10-03 07:25:53 -06:00
Gregory Nutt
5b51a9fcdd Standardize the width of all comment boxes in C files 2015-10-02 17:43:18 -06:00
Gregory Nutt
dbc9d67b3a USBDEV Kconfig: CONFIG_USBDEV_TRACE_INITIALIDSET missing from Kconfig file 2015-09-08 07:25:21 -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
51f386d08a Fix more common typos 2015-08-16 11:07:23 -06:00
Gregory Nutt
77f5c34af0 Fix some common typos 2015-08-16 11:00:30 -06:00
Gregory Nutt
e9a4455038 drivers/usbdev: Eliminate some warnings 2015-07-01 10:02:19 -06:00
Gregory Nutt
342f5fe33d Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation 2015-06-28 08:08:57 -06:00
Gregory Nutt
82f51d01fb Update some comments 2015-05-18 08:53:24 -06:00
Gregory Nutt
5b687f4b0f Fix several defien -> define. Thanks Pierre 2015-05-13 06:33:17 -06:00
Gregory Nutt
6ef7977b65 USB device. All class drivers. There needs to be a check to make sure that the size of a returned string does not exceed the size of an allocated request buffer 2015-05-12 14:46:35 -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
26b9b5a252 usbdev: usbmsc_scsi: Add NULL pointer check. From Juha Niskanen 2015-03-12 07:55:53 -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
2994448d85 More fixes to problems noted by cppcheck. Some are kind of risky; some are real bugs. 2014-11-25 13:15:09 -06:00
Gregory Nutt
d7d759f7a7 Update everything under nuttx/drivers to use the corrected syslog interfaces 2014-10-08 10:18:58 -06:00
Gregory Nutt
23147c40a5 Remove final traces of the 8015 from the NuttX source tree 2014-09-01 13:21:15 -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
9cd1ddada4 Rename kmemalign to kmm_memalign and krealloc to kmm_realooc for consistency with other naming 2014-08-31 15:27:37 -06:00
Gregory Nutt
0da9aaeb09 Fix some recurring typos: postion->position, *atino->*ation 2014-07-08 13:12:36 -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
2abe0dd6dd Change all variadic macros to C99 style 2014-05-22 09:01:51 -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
3a1324741a More trailing whilespace removal 2014-04-13 14:32:20 -06:00
Gregory Nutt
6578d646da Back out part of 610e2aa0c224e2936fe8009ef4a2351ce607067a: Need to be able to select USB console devices when there is no /dev/console enabled. Noted by Librae 2014-04-08 11:04:25 -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
cbdc9155ab SAMA5: Add support for DBGU. Xplained board now uses DBGU for the serial console 2014-04-01 11:24:15 -06:00
Gregory Nutt
060b84240b Add macro UNUSED to eliminate warnings about variables that are set to unused values 2014-03-30 07:58:58 -06:00
Gregory Nutt
b951732a2b Reimagine the USB MSC worker thread as a kernel thread (instead of a pthread) 2014-03-25 14:19:27 -06:00
Gregory Nutt
baa91448e6 net/netdev_findbyaddr.c: Skip network devices that are in the down state. They have no meaning address 2014-03-20 17:27:59 -06:00
Gregory Nutt
b0c2b54ec9 If DCD supports queuing of stall requests then USB MSC delay work-around is not necessary 2014-03-20 15:20:50 -06:00
Gregory Nutt
c6127ad09d If DCD supports queuing of stall requests then USB MSC delay work-around is not necessary 2014-03-20 15:20:24 -06:00
Gregory Nutt
f139391f8a SAM4E UDP: Several fixes related to bulk endpoint transfers 2014-03-20 14:25:56 -06:00
Gregory Nutt
fe9023752a SAM4E: Revise board-specific USB MSC support 2014-03-18 09:31:02 -06:00
Gregory Nutt
91b002a043 Many changes to reduce complaints from CppCheck. Several latent bugs fixes, but probably some new typos introduced 2014-02-10 18:08:49 -06:00
Gregory Nutt
f1671bb6a7 Alloc CONFIG_FS_READABLE/WRITABLE to be defined in Kconfig files while preserving backward compatibility with legacy configurations (for the time being) 2013-11-15 09:49:27 -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
fd7126771f Make default request size in the Kconfig file match default in C code 2013-11-03 07:42:25 -06:00
Gregory Nutt
4d39db749b Need to lock mutex before signal 2013-11-02 08:10:24 -06:00
Gregory Nutt
861b8bd511 MTD config: Reduce configuration header overhead. From Ken Pettit 2013-11-01 12:22:55 -06:00
Gregory Nutt
7bbc46f721 Avoid calling pthread_join() to wait for USB MSC thread to terminate: This does not work if the caller of usb_mscuninitialize() is in a different task group than the MSC thread. From David Sidrane 2013-11-01 12:09:25 -06:00
Gregory Nutt
0d0c3e66fb Updates to sparck configuration from David Sidrane 2013-11-01 11:40:19 -06:00
Gregory Nutt
b3ecd158ac Mov apps/examples/composite to apps/system/composite; convert configs/stm3210e-eval/composite to use kconfig-frontend tools -- untested 2013-09-25 18:50:14 -06:00
Gregory Nutt
9a9fc90794 SAMA5 UDPHS: Dont' reject read request submissions while stalled. That causes an infinite loop. When stalling, cancel all pending write requests, but cancel only a reqd request if it is in progress. It will be immediately requeued 2013-09-24 15:06:17 -06:00
Gregory Nutt
cf5cf0da72 SAMA5D3x-EK AT25 Serial FLASH: Dropping SPI frequency to 10MHz gives more reliable behavior 2013-09-22 12:22:55 -06:00
Gregory Nutt
f22e60c392 Use a valid interval for the interrupt endpoint in the CDC/ACM driver 2013-09-22 11:35:44 -06:00
Gregory Nutt
5d0131fc73 Names of some USB device definitions changed to avoid collisions 2013-09-20 10:00:30 -06:00
Gregory Nutt
fbd5ab0758 Beginning of support for USB host side tracing 2013-09-09 14:01:52 -06:00
Gregory Nutt
9a9de5de81 Fix warnings in USB MSC when compiled for a high speed device; also fix USB MSC default VID/PID configuration 2013-09-07 10:12:02 -06:00
Gregory Nutt
0585cd5692 Extend USB trace logic. When we are configured to decode and stringify trace data, de-stringification support is not included for class driver trace output 2013-09-06 17:24:02 -06:00
Gregory Nutt
8912bcb1ea SAMA5D3x-EK: Add support for USB MSC device on AT25 serial flash 2013-09-06 13:07:29 -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
67a126a5dc Misc USB device changes reated to SAMA5, trace support, and USB monitoring 2013-09-01 11:52:21 -06:00
Gregory Nutt
ac130dc2f3 CDC/ACM Device: Fixe compilation errors when dual speed support is enabled 2013-09-01 11:27:59 -06:00
Gregory Nutt
bc46b447dc Fix all occurrences of "the the" in documentation and comments 2013-08-27 09:40:19 -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
37ed44a1ee Fix type in the USB composite device driver 2013-07-04 07:47:32 -06:00