yangsong8
5a39e83c05
usbdev: extend the usb req len to size_t
...
Some USB controllers can receive or send multiple data packets then
generate one interrupt. This mechanism can reduce the number of data
copies. Extend req buf to accommodate this.
Signed-off-by: yangsong8 <yangsong8@xiaomi.com>
2024-08-30 01:32:02 +08:00
yangsong8
a2e7265adb
cdcacm: align cdcacm_epconfigure function parameters
...
Signed-off-by: yangsong8 <yangsong8@xiaomi.com>
2024-08-28 13:48:55 +08:00
yangsong8
fa1c094e65
usbdev: add usb3.0 ep companion struct and descriptor
...
Signed-off-by: yangsong8 <yangsong8@xiaomi.com>
2024-08-27 12:53:15 -03:00
yangsong8
1dd38fe974
usbdev: unify the parameter of mkconfdesc function
...
Signed-off-by: yangsong8 <yangsong8@xiaomi.com>
2024-08-27 12:53:15 -03:00
yangsong8
07aa8a5c57
usbdev: modify usb device support USB3.0 MaxPacketSize
...
Signed-off-by: yangsong8 <yangsong8@xiaomi.com>
2024-08-27 12:53:15 -03:00
yangsong8
0788e68285
usbdev: usb device descriptor support USB3.0
...
Signed-off-by: yangsong8 <yangsong8@xiaomi.com>
2024-08-27 12:53:15 -03:00
Petro Karashchenko
1528b8dcca
nuttx: resolve various 'FAR' and 'CODE' issues
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2024-08-26 10:21:03 +08:00
Petro Karashchenko
d499ac9d58
nuttx: fix multiple 'FAR', 'CODE' and style issues
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2024-08-25 19:22:15 +08:00
Petro Karashchenko
d252b6229f
nuttx: use sizeof instead of define or number in snprintf
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2024-08-25 19:22:15 +08:00
dongjiuzhu1
a8d7103a2b
drivers/usbdev: push cdcacm rx buffer to serial rx buffer when resetconfig
...
When usb is re-enumerated due to the reset signal, we need to push
the rx_pending message into the serial port buffer.
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-04-21 23:21:54 +08:00
dongjiuzhu1
e5a925543b
drivers/usbdev: fix double free when cdcacm uninitialize with not used
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-04-21 23:21:54 +08:00
dongjiuzhu1
ad59ef075f
drivers/usbdev: remove first uninitialization and release resouce once.
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-04-21 23:21:54 +08:00
dongjiuzhu1
9c55f21a6f
drivers/cdcacm/serial: add release interface to release uart_dev resource
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-04-21 23:21:54 +08:00
sunkun3
052d46c690
usbdev: a memory leak occurred when the usb uninitialize process was executed
...
In usbclass_unbind, DEV_FREEEP is called first, and later
usbclass_freereq does not free memory due to ep NULL
Signed-off-by: sunkun3 <sunkun3@xiaomi.com>
2023-08-11 13:19:13 +08:00
sunkun3
9f19a333d2
usbdev/cdcacm: Logic error handled in USB_REQ_SETINTERFACE.
...
config value changed after resetconfig was executed
endpoint will stay disable state after setinterface cmd
Signed-off-by: sunkun3 <sunkun3@xiaomi.com>
2023-08-04 10:58:50 +02:00
zhangyuan21
602d5974c8
usbdev: move usbdev_req function to common code
...
Move usbdev_req function to common code, Reduce duplicated code.
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-08-03 22:46:25 -07:00
raiden00pl
387944b837
usbdev/cdcacm.c: register console only for device with minor number 0
...
With this change, we can register several CDCACM devices where one is used as a console
2023-06-14 16:24:20 -03:00
Petro Karashchenko
2a38c38b03
style: fix style issues found during code review
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-06-11 12:54:52 +08:00
raiden00pl
50cf84c99a
usbdev-composite: ep0 submit should be send only once for the composite class
2023-03-24 14:54:31 -03:00
Xiang Xiao
d9a8d5f2ee
usb/cdcacm: Remove the process for tc_iflag, tc_oflag and tc_lflag
...
since the common code in serial.c already handle them correctly:
https://github.com/apache/nuttx/blob/master/drivers/serial/serial.c#L1556-L1601
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-03-19 14:54:59 -06:00
zhangyuan21
699c930987
drivers/usb: fixed sim usb dev and host build issue
...
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-03-03 14:31:30 -03:00
Xiang Xiao
40ef5bc6db
libc: Move queue.h from include to include/nuttx
...
to avoid the conflict with libuv's queue.h
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-26 08:04:58 +02:00
David Sidrane
341bfeb8b6
cdcacm:support returning c_cflag & speed via termios
...
Implementation was incomplete. This can now be
used to pass the lincodeing information to
a real serial port.
2022-01-31 01:15:29 +01:00
Xiang Xiao
2e54df0f35
Don't include assert.h from public header file
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-06-03 08:36:03 -07:00
Alin Jerpelea
e5b6305f4a
drivers: Author Gregory Nutt: update licenses to Apache
...
Gregory Nutt has submitted the SGA and we can migrate the licenses
to Apache.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-04 18:32:27 -08:00
Juha Niskanen
ca7a7ccbeb
Fix some typos in comments
...
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-11-08 18:58:20 +01:00
Xiang Xiao
acca9fcc3b
sched/wdog: Remove MAX_WDOGPARMS and related stuff
...
since the variable arguments are error prone and seldom used.
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-08-14 08:19:50 -06:00
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
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
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
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
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
Juha Niskanen
b4f6a3a878
drivers/usbdev/cdcacm.c: Fix memory leak of RX failsafe timer.
2019-10-08 08:01:30 -06: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
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
7cf88d7dbd
Make sure that labeling is used consistently in all function headers.
2018-02-01 10:00:02 -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
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
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
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