If CONFIG_MMCSD_SDIOWAIT_WRCOMPLETE is defined, the coremmc driver
uses SD card's dat0 line to detect whether the sd card is still busy.
This requires that the FPGA design using coremmc block wires dat0 line
to some fabric irq; and configures CONFIG_MPFS_COREMMC_WRCOMPLETE_IRQNUM
to point to that. Default for the irq number is 4. (MSS_INT_F2M_4)
Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
We should not modify the input actions, casing when kernel build,
userspace call posix_spawn touch kernel address.
Signed-off-by: buxiasen <buxiasen@xiaomi.com>
This adds minimal support for NXP MCX-N236 CPU. Peripherals supported are:
- GPIO
- PINMUX
- CLOCK
- LPUART
An example board, FRDM-MCXN236 is also added, with a basic profile that
boots into nsh.
Signed-off-by: Ville Juven <ville.juven@unikie.com>
Update the handling of tcp packets over sixlowpan. `tcp_ipv6_input()`
can update the dev->d_iob. Assigning ipv6 to IPv6BUF makes sure that
the correct buffer is used.
Signed-off-by: Laczen JMS <laczenjms@gmail.com>
After https://github.com/apache/nuttx-apps/pull/2982, there is no
need to mount the modules and manually set the required environment
variables: they are all set by the new Python wrapper application.
Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
CXX: libcxx/libcxx/src/random.cpp In file included from nuttx/include/libcxx/__filesystem/filesystem_error.h:15,
from nuttx/include/libcxx/__filesystem/directory_entry.h:20,
from nuttx/include/libcxx/filesystem:539,
from nuttx/include/libcxx/fstream:192,
from libcxx/libcxx/src/ios.instantiations.cpp:10:
nuttx/include/libcxx/__filesystem/path.h: In instantiation of 'std::__1::__fs::filesystem::path::_EnableIfPathable<_Source> std::__1::__fs::filesystem::path::append(const _Source&) [with _Source = std::__1::basic_string<char>]':
nuttx/include/libcxx/__filesystem/path.h:623:30: error: use of built-in trait '__remove_pointer(typename std::__1::decay<_Tp>::type)' in function signature; use library traits instead
623 | _EnableIfPathable<_Source> append(const _Source& __src) {
| ^~~~~~
Pick the change from llvm-project:
https://github.com/llvm/llvm-project/pull/92663
Signed-off-by: chao an <anchao.archer@bytedance.com>
From Polarfire SoC TRM:
6.5.8 Interrupt Completion
To signal the completion of executing an interrupt handler, the processor core writes the received interrupt ID to the
Claim/Complete register. The PLIC does not check whether the completion ID is the same as the last claim ID for that
target. If the completion ID does not match an interrupt source that is currently enabled for the target, the completion
is ignored.
The last paragraph clearly states that IRQ completion does not work for
sources that have been disabled -> must ACK the completion before disable.
Signed-off-by: Ville Juven <ville.juven@unikie.com>
This is required to meet the communication requirements as per the
LSM6DSO32 datasheet. It doesn't cause issues on some MCUs (RP2040), but
prevents successful reads on others (STM32).
Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
If SPI dependency is not set, the following warning will be generated during compilation:
[109/1450] Building C object drivers/CMakeFiles/drivers.dir/rpmsg/rpmsg_port_spi.c.o
/data/code/nuttxspace/nuttx/drivers/rpmsg/rpmsg_port_spi.c: In function ‘rpmsg_port_spi_exchange’:
/data/code/nuttxspace/nuttx/drivers/rpmsg/rpmsg_port_spi.c:233:3: warning: implicit declaration of function ‘SPI_EXCHANGE’ [-Wimplicit-function-declaration]
233 | SPI_EXCHANGE(rpspi->spi, txhdr, rpspi->rxhdr,
| ^~~~~~~~~~~~
[1450/1450] Pac SIM with dynamic libs in nuttx.tgz
Signed-off-by: lijing.ly <lijing.ly@bytedance.com>
This commit allows placing .bss data into the external PSRAM.
Previously, the PSRAM was fully allocated to the heap memory only
and now part of it can be used to allocate .bss data freeing the
internal memory.
Based on configuration of usb_device.
Quick start:
./tools/configure.sh -l esp32s3-devkit:fastboot
make flash -j ESPTOOL_PORT=/dev/ttyACMx
(Optional) You can get full defconfig by executing following commands after SAVING your stages if necessary:
./tools/configure.sh -l esp32s3-devkit:fastboot
make savedefconfig
cat defconfig
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
on ESP32, cpuint was allocated when register wdt handler, but not
deallocated when unregister, which cause debug assert when checking
`DEBUGASSERT((*freeints & bitmask) == 0)`, so set cpuint to initial value
after deallocate.
The same issue on ESP32s3 has been fixed by PR#15433
The NuttX GDB python plugin has been moved to tools/pynuttx/nxgdb.
Update all documentation including this path.
Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
1. Add method to check if an object has specified field.
2. Fix Array iterator that walrus expression should store result of the
function, instead of the compare result.
Note that walrus operation has lowest priority except ','.
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
Update the wireless symbols from ESP32S3_* to ESPRESSIF_* for using common layer.
Remove ESP32S3 specific WiFi files and edit build system to use common layer.
boards/nucleo-f302r8/cansock: enable SocketCAN utils, so user can easly use CAN tools.
This board has only 64KB of FLASH which requires some additional optimization to fit CAN tools on it.
Signed-off-by: raiden00pl <raiden00@railab.me>
This adds initial bootable PROTECTED mode config `qemu-armv7r:pnsh`,
more tests are still needed. Flat mode config qemu-armv7r:nsh still
works.
- The nuttx.ld is for building nuttx ELF
- The nuttx_user.ld is for building nuttx_user ELF
They both include the memory.ld with preprocessing.
To run, use the QEMU mentioned in PR:
```sh
$ qemu-system-arm -M virt -semihosting -nographic -cpu cortex-r5f \
-device loader,file=nuttx_user -device loader,file=nuttx
```
Signed-off-by: Yanfeng Liu <p-liuyanfeng9@xiaomi.com>
This aligns linker script file name with built program name so that
nuttx.ld helps to build nuttx ELF
Signed-off-by: Yanfeng Liu <p-liuyanfeng9@xiaomi.com>
Spliting `THERMAL_NORMAL` to `THERMAL_ACTIVE` and `THERMAL_PASSIVE`,
to support different update intervals for thermal zone.
Active/Passive from [kernel.org](https://www.kernel.org/doc/Documentation/devicetree/bindings/thermal/thermal.txt):
* Cooling device nodes
Cooling devices are nodes providing control on power dissipation. There
are essentially two ways to provide control on power dissipation. First
is by means of regulating device performance, which is known as passive
cooling. A typical passive cooling is a CPU that has dynamic voltage and
frequency scaling (DVFS), and uses lower frequencies as cooling states.
Second is by means of activating devices in order to remove
the dissipated heat, which is known as active cooling, e.g. regulating
fan speeds. In both cases, cooling devices shall have a way to determine
the state of cooling in which the device is.
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>