Fix MAC address byte order by reversing 6 bytes after reading
from eFuse. Adjust offset logic to apply after byte reversal,
ensuring Ethernet MAC is base_mac +3. Comply with Espressif's
MAC address generation specification for ESP32S3
Signed-off-by: nuttxs <zhaoqing.zhang@sony.com>
This commit adds support for the Espressif's RISC-V-based ESP32-P4
chip along with its ESP32-P4-Function-EV-Board board.
Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
Increase the INIT_STACKSIZE from 2048 to 4096 (nsh and netnsh).
Increase the SYSTEM_TELNETD_SESSION_STACKSIZE from 2048 to 4096 (netnsh).
The stack sizes are increased in order to prevent stack overflows that
were encountered in some scenarios with these defconfigs.
Signed-off-by: Michal Matias <mich4l.matias@gmail.com>
A previous commit (d2c85a9fa0)
introduced an incomplete change to upstream regarding GPIO IRQ
selection on ESP32, ESP32-S2 and ESP32-S3. NuttX's upstream CI did
not get the error because of the rules that trigger specific
pipelines based on the modified files. In this case, the xtensa
jobs did not run to properly evaluate this issue.
Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
This commit updates the common-source integration for RISC-V-based
Espressif devices (ESP32-C3, ESP32-C6, and ESP32-H2). This is part of a
larger common-source update split by architecture for better maintainability
of the already-supported devices and upcoming devices.
Major components updated:
- IRQ allocator refactoring with intr_alloc integration
- Common-source drivers (GPIO, RMT, I2C, SPI, UART, etc.)
- Espressif components upgrade to release/master.b
- Peripheral drivers (ADC, PWM, LEDC, MCPWM, PCNT, Temperature Sensor, etc.)
- Wireless adapters (Wi-Fi and BLE)
- Board defconfigs for all RISC-V Espressif boards
- Critical section handling improvements
Key architectural changes:
- IRQ Allocator: The new interrupt allocator enables multiple mapping
options from interrupt sources to CPU interrupts, providing flexibility
required by modern peripherals. Although this introduces breaking changes
to the interrupt handling API, the required ARCH_MINIMAL_VECTORTABLE
Kconfig option is explicitly checked during startup to ensure proper
configuration. This validation prevents runtime issues from configuration
mismatches.
Note: This is a large commit to maintain bisectability. Breaking the
changes into smaller commits would result in non-building intermediate
states across the common-source infrastructure update.
Tested configurations:
- All defconfigs were built and tested, inclusing `ostest`.
Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
To be merged with RISC-V implementation
Enable NTFC for qemu-armv8a (arm64).
QEMU for aarch64 architecture should be already on Docker image,
so it should work.
Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
Don't export pytest.debug.log in CI artifacts.
In case of an exception returned by ntfc, this file may
not be present. A future version of ntfc will place this
file in the "results" dir, so it will be exported anyway.
Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
Add board support for the NXP i.MX93 QSB targeting the Cortex-M33
core. Three configurations are provided:
- nsh: run from ITCM (128 kB), LPUART2 console
- nsh-ddr: run from DDR, LPUART2 console
- rpmsg: run from ITCM, RPMsg/OpenAMP transport, NSH on
/dev/tty-nsh via RPMSG_UART_RAW
Linker scripts:
- itcm.ld: vectors + text in ITCM, data in DTCM
- ddr.ld: vectors + text + data in DDR (0x89000000, 16 MB)
Tool to enable local debug interface through USB.
Signed-off-by: Maarten Zanders <maarten@zanders.be>
This board does not have a calibrated LOOPSPERMSEC value despite needing
one in order for correct operation. This commits sets the value to 0 so
that CI builds may pass, but users who build this board will see a
warning indicate the steps for calibrating a new value.
Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
This board does not have a calibrated LOOPSPERMSEC value despite needing
one in order for correct operation. This commits sets the value to 0 so
that CI builds may pass, but users who build this board will see a
warning indicate the steps for calibrating a new value.
Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
This board does not have a calibrated LOOPSPERMSEC value despite needing
one in order for correct operation. This commits sets the value to 0 so
that CI builds may pass, but users who build this board will see a
warning indicate the steps for calibrating a new value.
Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
This board does not have a calibrated LOOPSPERMSEC value despite needing
one in order for correct operation. This commits sets the value to 0 so
that CI builds may pass, but users who build this board will see a
warning indicate the steps for calibrating a new value.
Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
This board does not have a calibrated LOOPSPERMSEC value despite needing
one in order for correct operation. This commits sets the value to 0 so
that CI builds may pass, but users who build this board will see a
warning indicate the steps for calibrating a new value.
Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
This patch adds support for the user button on nuclo-h743zi2 board
(and nucleo-h753zi2 which is also a MB1364 board design) and enables
button support and example in nucleo-h743zi2:jumbo configuration selector.
Signed-off-by: Peter Barada <peter.barada@gmail.com>
Aligns `CONFIG_INTERPRETER_*` options to `CONFIG_INTERPRETERS_*` to be
consistent with other interpreters.
Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
Aligns `CONFIG_INTERPRETER_*` options to `CONFIG_INTERPRETERS_*` to be
consistent with other interpreters.
Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
Aligns `CONFIG_INTERPRETER_*` options to `CONFIG_INTERPRETERS_*` to be
consistent with other interpreters.
Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
- Change the board's sd-card speed configuration to just specify the wanted frequency
- Calculate the proper divisors in the driver
- If the sd card frequency exceeds 25 MHz, set the card to high-speed mode
This makes it easier to adjust the operating speed of the sd cards and fixes an error
where cards are being operated in standard mode at over 25MHz speeds. If the speed
is higher than 25MHz, the card needs to be set into high-speed mode.
Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
Intermediate files of make depend like .ddc and .dds may remain
when make is interrupted. Remove them using make distclean.
Signed-off-by: SPRESENSE <41312067+SPRESENSE@users.noreply.github.com>
Add a generic kmatrix lower-half with polling/debounce, STM32 board adapters, Kconfig options, a public API header, and a test example/documentation.
Signed-off-by: Felipe Moura <moura.fmo@gmail.com>
decouple kbd / keypad.
Fix some comments
add documentation
fix rule issues
Update CMakeLists.txt
update documentation.
improve documentation
- Add support for the MR-NAVQ95 which is an open-source development
board designed for mobile robotics applications.
- Utilizes the NXP i.MX95 processor M7 core
- Configurations:
'nsh' A minimal configuration that only enables nsh shell
on a UART
'rpmsg' This configuration is similar to nsh but in addition
it offers the Remote Processing Messaging (RPMsg) service to
enable heterogeneous inter-core communication.
Signed-off-by: Andre Heinemans <andre.heinemans@nxp.com>
Enabling MPU will fix imx95-evk:rpmsg by making rsc-table and vrings
regions non-cachable. Since the rewrite of RpMsg these regions are not
invalidated anymore.
Signed-off-by: Andre Heinemans <andre.heinemans@nxp.com>
With CONFIG_PAGING enabled and the RISC-V SV39 MMU active, the page fault
handler incorrectly tracked page table levels: `ptprev` pointed to the L1
page table while `ptlevel` indicated L2. This inconsistency caused faulty
virtual address resolution.
This commit fixes the traversal logic to ensure consistent level tracking
across all three page table levels (L1–L3), enabling reliable page fault
handling and on-demand paging.
Additional changes:
- Set PGT_L3_SIZE to 2048 to enable mapping up to 8MB of address space.
- Update knsh_paging config to avoid crashes caused by excessive memory
alignment requirements.
- Add knsh64_paging config to verify this commit works as expected.
Signed-off-by: liang.huang <liang.huang@houmo.ai>