Seems like some boards have an LED that is mounted but not connected to
the gpio by default and needs a jumper or solder bridge to work, and in
that case the led0 node is defined with status = "disabled".
Rework the led_dt_spec led0 initialization to handle that and just build
with no led support.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
The STM32H56XXX family is available in 1 and 2 MB versions,
where
STM32H563 V I XXX
| | |
| | +- I: 2 MB flash
| | +- G: 1 MB flash
| |
| +- Pin count
|
+-- H562: without Ethernet
+-- H563: with Ethernet
All four options are available, but currently we only have
device trees for two of them.
Introduce two new device tree includes for the other
two combinations:
- stm32h562Xi.dtsi
- stm32h563Xg.dtsi
Signed-off-by: Stefan Gloor <stefan.gloor@siemens.com>
Prevent a possible NULL pointer dereference in
hostapd_ap_reg_domain() when get_hostapd_handle() returns NULL.
Previously, the function continued execution after detecting a NULL
interface pointer, which could lead to dereferencing iface->state.
Return early via a common exit path when errors are detected to
ensure safe execution.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Pick a specific platform for the NXP S32 CANXL specific test configuration
instead of relying on build-time filtering on all twister invocations.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
This commit fixes the inconsistent type usage. Functions which
initialised i2c registers as uint16_t, changed to uint32_t to
match with register definition struct.
Signed-off-by: Sunil Hegde <s-hegde3@ti.com>
The driver used a decrement loop to check for time out during message
transfer, which was not sufficient. The newer implementation uses a
fixed time of 1000ms for timeout to be consistent with the Linux
kernel.
Signed-off-by: Sunil Hegde <s-hegde3@ti.com>
The driver was not correctly extracting FIFO byte counts
from the BUFSTAT register, causing multi-byte I2C transfers
to fail.
The BUFSTAT register layout is:
- Bits [13:8]: RX FIFO byte count
- Bits [5:0]: TX FIFO byte count
Also, the driver didnot update the remaining bytes after
each transfer which is fixed by decrementing the remaining
message length after each transfer.
This fix aligns the driver implementation with Linux.
Signed-off-by: Sunil Hegde <s-hegde3@ti.com>
Add a new external module page for libcsp (CubeSat Space Protocol). The
page introduces libcsp and documents how to pull it in via west along with
the required Kconfig setting for Zephyr.
Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
Add support for secure TISCI communication paths to enable
message exchange with secure contexts on TI SoCs.
- Add secure header wrapping for outbound messages on secure path
- Add secure header parsing for inbound messages on secure path
Signed-off-by: Dave Joseph <d-joseph@ti.com>
- Add ti,is-secure device tree property to indicate secure host entities
- Add is_secure field in device config
Signed-off-by: Dave Joseph <d-joseph@ti.com>
- Add missing TISCI message type macros in tisci.h
- Clean macro organisation
- Add Secure indicator for message that require secure thread
Signed-off-by: Dave Joseph <d-joseph@ti.com>
HL7800 only supports restoring 1 socket on boot. This means,
only the first socket created can be restored.
This isn't very useful, so never restore sockets on boot.
The driver already handles recreating sockets when
low power modes are used.
Signed-off-by: Ryan Erickson <ryan.erickson@ezurio.com>
iface_status_work_cb() calls notify_all_tcp_sockets_closed() while
holding hl7800_lock(). The close-all path can re-enter hl7800 via
socket callbacks, causing a lock inversion deadlock.
Signed-off-by: Scott Coleman - wsl <scott@sjcdev.com>
TCP connect refused triggers +K**P_NOTIF ,5.
The current handler falls through to default, marks network_dropped,
and later closes all sockets, taking down unrelated
connections (e.g., MQTT).
Signed-off-by: Scott Coleman - wsl <scott@sjcdev.com>
Due to hardware limitations on STM32F7X series and tand the design of
the drivers.watchdog.stm32wwdg test scenario (which does not allow adding
a board-specific overlay with the appropriate clock configuration
for 200 ms), the window watchdog timeout is decreased from 200 ms
to 170 ms.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
The watchdog basic test was unreliable due to:
- noinit variables being placed in DTCM, which is unsuitable
for this use on all STM32 platforms.
- Data cache preventing last writes from being committed to SRAM
before reset on STM32H7
Also, update the stm32wwdg_h7 scenario to disable cache during CI
testing.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
The WWDG timeout check used a signed comparison between the requested
and computed timeout, causing valid configurations to be rejected when
the computed timeout was slightly lower than the requested one.
Replace the comparison by an absolute‑difference check so that the
configured timeout is accepted as long as it stays within the allowed
error margin.
This fixes spurious -EINVAL returned by install_timeout() on STM32.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Update the AMP serial port usability description.
Rephrase the note about the snippets usability condition.
Signed-off-by: Marek Matej <marek.matej@espressif.com>
The MCUboot test harness regex was hardcoded to match the
"I:" log prefix. Remove the wildcards pattern to match
regardless of the log level prefix format.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
System-wise objdump can select different target for the same zephyr.elf
file depending on e.g. operation system, which can lead to discrepancies
and error in zaru.py script.
Using elftools fixes this problem.
Signed-off-by: Eryk Szpotanski <eszpotanski@antmicro.com>
Adds the pinctrl node and encapsulates the port nodes within
the pinctrl node for pic32cm pl series of socs, and updates
the binding file
Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
Commit 7449b51688 introduced a new
"Status" field for indicatting whether a board is actively maintained or
not but the field was added as an abbr node directly to the field list
which causes it to render with an ever so slightly larger font size than
the other fields. Put it into a paragraph to fix this.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
CI reported failures when running this test. However, this seems to be a
QEMU issue rather than an actual kernel bug: according to reports, the test
runs fine when using the ARM FVPs (Fixed Virtual Platform) instead of QEMU.
Temporarily exclude the platform from CI while the issue is diagnosed.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Use z_abort_thread_timeout() instead of the lower-level z_abort_timeout().
The thread-flavoured version also has a stub fallback when
CONFIG_SYS_CLOCK_EXISTS=n removing the need for preprocessor checks.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
When CONFIG_WAITQ_SCALABLE=y, wake up all threads from a post-waitq-walk
callback which is invoked while the scheduler spinlock is still held. This
solves the race condition that was worked around via `no_wake_in_timeout`
flag in k_thread and `is_timeout` parameter of z_sched_wake_thread_locked()
which can now both be dropped.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Modify z_sched_waitq_walk() to accept an optional callback invoked after
the walk while still holding the scheduler spinlock. This can be used to
perform post-walk operations "atomically". Update all callers to work with
this new function signature.
While at it, create dedicated (private) typedefs for the callbacks and
clean up/improve the routine and callbacks' documentation.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
When CONFIG_WAITQ_SCALABLE=n, the callback invoked by z_sched_waitq_walk()
is allowed to remove the thread provided as argument from the wait queue
(an operation implicitly performed when waking up a thread).
Use this to our advantage when waking threads pending on a k_event by
waking threads as part of the waitq walk callback instead of building
a list of threads to wake and performing the wake outside the callback.
When CONFIG_WAITQ_SCALABLE=n, this allows removing a pointer-sized field
from the thread structure which reduces the overhead of CONFIG_EVENTS=y.
The old implementation (build list in callback and wake outside callback)
is retained and used when CONFIG_WAITQ_SCALABLE=y since we can't modify
the wait queue as part of the walk callback in this situation. This is now
documented above the corresponding field in k_thread structure.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
z_sched_waitq_walk() used _WAIT_Q_FOR_EACH, a wrapper around the
"unsafe" SYS_DLIST_FOR_EACH_CONTAINER which does not allow detaching
elements from the list during the walk. As a result, attempting to
detach threads from the wait queue as part of the callback provided
to z_sched_waitq_walk() would result in breakage.
Introduce new _WAIT_Q_FOR_EACH_SAFE macro as wrapper around the "safe"
SYS_DLIST_FOR_EACH_CONTAINER_SAFE which allows detaching nodes from
the list during the walk, and use it inside z_sched_waitq_walk().
While at it:
- add documentation on the _WAIT_Q_FOR_EACH macro, including a warning
about detaching elements as part of the loop not being allowed
- add note to documentation of z_sched_waitq_walk() indicating that
the callback can safely remove the thread from wait queue as this
will no longer break the FOR_EACH loop
- add _WAIT_Q_FOR_EACH_SAFE to the list of ForEachMacros in .clang-format
NOTE: this new "safe removal inside callback" behavior is only available
when CONFIG_WAITQ_SCALABLE=n. When the option is 'y', red-black trees are
used instead of doubly-linked lists which prevent mutation of the list
while it is being walked. This limitation is explicitly documented.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Don't acquire the _sched_spinlock in z_sched_wake_thread(). This allows
calling the function from callbacks which already own the spinlock. The
function is renamed to z_sched_wake_thread_locked() to reflect this new
behavior, and all existing callers are updated to ensure they hold the
_sched_spinlock as is now required.
Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
After porting nRF7120 to Zephyr, all samples that were supported in
sdk-nrf must now be supported in Zephyr instead.
Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
After porting nRF7120 to Zephyr, all samples that were supported in
sdk-nrf must now be supported in Zephyr instead.
Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
After porting nRF7120 to Zephyr, all samples that were supported in
sdk-nrf must now be supported in Zephyr instead.
Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
After porting nRF7120 to Zephyr, all samples that were supported in
sdk-nrf must now be supported in Zephyr instead.
Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
After porting nRF7120 to Zephyr, all samples that were supported in
sdk-nrf must now be supported in Zephyr instead.
Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
After porting nRF7120 to Zephyr, all samples that were supported in
sdk-nrf must now be supported in Zephyr instead.
Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
After porting nRF7120 to Zephyr, all samples that were supported in
sdk-nrf must now be supported in Zephyr instead.
Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
Remove the tags "shell" and "LED" from the lists of supported board
features as there are no tests nor samples that depend on these tags.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
This will save flash memory by 1489 bytes and make usage help look
uniform in different commands.
Re-order the shell commands to alphabetical order. This has been
done before but has bitrotted over time.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Select ARCH_SUPPORTS_COREDUMP_THREADS (if !SMP) and
ARCH_SUPPORTS_COREDUMP_STACK_PTR for RISC-V, and implement
arch_coredump_stack_ptr_get().
This enables CONFIG_DEBUG_COREDUMP_MEMORY_DUMP_THREADS and
CONFIG_DEBUG_COREDUMP_THREAD_STACK_TOP.
For non-current threads, return thread->callee_saved.sp.
For the faulting current thread in stack-top mode, return the
exception-time SP from z_riscv_get_sp_before_exc() (cached during
arch_coredump_info_dump()) instead of thread->callee_saved.sp,
which reflects switch-time state.
Signed-off-by: Mirai SHINJO <oss@mshinjo.com>
Expand the RISC-V coredump register block to all 33 GDB registers
(x0-x31, pc) in register-number order.
Previously only 18 registers were serialized. Populate zero, sp, gp,
tp, s0, and s1-s11 (when available).
Bump ARCH_HDR_VER from 1 to 3 (RISC-V 32-bit layout) and from 2 to 4
(RISC-V 64-bit layout) for the new wire format.
Keep the RISC-V 32-bit block fixed at 33 fields on the RISC-V RV32E
profile; registers not implemented by RV32E remain zero-filled so
version 3 always has a stable size.
Signed-off-by: Mirai SHINJO <oss@mshinjo.com>