Commit Graph

4746 Commits

Author SHA1 Message Date
zhuyanlin
4329967a01 pm: use pm_lock/unlock with domain lock
Signed-off-by: zhuyanlin <zhuyanlin1@xiaomi.com>
2022-07-26 11:11:00 +08:00
Jiuzhu Dong
01aa0c2d46 driver/sensor: change nbuffer and sensor event structure type
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-26 10:40:21 +08:00
Jiuzhu Dong
e3e59a03b1 driver/sensor: update sensor data structure and state structure
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-26 10:40:21 +08:00
Jiuzhu Dong
24040250f5 driver/sensor: support multi users to access device
1.Allow multi users to access the same sensor device simultaneously.
2.Get real state of sensor device by cmd SNIOC_GET_STATE for users.
3.Get update state since last read by poll without timeout for users.
4.Sensor device will be activated when first user open and will close when
  last user closed.
5.When multi users to access device, driver always set the minimum
  sampling interval and latency to the sensor device and allow
  downsampled for users above the minimum sampling interval.
6.The circbuffer will overwrite old data when buffer is full, so if users
  don't read data soon, data will be lost, and the oldest data in circbuffer
  are returned to the users.
7.Always read the last data in the circbuffer as initial value for new
  users when the sensor device has not yet generated new data.
8.when user uses poll, if subscription interval is satisfied, the POLLIN
  events is returned for each users.
9.When new user generate or the state of sensor device changed, the POLLPRI
  will notify to all users.
10.Support multi advertisers to subscribe their own data as loop test.

Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-26 10:40:21 +08:00
Jiuzhu Dong
b3ea6522f4 driver/usensor: support register user sensor
1.cmd:SNIOC_REGISTER with struct sensor_reginfo_s to register user sensor
2.cmd:SNIOC_UNREGISTER to unregister user sensor

Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-26 10:40:21 +08:00
Jiuzhu Dong
8d971101cd driver/sensor: change protype of set_interval, batch to follow ioctl
1. change unsigned int to unsigned long

Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-26 10:40:21 +08:00
Jiuzhu Dong
8f39c5f11b driver/sensor: simplify buffer operation
1.Simplify buffer opeations to avoid frequent resize for batch and no-batch mode.
2.When sensor event is first generated, the buffer is initialized.
3.Remove and merge batch_number to buffer_number when device support batch mode.

Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-26 10:40:21 +08:00
Jiuzhu Dong
dad5ab75ff driver/sensor: support userspace wirte data into sensor device
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-26 10:40:21 +08:00
ligd
434c49f282 rptun_dump: use METAL_LOG_EMERGENCY log level
Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-07-26 09:36:05 +08:00
ligd
4a9bd26317 rptun: merge rptun_ioctl & rptun_ops to one
Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-07-26 09:36:05 +08:00
ligd
631eb516c9 rptun_dump: don't get lock in IRQ handler
Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-07-26 09:36:05 +08:00
Peter van der Perk
b3590f00b3 NXStyle and preprocessor fixes
Co-authored-by: Jari van Ewijk <jari.vanewijk@nxp.com>
2022-07-25 23:47:05 +08:00
Jari van Ewijk
dd1096695d Add initial support for NXP S32K3 MCU family
Co-authored-by: Peter van der Perk <peter.vanderperk@nxp.com>
2022-07-25 23:47:05 +08:00
Jari van Ewijk
d3b1ee9866 Macronix MX25RXX driver: add support for MX25LXX as well
Co-authored-by: Peter van der Perk <peter.vanderperk@nxp.com>
2022-07-25 23:47:05 +08:00
Jiuzhu Dong
fc84813b0a driver/sensor: add calibrate interface for sensor driver.
Add standard sensor interface for calibrate, can trigger
calibration and obtain calibration value.

Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-25 17:44:31 +08:00
Jiuzhu Dong
1c342328de rtc/rpmsg: when a client connection, server initiates time sync
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-25 14:58:16 +08:00
Jiuzhu Dong
3132f169ef driver/sensor: add sensor type of cap and wake_gesture
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-25 13:34:58 +08:00
raiden00pl
0570704cdc sensors: use the INA226 driver also for INA230 chips 2022-07-23 16:48:13 -03:00
curuvar
c21c7ac8dc Added Adafruit QT Py RP2040 board.
Added ability to configure indivdual UART, SPI and I2C pin location.
2022-07-23 18:25:38 +08:00
Jiuzhu Dong
40e86501f1 driver/ioe_rpmsg: split server and client ept_cb to simplify code
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-22 14:44:44 +08:00
Karel Kočí
3693d38763 drivers/lcd/st7789: update implementation of driver for ST7789
'putarea' function now has to select the appropriate values from the
whole frame buffer instead of the previous expectation of having just
specified rectangle passed to it.

This required extension of WRRAM handling function as we now are not
writing simply buffer but we want to skip some values and do that
multiple times. Having two implementation in this case is worst as this
function is actually called only twice in the whole code (thus making
dedicated function for every call if we would have two variants).
Calling `st7789_wrram` multiple times is not an option as command
ST7789_RAMWR resets the position and thus calling it multiple times just
overwrites the previous values.
2022-07-22 11:08:00 +08:00
Alan Carvalho de Assis
a9d3e1bd08 lcd/apa102: Fix APA102 RGB LED Matrix interleaving issue
I found an issue in the APA102 framebuffer that wasn't spot
before by fb test because this application draw symetric squares

Normally in a display each line starts at left and increase to the
right, however for this APA102 matrix the next line starts at the
end of previous line and move the opposite direction, forming a
zig-zag pattern.
2022-07-22 11:05:32 +08:00
Xiang Xiao
d04ed9587b drivers/syslog: Call up_nputs in syslog_default_write
since the buffer may not be terminated by null

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-07-21 21:26:10 +03:00
Jiuzhu Dong
e7b8af7a35 driver/ramlog: set CONFIG_SYSLOG_DEVPATH to /dev/kmsg when enbale ramglog
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-21 23:40:56 +08:00
Jiuzhu Dong
af62e6cbfa driver/syslog: support syslog rpmsg server chardev
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-21 23:40:56 +08:00
Jiuzhu Dong
eedb774d68 driver/syslog: remove TRANSFER_DONE and sem wait when buffer is full
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-21 23:40:56 +08:00
Jiuzhu Dong
059114557f driver/syslog: support syslog output when buffer remaining space over 75%
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-21 23:40:56 +08:00
Jiuzhu Dong
664fcb2698 driver/syslog: support syslog rpmsg character buffer
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-21 23:40:56 +08:00
ligd
5c33db4220 syslog_rpmsg: head must bigger then tail when syslog_rpmsg_init
Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-07-21 23:40:56 +08:00
Alan Carvalho de Assis
9587e4a85e lcd/apa102: Add putarea() support for faster rendering 2022-07-20 11:52:22 +08:00
Alan Carvalho de Assis
b3daaf765b drivers/lcd: Add support to use APA102 LED Matrix as LCD Display
Co-authored-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-07-19 18:50:04 +03:00
SPRESENSE
b04c4972fe mtd/smartfs: Fix uninitialized variable
If CONFIG_SMARTFS_MULTI_ROOT_DIRS is enabled and dev->partname is not empty,
dev->rwbuffer is an uninitialized variable and register_blockdriver is called.
2022-07-19 11:08:13 +03:00
Xiang Xiao
2166c98809 Add printflike and scanflike to all printf/scanf like functions
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-07-18 14:14:36 +03:00
Xiang Xiao
19f269e54b syslog: Remove the lock from syslog_default_write
to avoid the problem when is called from interrupt/signal handler

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-07-17 17:31:19 +03:00
Xiang Xiao
8254ad9159 drivers/syslog: Call up_puts instead up_putc one by one
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-07-17 17:31:19 +03:00
Xiang Xiao
02ea79365a drivers/bch: Adjust f_pos with the correct value
Fix the problem reported by:
https://github.com/apache/incubator-nuttx/issues/6619

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-07-17 17:13:36 +03:00
Xiang Xiao
a2239891e7 mmcsd: Remove the not really used capacity field
to avoid the check of CONFIG_HAVE_LONG_LONG in many place

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-07-16 11:12:30 +03:00
Gustavo Henrique Nihei
e999708b31 drivers: Convert DEBUGASSERT(false) into more intuitive DEBUGPANIC()
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-07-14 12:08:45 +08:00
Huang Qi
70c0672598 vncserver: Support keyboard driver
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-07-12 10:05:15 -03:00
Eero Nurkkala
5a45130d5c usbdev/usbmsc: introduce USBMSC_WRMULTIPLE for faster writes
This patch introduces a configuration option USBMSC_WRMULTIPLE,
which is used to store multiple blocks into a larger chunk that
then gets written via the mmcsd_writemultiple() (in case mmcsd
is used).

The bottleneck with the current implementation is the poor
performance due to short block writes.  USBMSC_DRVR_WRITE()
always writes only one sector (with eMMC that's usually 512 bytes).
eMMC devices usually erase much larger regions with near constant
time (see Jedec JESD84-B51, Extended CSD register byte [225],
SUPER_PAGE_SIZE): 'This register defines one or multiple of
programmable boundary unit that is programmed at the same time.'

If USBMSC_WRMULTIPLE is defined, then USBMSC_NWRREQS is used to
allocate the write buffer size.  We don't want this to be the
default behavior yet as this may reveal unseen bugs in usb drivers
due to the faster overall performance.

Sample configurations with measured performance:

  - Without USBMSC_WRMULTIPLE: 470 Kb/s
  - With USBMSC_WRMULTIPLE, CONFIG_USBMSC_NWRREQS=4: 1.1 Mb/s
    (dd with bs=2k)
  - With USBMSC_WRMULTIPLE, CONFIG_USBMSC_NWRREQS=16: 5.2 Mb/s
    (dd with bs=8k)

No doubt, this feature alone may make the mass storage work 10
times faster than before with eMMC cards.

Signed-off-by: Eero Nurkkala <eero.nurkkala@offcode.fi>
2022-07-12 18:36:34 +08:00
Nathan Hartman
1867bc2210 Fix compiler warnings (-Wunused-parameter) in various functions
Fixes the -Wunused-parameter warning in:
* group/group_signal.c: group_signal()
* irq/irq_unexpectedisr.c: irq_unexpected_isr()
* task/task_spawn.c: nxtask_spawn_proxy()
* timer/timer_getoverrun.c: timer_getoverrun()
* misc/dev_null.c: devnull_read(), devnull_write(), devnull_poll()
* misc/dev_zero.c: devzero_read(), devzero_write(), devzero_poll()
* syslog/syslog_channel.c: syslog_default_write()
* syslog/syslog_device.c: syslog_dev_flush()
* grp/lib_initgroups.c: initgroups()
* misc/lib_mknod.c: mknod()
* misc/lib_glob.c: ignore_err()
* pthread/pthread_barrierinit.c: pthread_barrier_init()
* pthread/pthread_atfork.c: pthread_atfork()
* semaphore/sem_init.c: nxsem_init()
* stream/lib_nullinstream.c: nullinstream_getc()
* stream/lib_nulloutstream.c: nulloutstream_putc()
* stream/lib_libnoflush.c: lib_noflush()
* stream/lib_libsnoflush.c: lib_snoflush()
* string/lib_strerror.c: strerror()
* time/lib_gettimeofday.c: gettimeofday()
* time/lib_settimeofday.c: settimeofday()
* unistd/lib_pathconf.c: fpathconf(), pathconf()
* unistd/lib_getrusage.c: getrusage()
* unistd/lib_setrlimit.c: setrlimit()
* unistd/lib_getrlimit.c: getrlimit()
* unistd/lib_setpriority.c: setpriority()
2022-07-12 11:42:34 +08:00
Huang Qi
e23bcb0e81 vncserver: Correct rfb_keyevent_s definition
Refer to https://datatracker.ietf.org/doc/html/rfc6143,
size of key is 4 byte.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-07-11 14:11:43 +08:00
Adam Kaliszan
da69b013bc SSD1680 Landscape mode bugfix
Displays with resolution that is not multiplication of 8 had some issues in landscape mode (columns ware shifted).
Fixed function for copying bits.
Optimized memory reload for landscape mode.
2022-07-09 16:13:22 +08:00
Huang Qi
4945c49c61 vncserver: Support pointer driver
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-07-08 13:28:34 +08:00
Nathan Hartman
849f760b77 Fix various typos 2022-07-08 02:15:54 +08:00
curuvar
aa6ec6518c Added ADC to RP2040 2022-07-07 12:45:28 -03:00
Xiang Xiao
3308f77e7c drivers/segger: Support the customize SEGGER_RTT_[BUFFER_]SECTION
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-07-06 12:55:16 -03:00
Adam Kaliszan
664d45dcba New rules of triggering redrawing display.
New callback redraw in lcd_framebuffer.c
SSD1680 driver (e-ink display) changes.
2022-07-05 23:05:32 +08:00
licheng
ee0dc87059 fix sd can't usage when mult-block receive errro 2022-07-04 20:43:50 +03:00
chao.an
5048be1bfe wireless/bcm43xxx: set listen interval on lowpower
set listen interval dtim(Delivery Traffic Indication Message) on lowpower mode

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-03 02:28:50 +08:00
Xiang Xiao
881902d2cd drivers/lcd_framebuffer: Optimize updateearea for the full screan case
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-07-02 18:37:42 +03:00
chao.an
9a4f494da2 wireless/bcm43xxx: fix memory leak if tx fail
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 21:33:16 +08:00
chao.an
f424bb32aa wireless/bcm43xxx: only break out the send loop if no data
only break out the continuous send if IP stack has no data to send to avoid
tx being constantly interrupted by RX

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 19:39:49 +08:00
chao.an
96192eac55 wireless/bcm43xxx: filter out the bssi with same ssid name
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 19:39:23 +08:00
chao.an
ba3e859aa5 wireless/bcm43xxx: allocate tx frame with nonblock mode
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 19:24:34 +08:00
chao.an
5ce7b35020 wireless/bcm43xxx: replace private queue implement to list_node
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 19:24:34 +08:00
chao.an
14f1519d1e wireless/bcm43xxx: discard auth event if netdev down
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 17:39:52 +08:00
chao.an
752e48eb34 wireless/bcm43xxx: remove flowctrl check
remove flowctrl check since credit is enough to check flow control status

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 17:34:56 +08:00
chao.an
fe2231989b wireless/bcm43xxx: mac address does not need to be updated in ifup
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 16:14:54 +08:00
chao.an
bd713d6431 wireless/bcm43xxx: country code should terminating with null
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 14:13:21 +08:00
curuvar
0c3db448bb Added Adafruit Feather RP2040, Adafruit KB2040 and Added neopixel driver to support RP2040 2022-06-30 22:13:49 -07:00
Fotis Panagiotopoulos
34e7ce5817 Reset syslog color before printing messages. 2022-06-30 09:44:41 +08:00
AuroraRAS
cd88ad3539 Make sensor mpu60x0 more configurable in menuconfig
Signed-off-by: AuroraRAS <chplee@gmail.com>
2022-06-30 09:43:29 +08:00
chao.an
bc6b3f34c8 wireless/bcm43xxx: enable tx flow control to improve performance
RX/TX shared free queue on bcmf implementation, if TX occupies the
free queue completely, RX will trigger read abort because it cannot
alloc buffer successfully from the shared free queue. This commit will
limit the sending entries of tx and prevent rx triggering abort

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-29 09:06:57 +03:00
chao.an
b5e9409880 Revert "wireless/bcm43xxx: remove unused tx_queue_count"
This reverts commit c3b84b9b3b.

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-29 09:06:57 +03:00
Adam Kaliszan
7e6d93da4d Support for 2.13 inch display v2 2022-06-28 23:41:11 +08:00
Adam Kaliszan
7df798991c Esp32 lilygo t5v2 fixed Data/Command line support. 2022-06-28 09:34:17 -03:00
zouboan
00e8e4fa28 boards/stm32f4discovery: add setup of pwm capture device
drivers/timers/capture.c: add support of pwm capture driver
2022-06-28 10:35:43 +08:00
zouboan
b41929522c drivers/timers/capture.c: add support of pwm capture driver 2022-06-28 10:35:43 +08:00
Nathan Hartman
6057960331 Fix mistakes in comments and docs
* drivers/wireless/bluetooth/bt_null.c: Fix misleading comment

* drivers/wireless/spirit/Kconfig: Fix incorrect word (absolution).

* drivers/wireless/spirit/drivers/Kconfig: Fix wrong name (TMicro->STMicro)

* drivers/wireless/spirit/drivers/spirit_netdev.c: Fix wrong word
  (verify->very).

* drivers/wireless/spirit/drivers/spirit_netdev.c: Fix double "the" and typo.

* include/nuttx/net/radiodev.h: Fix various typos and errors.
2022-06-27 11:30:53 +08:00
Yuichi Nakamura
f3dbc7bc63 drivers/lcd: getplaneinfo fix for ST7789,ST7565 and skeleton driver 2022-06-26 22:24:36 +03:00
chao.an
c3b84b9b3b wireless/bcm43xxx: remove unused tx_queue_count
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-26 16:06:20 +08:00
chao.an
43497df78b wireless/bcm43xxx: add dynamic kso control support
1. PMU control by KeepSdioOn(KSO) if firmware support save restore
2. Remove watchdog timer

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-25 19:52:13 +08:00
chao.an
2eb1124db5 wireless/bcm43xxx: correct the return value
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-25 16:45:34 +08:00
Gustavo Henrique Nihei
f2d1f25202 drivers/lcd: Fix regression on ILI9341 introduced after #6465
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-06-24 17:44:53 -03:00
chao.an
15864ff109 wireless/bcm43xxx: add get country code support
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-23 21:48:08 +08:00
Lingao Meng
77557d8d9f drivers: serial: Add error for insuff buffer
Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2022-06-23 16:50:45 +08:00
chao.an
442e75575e wireless/bcm43xxx: add set country code support
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-23 00:08:10 +08:00
Michael Jung
9140693567 Add lcd_dev_s pointer to lcd_planeinfo_s
In order to support multiple LCD instances per board, add a pointer from
lcd_planeinfo_s to the lcd_dev_s which it belongs to.  Also enhance the
putrun, getrun, putarea and getarea methods to pass through the
lcd_dev_s pointer to the respective device driver.

Port all LCD device drivers to this lcd_planeinfo_s extension.

Enhance SSD1306 driver to support multiple LCDs.

Signed-off-by: Michael Jung <michael.jung@secore.ly>
2022-06-21 21:33:23 +08:00
chao.an
04fcbb5cb8 wireless/bcm43xxx: add auto power saving support
switch firmware power mode between PM_MAX/PM_FAST

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-21 02:33:18 +08:00
chao.an
2772efc862 wireless/bcm43xxx: remove small chunks to improve clm download speed
Chunk length is fine as long as it does not exceed 1400

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-19 23:12:10 +08:00
chao.an
2e3ed3ae67 wireless/bcm43xxx: prefer HPWORK if bcmf task has higher priority than HPWORK
Use high priority queue if the bcmf daemon task has a higher priority
than HPWORK, which will bring better performance especially on devices
that focus on real-time of network.

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-19 23:11:52 +08:00
chao.an
47ebec34e3 wireless/bcm43xxx: merge frame send to once to improve the performance
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-19 20:59:50 +08:00
chao.an
fa6ea23101 wireless/bcm43xxx: enable power saving on netdev up/down
Move sdio/firmware de/initialize to ifup/down

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-19 19:08:00 +08:00
chao.an
0ec74ec6dd wireless/bcm43xxx: remove global variable for bcmf_sdio_thread
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-19 11:43:25 +08:00
chao.an
fbddae8813 wireless/bcm43xxx: add customized MAC address support
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-19 10:13:23 +08:00
chao.an
e498e5308a wireless/bcm43xxx: handle disassoc correctly
1. use WLC_DISASSOC to deal disconnect event
2. carrier net device status

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-18 19:43:13 +08:00
chao.an
e6a23e7b8a wireless/bcm43xxx: sort scan result by rssi
1. Replace SCAN_RESULT_SIZE to SCAN_RESULT_ENTRIES
2. filter scan result with better rssi
3. Sort scan result by rssi

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-18 19:42:30 +08:00
Xiang Xiao
0de089e2e8 wireless/bcm43xxx: Don't call bcmf_board_setup_oob_irq in bcmf_sdio_thread
since oob irq is already setup in bcmf_bus_setup_interrupts, it waste
time and energy to do the same thing repeatly in the work thread.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-17 20:12:41 +08:00
chao.an
2992b10fbb wireless/bcm43xxx: add more ioctl command support
Support command:
  SIOCGIWFREQ
  SIOCGIWMODE
  SIOCSIWAP
  SIOCGIWAP
  SIOCGIWESSID
  SIOCGIWRATE
  SIOCGIWTXPOW
  SIOCGIWSENS
  SIOCGIWRANGE

Before:                                    After:
 cp> wapi show wlan0                          cp> wapi show wlan0
 wlan0 Configuration:                         wlan0 Configuration:
        IP: 192.168.31.202                           IP: 192.168.31.202
   NetMask: 255.255.255.0                       NetMask: 255.255.255.0
 ioctl(SIOCGIWFREQ): 88                       Frequency: 5785
 ERROR: wapi_get_freq() failed: -88                Flag: WAPI_FREQ_AUTO
 ioctl(SIOCGIWESSID): 88                        Channel: 157
 ERROR: wapi_get_essid() failed: -88          Frequency: 5785
 ioctl(SIOCGIWMODE): 88                           ESSID: archer5
 ERROR: wapi_get_mode() failed: -88                Flag: WAPI_ESSID_ON
 ioctl(SIOCGIWAP): 88                              Mode: WAPI_MODE_MANAGED
 ERROR: wapi_get_ap() failed: -88                    AP: ec:41:18:e0:76:7f
 ioctl(SIOCGIWRATE): 88                         BitRate: 58500
 ERROR: wapi_get_bitrate() failed: -88             Flag: WAPI_BITRATE_FIXED
 ioctl(SIOCGIWTXPOW): 88                        TxPower: 31
 ERROR: wapi_get_txpower() failed: -88             Flag: WAPI_TXPOWER_DBM
 ioctl(SIOCGIWSENS): 25                           Sense: -17

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-17 18:27:12 +08:00
chao.an
9c68064024 wireless/bcm43xxx: add status print on bcmf_wl_auth_event_handler()
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-17 16:17:01 +08:00
Charles Cross
d12e2778a5 Adds device descriptor for the MB5RS2MTA 256KB FRAM part 2022-06-17 09:57:56 +08:00
Xiang Xiao
22548d71eb drivers/syslog: reuse rmutex_t for the recursive check
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-16 19:01:49 +03:00
Satoshi Togawa
a9ad1a336b usbhost_cdcacm: fix error with interrupt IN endpoint. 2022-06-16 19:01:17 +03:00
chao.an
e2c154dffe wireless/bcm43xxx: configurable buffer size of escan result
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-16 23:36:40 +08:00
chao.an
29dd12283c wireless/bcm43xxx: replace all busy delay to nxsig_usleep
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-16 23:02:09 +08:00
chao.an
591942f69b mmcsd/sdio: correct return value of sdio_probe()
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-16 22:48:21 +08:00
chao.an
b33a709213 wireless/bcm43xxx: improve throughput of net driver
1. Wake up tx if there is data alreay to sent after rx update
2. Try tx queue again after every data frame sent

iperf test:

```
TCP RX  4M->16M
⁣TCP TX  2M->14M
⁣UDP RX 18M->26M
UDP TX  2M->18M
```

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-16 21:08:28 +09:00
Xiang Xiao
f75f100954 bcm43xxx: Remove bcmf_txavail_work and resue bcmf_tx_poll_work
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-16 09:13:16 +03:00
chao.an
6d85e9b320 wireless/bcm43xx: replace sem_wait to uninterruptible version
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-16 02:44:47 +08:00
chao.an
0951d859d3 wireless/bcm43xxx: configurable schedule priority of daemon thread
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-16 01:41:50 +08:00
chao.an
4712307ecc wireless/bcm43xxx: fix typo sq_init() -> dq_init()
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-16 01:40:41 +08:00
chao.an
e75c88df5b wireless/bcm43xxx: load nvram from file system
added an option to load nvram from file system, which will help developers
easily to tuning the firmware parameters without compile firmware.

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-15 22:19:02 +08:00
chao.an
f6b8cc1407 wireless/bcm430xx: rename chip minor id to 'x'
rename 4301x chip minor id to 'x' to compatible more versions of variant of bcm430xx

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-15 02:01:37 +08:00
chao.an
4659e00fac wireless/bcm43xxx: add extended join parameters
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-15 00:56:31 +08:00
chao.an
28b46bd381 wirless/sdio: frame length should with guard bound
some SDIO device will return the larger frames out of bound

error log:
bcmf_sdpcm_readframe: Frame is too large, cancel 1544 1536
bcmf_sdpcm_readframe: Frame is too large, cancel 1544 1536
bcmf_sdpcm_readframe: Frame is too large, cancel 1544 1536

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-14 18:31:22 +03:00
Petro Karashchenko
e42e3aa642 drivers/syslog: fix deadlock by reverting part of the changes from b88a8cf39f
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-06-14 00:11:28 +08:00
chao.an
c7fd1a113f wireless/bcm43xxx: add support of bcm43013 chip
Reference:
https://www.broadcom.cn/bcm43013

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-13 21:03:05 +08:00
chao.an
7e1f906b74 drvers/mmcsd/sdio: function enable should wait for CCCR_IORDY
1. function enable should wait for CCCR_IORDY
2. enlarge wait timeout from 10ms to 1s

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-13 15:45:09 +03:00
zouboan
cb8c992914 drivers/sensors: add driver for as5048a magnetic encoder 2022-06-13 12:21:35 +03:00
Adam Kaliszan
88bfadc55d e-ink ssd1680 driver
No BSP files
2022-06-10 22:19:29 +08:00
Eero Nurkkala
9f9fb17d64 usbdev/Kconfig: allow CONFIG_USBMSC_IFNOBASE configuration
usbmsc.h uses the CONFIG_USBMSC_IFNOBASE configuration option,
but it cannot be set anywhere. Provide means to configure this
option which is useful when it's other than the default zero.

Signed-off-by: Eero Nurkkala <eero.nurkkala@offcode.fi>
2022-06-09 20:44:40 +08:00
Xiang Xiao
f1236da21c fs: Make the binary(no process) mode as the default
POSIX require file system shouldn't enable the \r and \n conversion by default
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-07 20:22:26 +03:00
Fotis Panagiotopoulos
73d5a27702 Fix in default syslog date format. 2022-06-05 22:23:32 +08:00
Fotis Panagiotopoulos
c0df7317ac Fix in syslog file separator. 2022-06-04 14:30:15 +08:00
Michael Jung
9be3848491 Add driver for WIZnet W5500 Ethernet controller
A device driver based on drivers/net/skeleton.c, which uses the W5500 in
MACRAW mode (i.e. bypassing the integrated protocol stack).

Signed-off-by: Michael Jung <michael.jung@secore.ly>
2022-06-03 13:01:23 +08:00
zhanghongyu
035d925864 devif: remove all devif_timer
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2022-06-02 20:11:50 -03:00
Alin Jerpelea
72f399e052 drivers: video: add isx019 camera sensor
The driver is provided by Spresense SDK

ISX019 has the DOL-HDR feature, which combines images with different exposure so that
both bright and dark data of high-contrast subject can be viewed at the same time.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2022-05-31 19:52:33 +08:00
SPRESENSE
247ad41bb2 drivers/video/isx012: Fix getting the iso sensitivity
Fix bug to get the value of iso sensitivity.
2022-05-30 20:38:47 +03:00
SPRESENSE
acde5fed49 drivers/video/isx012: Fix getting the value of auto exposure
Fix bug to get the current setting value at AE auto mode.
2022-05-30 20:38:47 +03:00
SPRESENSE
1613ded060 drivers/video/isx012: Add exclusive controls for I2C access
Add exclusive control to prevent from I2C write(for sending requst) and
I2C read(for receiving response).
2022-05-30 20:38:47 +03:00
SPRESENSE
bea6d3a7ef drivers/video: Fix bug that is_available() is false
is_available() may be false because chip id register does not
have unique value.
So, judge availability not by chip id but by i2c accessibility.
2022-05-30 20:38:47 +03:00
SPRESENSE
b296494fb8 drivers/video: Avoid additional overflow cases
Add clip size validation to avoid additional overflow.
2022-05-30 20:38:47 +03:00
SPRESENSE
1212d3b7d8 drivers/video: Fix multiplication overflow
Add cast to uint32_t type to avoid multiplication overflow.
2022-05-30 20:38:47 +03:00
SPRESENSE
c0ea6c5b49 drivers/video: Fix thumbnail size bug
Fix copy size to set thumbnail component, when thumbnail format is used
without clipping.
2022-05-30 20:38:47 +03:00
SPRESENSE
9c57850466 drivers/video: Support clip
Support clip by ioctl(VIDIOC_S_SELECTION) and ioctl(VIDIOC_G_SELECTION).
2022-05-30 20:38:47 +03:00
SPRESENSE
b45489753a drivers/video: Enable to select connected image sensor driver at runtime
Enable to select connected image sensor driver at runtime by adding is_available()
to image sensor I/F.
2022-05-30 20:38:47 +03:00
SPRESENSE
a25ac08774 boards: cxd56xx: Change pin initialization timing for camera
Change pin initialization timing for camera from board power on to camera device
power on for the following purposes.
- avoid unnecessary power consumption
- Make the corresponding pins available for other uses when camera is not in use
2022-05-30 20:38:47 +03:00
SPRESENSE
229c7d30b6 drivers/video: Support ioctl(VIDIOC_QUERYCAP)
Support ioctl(VIDIOC_QUERYCAP) to get driver's name.
2022-05-30 20:38:47 +03:00
anjiahao
b88a8cf39f use rmutex inside of all repeated implementation
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-05-30 19:43:48 +08:00
Xiang Xiao
7ec6b4c7dd Change dpends on SCHED_[L|H]PWORK to SCHED_WORKQUEUE
since the code could map the unsupported work to the
supported one and remove select SCHED_WORKQUEUE from
Kconfig since SCHED_[L|H]PWORK already do the selection

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-28 18:41:51 +03:00
klmchp
d9e95a8f9b fix devname array size
Fix drivers/mtd/smart.c devname overflow issue.
2022-05-26 10:00:14 -03:00
Cis van Mierlo
12469dd15e SSD1306: Added option to force reconfigure display after power off 2022-05-24 23:25:24 +08:00
Xiang Xiao
5b0b4bd586 sched/wdog: Change the return type of wd_gettime from int to sclock_t
to handle 64bits sclock_t correctly

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-19 23:21:54 +03:00
Xiang Xiao
6642741612 timers/watchdog: Ensure it's the idle domain before keepalive
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-17 22:57:52 +03:00
gaojiawei
335fc3dde2 syslog: Fixed a potential buffer overflow issue
The `CONFIG_SYSLOG_MAX_CHANNELS` is user-specified, however, if the user
defines more channels than what `CONFIG_SYSLOG_MAX_CHANNELS` was defined as,
a potential buffer overflow occurred. Although the compiler does warn us about
that, we should explicitly tell the user this is an error.

Signed-off-by: gaojiawei <gaojiawei@xiaomi.com>
2022-05-18 01:36:16 +08:00
Xiang Xiao
1fb8c13e5e Replace nxsem_timedwait_uninterruptible with nxsem_tickwait_uninterruptible
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-15 13:55:58 +03:00
Xiang Xiao
816ce73ab4 Replace nxsem_timedwait with nxsem_tickwait
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-15 13:55:58 +03:00
Xiang Xiao
22e4f1c59a sched: Remove start from nxsem_tickwait[_uninterruptible]
to simplify both caller and callee

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-15 13:55:58 +03:00
Petro Karashchenko
0fee5a2b84 nuttx: fix typos in comments
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-05-14 23:45:52 +08:00
Xiang Xiao
9072eecc30 sched/wqueue: Change the return type of work_notifier_teardown to void
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-14 00:35:29 +03:00
Xiang Xiao
323d8d9547 mmcsd: Add FAR to the pointer argument
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-13 15:41:27 +03:00
Xiang Xiao
679bc88cab drivers/sdio: Call SDIO_LOCK before and after the transaction
follow the same behaviour in drivers/mmcsd/mmcsd_sdio.c

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-13 15:41:27 +03:00
Cis van Mierlo
e2b0d7ef6e LCD: Added existing FBIO_SETPOWER support to lcd_framebuffer.c 2022-05-09 21:16:53 +08:00
Cis van Mierlo
a71f11d480 LCD SSD1306: Added custom configuration option 2022-05-09 21:16:22 +08:00
okayserh
2696aee11d Fixed the bug that prevented the code from working in uninitialized
state (wrong I2C write size). Some improvements of the code.
2022-05-09 10:34:29 +08:00
okayserh
476770e9fd Added functionality for Audio support with the STM32F746 Discoboard
In particular additions to wm8994.h and filled functionality into
wm8994.c.

Resolved a few more remarks from review.
2022-05-07 11:52:51 -03:00
Xiang Xiao
346c3a1e83 drivers/sensors: Fix incompatible pointer type for bool
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-05 16:23:32 -03:00
Xiang Xiao
0b84e07467 sensors/ak09912: Fix the style problem
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-03 16:50:52 +03:00
Takayoshi Koizumi
afc09fb442 drivers/audio/cxd56: Workaround for HW issue of CXD56
Because of HW issue, Audio output volume is limited until -30db as maximum.
This commit fix it. And fix the bug of voulme control.
2022-04-28 08:12:47 +09:00