Commit Graph

51146 Commits

Author SHA1 Message Date
Jukka Laitinen
c80b8fdf24 arch/risc-v/src/mpfs/mpfs_ddr.c: Add a simple prng for memory training code
Implement the previously empty mpfs_ddr_rand with adapted "seiran128" code
from https://github.com/andanteyk/prng-seiran

This implements a non-secure prng, which is minimal in size. The DDR training
doesn't need cryptographically secure prng, and linking in the NuttX crypto
would increase the code size significantly for bootloaders.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2023-08-30 12:28:21 +03:00
Jukka Laitinen
f9b5918462 arch/risc-v/src/mpfs/mpfs_ddr.c: Make sure that DDRC is in reset when starting the training
Also move the DDRC clock enablement and reset to mpfs_init_ddr. This doesn't
change the functionality, but is the cleaner place for it.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2023-08-30 12:28:21 +03:00
Jukka Laitinen
6baeb7217e arch/risc-v/src/mpfs/mpfs_ddr.c: Correct memory test timeouts
Especially the write calibration must bail out if the memory test timeouts,
otherwise the device will get stuck in running the memory test in sequence,
and it will always timeout.

Negative error value was also not properly returned from mpfs_mtc_test.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2023-08-30 12:28:21 +03:00
Jukka Laitinen
d38eebc0e9 arch/risc-v/src/mpfs/mpfs_ddr.c: Don't auto-determine the write latency
It doesn't make sense to try to auto-determine write latency, it may pass with too low value.

Keep the existing implementation if the write latency has been set to minimum
value, otherwise just set it.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2023-08-30 12:28:21 +03:00
Jukka Laitinen
8fb2e41994 arch/risc-v/src/mpfs/mpfs_ddr.c: Correct the DDR training dq/dqs status check
It was checking a wrong register for dq/dqs window size.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2023-08-30 12:28:21 +03:00
chao an
3cbf13dd1d net/can: correct the return value if unsupported socket type
Signed-off-by: chao an <anchao@xiaomi.com>
2023-08-30 12:27:41 +03:00
chao an
664927c86e mm/alloc: remove all unnecessary cast for alloc
Fix the minor style issue and remove unnecessary cast

Signed-off-by: chao an <anchao@xiaomi.com>
2023-08-30 14:34:20 +08:00
Eero Nurkkala
db13d5e24c drivers/mmcsd: fix regression causing emmcsd not working
Commit 50a8ec6 broke many mmc devices.  Only if the flag
priv->caps & SDIO_CAPS_4BIT_ONLY was set, it migth work.
Without the flag, the mmc clock is never set (mmcsd_widebus()
call is terminated early stopping the clock).  This flag
is probably not very generic because most mmc hw support
1, 4 and 8 bit modes.

JEDEC specifies a bus width selection procedure, but it's
not implemented in this mmcsd_sdio.c driver.  Thus, it's
not known whether the hw supports 1, 4 anf 8 bit modes or
a combination of them.

However, with priv->caps & SDIO_CAPS_4BIT_ONLY the driver
suddenly assigns priv->buswidth = MMCSD_SCR_BUSWIDTH_4BIT
making it the only way to have the driver working.

Fix this by relaxing the above mentioned restrictions.

Signed-off-by: Eero Nurkkala <eero.nurkkala@offcode.fi>
2023-08-30 14:33:32 +08:00
dongjiuzhu1
c983aee38a driver/serial: fix race condition about calling rxflowcontrol in mutli thread
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2023-08-30 14:33:00 +08:00
dongjiuzhu1
ec4f6ecce2 driver/serial: fix error echo about VT100 escape sequence
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2023-08-30 14:26:11 +08:00
yangdongdong
1956385a7d libs/libc: Breakdown LIBC_BUILD_STRING into specific string operations macro.
Provide a way to only customize specific string operations,
such as for memcpy with the DMA capability by ROM.

Signed-off-by: yangdongdong <yangdongdong@xiaomi.com>
2023-08-29 22:55:18 +08:00
cuiziwei
4ec7af779d nuttx/boards:init_array.* needs to be executed in order
When I try to set priorities in certain programs, such as init_priority(HIGH_PRIORITY), I've noticed that during linking, there's no guarantee that the programs will be compiled in the sequence I've specified based on priority. This has led to some runtime errors in my program.

I realized that in the ld file, when initializing dynamic arrays, there's no assurance of initializing init_array.* before init_array. This has resulted in runtime errors in the program. Consequently, I've rearranged the init_array.* in the ld file of NuttX to be placed before init_array and added a SORT operation to init_array.* to ensure accurate initialization based on priorities during linking.
2023-08-29 22:54:37 +08:00
cuiziwei
e44f69921d nuttx/boards:Replace /r/n with /n 2023-08-29 22:54:37 +08:00
Petro Karashchenko
03614d60ee tools/ci: ensure removing python and openssl related commands
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-08-29 22:19:59 +08:00
Michal Lenc
f9d4a47889 pcf8575: fix compilation warnings
Just few compile warning fixes in case CONFIG_IOEXPANDER_MULTIPIN is
selected.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-08-29 20:34:12 +08:00
chao an
6340154f97 net/socket/bind: make sure that an address was provided
1. make sure that an address was provided on bind() call
2. correct the return value if bad socket handler

Signed-off-by: chao an <anchao@xiaomi.com>
2023-08-29 19:42:36 +08:00
Michal Lenc
b005f844f5 ioexpander: add support for ISO1I813T expander
This commit adds basic support for electrically isolated 8 bit expander.
The expander communicates with the MCU via SPI interface. Both single
and multiple pin read are supported.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-08-29 17:35:59 +08:00
dulibo1
ea7f6c5b07 battery:add FAR for battery_gauge_operations_s
Signed-off-by: dulibo1 <dulibo1@xiaomi.com>
2023-08-29 17:35:29 +08:00
Philippe Leduc
5dbffd01b2 Export build variables to a CMake file so that it can be imported in a generic CMake toolchain file
Add a toolchain file for CMake that can be used in the exported NuttX archive.
2023-08-29 17:35:13 +08:00
chao an
b60f01a55b inode/i_private: remove all unnecessary cast for i_private
Signed-off-by: chao an <anchao@xiaomi.com>
2023-08-29 08:58:07 +02:00
SPRESENSE
f556cb106a drivers/video: Fix an issue isx019 may freeze
isx019 driver freezes by I2C access in the interrupt context.
This I2C access is intended to stop data output from FPGA.
Delete this I2C access for the following reasons.
- Data output from FPGA does not affect power consumption
- There are no problems in capture restart without data output stop
  since restart is done by image data block first.
2023-08-29 13:37:01 +08:00
chenxiaoyi
cc690f1d21 move task tls destruct to before _exit
Signed-off-by: chenxiaoyi <chenxiaoyi@xiaomi.com>
2023-08-29 12:05:57 +08:00
anjiahao
48c153db25 vfs:add nxsched_foreach to sched_lock avoid crash
If scheduling occurs in file_fsync,
fl_lock may be released, and an error may
occur when calling nxmutex_unlock

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-08-29 10:36:21 +08:00
Michal Lenc
fa63ef69c9 ioexpander: add support for ISO1H812G expander
This commit adds support for galvanic isolated ISO1H812G SPI expander.
Both single pin and multiple pin writes are supported.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-08-29 10:31:40 +08:00
xuxin19
94e6cfb662 cmake:fix invalid configs when export defconfig and .config
when func `nuttx_export_kconfig` is called for the second time,
the expired configuration will be retained causing compilation failure

Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2023-08-29 09:51:20 +08:00
yinshengkai
221ae1f1d1 drivers/note: Add support for atrace mark/counter type
Use sched_note_mark to view event markers/counter in perfetto

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-08-29 09:48:15 +08:00
chao an
7aa45305b7 fs/inode: remove all unnecessary check for filep/inode
Since VFS layer already contains sanity checks, so remove unnecessary lower half checks

Signed-off-by: chao an <anchao@xiaomi.com>
2023-08-29 09:47:11 +08:00
chao an
baabf4bbf3 net/local: fix visual studio Compiler Error C2057
expected constant expression
The context requires a constant expression, an expression whose value is known at compile time.
The compiler must know the size of a type at compile time in order to allocate space for an instance of that type.

Reference:
https://learn.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/compiler-error-c2057?view=msvc-170
Signed-off-by: chao an <anchao@xiaomi.com>
2023-08-29 09:45:44 +08:00
wangyingdong
0a567c3c29 change the default NETDB_DNSCLIENT_MAXRESPONSE to the standard length
the size of the dns response buffer
https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-respsize-12

Signed-off-by: wangyingdong <wangyingdong@xiaomi.com>
2023-08-29 09:44:37 +08:00
fangxinyong
946ede865d signal: add siginterrupt implementation
https://pubs.opengroup.org/onlinepubs/9699919799/functions/siginterrupt.html

Signed-off-by: fangxinyong <fangxinyong@xiaomi.com>
2023-08-29 09:43:42 +08:00
fangxinyong
006b86f47c signal: add more value defines of the siginfo si_code field
The <signal.h> header shall define the symbolic constants of signal
codes why the signal was generated.
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html

Signed-off-by: fangxinyong <fangxinyong@xiaomi.com>
2023-08-29 03:06:45 +08:00
dulibo1
e508e5c313 regulator: regulator_get input param add FAR
Signed-off-by: dulibo1 <dulibo1@xiaomi.com>
2023-08-29 02:59:59 +08:00
dulibo1
127bd81674 regulator:check id conflict when register
Signed-off-by: dulibo1 <dulibo1@xiaomi.com>
2023-08-29 02:59:59 +08:00
SPRESENSE
57d9083844 assert: Fix the printing alignment of interrupt stack during assert
Fix the printing alignment of interrupt stack during assert.
2023-08-29 02:59:38 +08:00
Alan Carvalho de Assis
610a06cf7c stm32f7/stm32f769i-disco: Add common board support 2023-08-28 21:03:19 +03:00
Alan Carvalho de Assis
51983159af stm32f7/stm32f746-ws: Add common board support 2023-08-28 21:03:19 +03:00
Alan Carvalho de Assis
04286eb191 stm32f7/stm32f746g-disco: Add common board support 2023-08-28 21:03:19 +03:00
Alan Carvalho de Assis
4dcceb00cb stm32f7/steval-eth001v1: Add common board support 2023-08-28 21:03:19 +03:00
Alan Carvalho de Assis
0aeb17b973 stm32f7/nucleo-144: Add common board support 2023-08-28 21:03:19 +03:00
Alan Carvalho de Assis
7f62e315c6 bh1750fvi: Fix compilation error
Error: sensors/bh1750fvi.c:73:16: error: unused function 'bh1750fvi_open' [-Werror,-Wunused-function]
static int     bh1750fvi_open(FAR struct file *filep);
               ^
Error: sensors/bh1750fvi.c:74:16: error: unused function 'bh1750fvi_close' [-Werror,-Wunused-function]
static int     bh1750fvi_close(FAR struct file *filep);
2023-08-28 21:03:19 +03:00
Alan Carvalho de Assis
b41f526fa6 stm32f7: Add support to ProjectLab base board 2023-08-28 21:03:19 +03:00
Alan Carvalho de Assis
69a0c28557 stm32f777zit6-meadow: Fix I2C1 pinout 2023-08-28 21:03:19 +03:00
Alan Carvalho de Assis
3d45cf8bfc stm32f7/common: Add support to BMI270 sensor 2023-08-28 21:03:19 +03:00
Alan Carvalho de Assis
e40fae408c stm32f7/common: Add light sensor BH1750 2023-08-28 21:03:19 +03:00
Alan Carvalho de Assis
fd10727f13 stm32f777zit6-meadow: Modify to support common board drivers 2023-08-28 21:03:19 +03:00
Alan Carvalho de Assis
0e914506da boards/stm32f7: Add Common Board Drivers support 2023-08-28 21:03:19 +03:00
yinshengkai
02d0762c6e driver/note: fix trace dump: dump failed
Exceeding the length limit may cause an error when using sched_note_printf

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-08-29 00:09:10 +08:00
Michal Lenc
03e5c0217b samv7: allow usage of QSPI in SPI mode for all MCUs
Current implementation of QSPI in SPI mode was available only for MCUs
that do not have standard SPI at all. MCUs with both QSPI and SPI can
however also use QSPI in SPI mode and thus have one more SPI bus. This
commit adds required defines and config options to support QSPI in SPI
mode for all SAMv7 MCUs.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-08-28 17:39:51 +03:00
chao an
518dcbdaad sim/internal: add typedef pid_t to enhance sim compatibility
enhance sim compatibility on windows

Signed-off-by: chao an <anchao@xiaomi.com>
2023-08-28 17:12:45 +03:00
chao an
3a9088c144 libs/alloca: add alloca implement for MSVC
Reference:
https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/alloca?view=msvc-170

Signed-off-by: chao an <anchao@xiaomi.com>
2023-08-28 11:10:08 -03:00