Commit Graph
38091 Commits
Author SHA1 Message Date
Avi Weiss 22c960abca bsp/arm/tms570: Apply RTEMS clang-format to bspreset.c
Apply RTEMS preferred formatting as part of ESM bug fix. Formatting
makes future maintenance easier.
2026-06-04 18:18:20 -05:00
Avi Weiss e946b47d17 bsp/arm/tms570: Fix ESM IOFFHR channel off-by-one bug in bsp_reset
Only enter the if block to clear the channel when IOFFHR != 0. Then
subtract 1 inside there to get the correct channel (e.g. IOFFHR == 1
maps to channel 0).
2026-06-04 18:18:20 -05:00
Avi Weiss 59a0057ee1 bsp/arm/tms570: Replace ref to old TMS570_MMR_SELECT_GMII_SEl macro
Commit 3a0dcd5ee9 cleaned up the
TMS570_MMR_SELECT_GMII_SEL somewhat, creating the
TMS570_MMR_SELECT_MII_MODE and TMS570_MMR_SELECT_RMII_MODE
macros.

There remains one reference to the TMS570_MMR_SELECT_GMII_SEL macro
in the 3137 code. This commit replaces it with TMS570_MMR_SELECT_MII_MODE
which preserves the same encoding as the pinmux was at the time (and is
correct): TMS570_PIN_AND_FNC(TMS570_BALL_WITH_MMR(29, 3), 0)
2026-06-04 18:17:02 -05:00
Avi Weiss cbf1b49b14 bsp/arm/tms570: irq.h function header comment corrections
Some copy-paste corrections on the get/set function headers.
2026-06-04 18:16:29 -05:00
Avi Weiss 8bcc2158c0 bsp/arm/tms570: Correct IRQ channel macro definition typos
Some transcription errors from the Interrupt Request Assignments
table in the datasheet are corrected here.
2026-06-04 18:16:29 -05:00
Avi Weiss 0dbf8d675f bsp/arm/tms570: Minor typo corrections and clean up header includes 2026-06-04 18:13:15 -05:00
Avi Weiss 93167df1c0 bsp/arm/tms570: apply RTEMS clang format to tms570-pom.c 2026-06-04 18:13:15 -05:00
Avi Weiss 5e2f3ee8e0 bsp/arm/tms570: Guard write of ETO field in POMGLBCTRL to LS31x variant
LS31x variants have this ETO field in POMGLBCTRL but the LC43x
variants do not.

Guard the write so LC43x variants aren't trying to program a
non-existent field.
2026-06-04 18:13:15 -05:00
Avi Weiss 6c11754712 bsp/arm/tms570: Code cleanup (add U suffix + remove unused header)
Minor code cleanup while fixing an initialisation bug in this file.
2026-06-04 18:11:28 -05:00
Avi Weiss da293f1660 bsp/arm/tms570: Minor typo corrections for init_esm.c
Minor typo correction and standardise comment format.
2026-06-04 18:11:28 -05:00
Avi Weiss 092293c05e bsp/arm/tms570: Fix ESM bug to enable error pin + interrupt channels
Error pin and interrupt channels are write-one-to-set so setting all
to zero does not have the desired effect to enable them. We need to
write FFs (all ones).
2026-06-04 18:11:28 -05:00
Avi Weiss f55dd4fbf7 bsp/arm/tms570: Handle eFuse errors explicitly in system_hw_init
Status (error) returns 1 and 3 from tms570_efc_check are Class 1 and 2
i.e. very serious errors and should be dealt with explicitly in
tms570_system_hw_init.

These returns indicate that serious eFuse failures are either present
or cannot be ruled out and start-up should halt.
2026-06-04 18:10:31 -05:00
Sebastian Huber 37163afc97 build: Add explicit dependencies
Tests using the bld.cc() and bld.cxx() rules do not profit from the
automatic compiler dependency generation provided by the gccdeps.py waf
plugin.

Add "cpukit/include/rtems/score/cpuopts.h" as a hard-coded dependency to
these tests to account for configuration changes.  This fixes linker
errors, for example if the configuration changed the RTEMS_SMP option.

Close #5482.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2026-06-04 18:06:08 -05:00
Gedare Bloom e0818a6658 rtems-fdt: hold handle ref until end of rtems_fdt_prop_value
Fixes #5608
2026-06-03 20:17:45 -06:00
Matteo Concas 5e89997b25 grlib: Reformat headers with clang-format 2026-06-03 12:13:16 -05:00
Matteo Concas 7a2a99e0ef grlib: Reformat source with clang-format 2026-06-03 12:13:16 -05:00
Matteo Concas 84a696fba4 bsps/noel: Reformat headers with clang-format 2026-06-03 12:13:16 -05:00
Matteo Concas c056874472 bsps/noel: Reformat source with clang-format 2026-06-03 12:13:16 -05:00
Matteo Concas 9b0db1bb54 bsps/sparc: Reformat headers with clang-format 2026-06-03 12:13:16 -05:00
Matteo Concas aa904d80af bsps/sparc: Reformat source with clang-format 2026-06-03 12:13:16 -05:00
Gedare Bloom da105bb04f cpukit/rtems-fdt: release internally generated handles
rtems_fdt_prop_value() and rtems_fdt_prop_map() create a handle to
search for a path, but do not drop the handle if successful.

Fixes #5599
2026-06-03 08:28:15 -05:00
Gedare Bloom fd3d811a9c cpukit/rtems-fdt: test and fix index search by offset
The rtems_fdt_subnode_offset and rtems_fdt_get_name try to binary
search the entries index by the DTB offset, but the index is sorted
by alphabetically by the name, so the search is broken. Replace these
searches by directly calling the libfdt functions. Since the DTB offset
is known, the performance hit for invoking the libfdt should not be too
much.

Closes #5606.
2026-06-02 20:53:34 -05:00
Moksh Panicker 19c75efc9e sptests/sp13: Exercise rtems_message_queue_construct() in task1
sp13 already constructs Q3 using rtems_message_queue_construct()
in init.c but task1.c never sends to, receives from, or deletes
the constructed queue.

Extend task1.c to send a message to Q3, receive it back, and
delete the queue after the variable-size loop completes. This
exercises the full lifecycle of a queue created with static
storage and storage_free set to NULL.

Verified on arm/realview_pbx_a9_qemu with QEMU 9.0.2,
RTEMS 7.0.0.a413333f2f04130e82e15addba402887222c345f, GCC 15.2.0.
2026-06-02 20:51:58 -05:00
Avi Weiss 2308b1e588 bsp/arm/tms570: Correct typos in bspstarthooks-hwinit.c 2026-06-02 20:16:45 -05:00
Avi Weiss 370df09442 bps/arm/tms570: Guard parity self-tests for 4357 ECC-protected modules
RAM parity self-tests run on several RAM modules, which work fine for
the 3137 variants, but on 4357 variants some of those modules use
an ECC memory protection scheme.

This commit turns the relevent ones off for 4357 until proper ECC
self-tests are created.
2026-06-02 20:16:45 -05:00
Matteo Concas 0c6605b58b grlib: Add 64 bit compatibility
Work towards having GRLIB be a part of the NOEL BSPs
It is not "true" 64 bit as the devices themselves are still
on a 32bit bus.
2026-06-02 12:49:33 -05:00
Chris Johns 156d429516 spec/ftd01: Fix the DTB python generation code
Closes #5605
2026-06-02 15:28:03 +10:00
Shivam Deolankar 99ea420b1b cpukit: Move FatFs core to contrib and update build integration
Move the upstream FatFs sources from cpukit/libfs/src/fatfs to
contrib/fatfs.Keep the RTEMS integration layer (rtems-fatfs-*.c and
rtems-diskio.c) in libfs. Introduce a wrapper header under rtems/fatfs
and update internal sources to use it.

Update the build specification to reference the new location without
introducing global include paths.

Fixes #5433
2026-06-01 18:37:44 +00:00
Shivam Deolankar 8e54c8816b contrib/fatfs: Import FatFs R0.16
Upstream version: R0.16
Upstream URL: http://elm-chan.org/fsw/ff/
contrib/cpukit/fatfs/R0.16
2026-06-01 18:37:44 +00:00
Jeremy Lorelli 973134e2df cpukit/libdebugger: Fix uninitialized variable
'flags' was being assigned via |=, which is bad news.
2026-05-31 18:36:19 -07:00
Kinsey Moore 5dc63db75b cpukit/libmisc/rtems-fdt: Add missing argument
The recent FDT changes included some refactoring that missed the second
parameter in a rtems_fdt_valid_handle_unprotected() call. This adds the
missing parameter and fixes the build.
2026-05-29 10:32:38 -05:00
Gedare Bloom 0194d301f3 rtems-fdt: add unprotected valid handle check
The change to avoid deadlock could introduce a race condition on the
blobs chain and the handle. Refactor the rtems_fdt_valid_handle() to
create an internal unprotected version, and call it with the global
rtems_fdt_lock() held.
2026-05-28 18:55:53 -06:00
Gedare Bloom b6fb679d44 spec/build: add explicit dependency in fdt01
Updates #5482.
2026-05-28 18:55:53 -06:00
Gedare Bloom 1808a4e568 rtems-fdt: fix deadlock in rtems_fdt_unload
Do not attempt to recursively acquire the rtems_fdt_lock.
2026-05-28 18:55:53 -06:00
Gedare Bloom 7e378389bf rtems-fdt: fix pointer reference in rtems_fdt_node_offset_by_prop_value
The handle was being passed to libfdt instead of the blob.
2026-05-28 18:55:53 -06:00
Gedare Bloom 0f272e1dc1 rtems-fdt: fix pointer reference in check_compatible
The handle was being passed to libfdt instead of the blob.
2026-05-28 18:55:53 -06:00
Gedare Bloom 4bc554b404 rtems-fdt: fix bug for raw dtb files
Reading non-compressed dtb files was broken because of the initial
reading of the first two bytes to check for compression. Reset the
file pointer after making that first read regardless of whether a
gzip header is found or not.
2026-05-28 18:55:53 -06:00
Gedare Bloom 27fc98a01d spec/build: add fdt01 test to build
Also uses the new dtc command to generate the dtbs at compile time.
Reads dts from elsewhere in the rtems tree.
2026-05-28 18:55:53 -06:00
Gedare Bloom 491bbfa134 libtests/fdt01: add new test for rtems-fdt
The rtems-fdt library was not tested.

Updates #4150
2026-05-28 18:55:53 -06:00
Gedare Bloom 50e801531e wscript: add dtc command to compile dts files
Enables building FDT files during compilation.

Updates #5136
2026-05-28 18:55:53 -06:00
Gedare Bloom 296d3872ff libmisc/rtems-fdt: add rtems-fdtimpl.h
Refactor implementation details to rtems-fdtimpl.h to allow further
refactoring of the main source file and access to internal structures
for testing.
2026-05-28 18:55:53 -06:00
Gedare Bloom 6a586c122e libmisc/rtems-fdt: refactor rtems_fdt_load
Splits functionality so that reading from the dtb file is distinct from
loading it into memory. This allows directly loading a dtb from memory
instead of from a file.
2026-05-28 18:55:53 -06:00
Gedare Bloom ce04a97c11 arm/imxrt: update imxrt1050.dtsi with dtc version
Fixes dtc compilation error.
2026-05-28 18:55:53 -06:00
Gedare Bloom 2f81156210 riscv/irq: read maximum interrupts from FDT
The number of external interrupts can be configured through the FDT.
Read it during PLIC initialization and use that to determine the max
valid vector number.
2026-05-28 14:43:42 -06:00
Gedare Bloom 128106b2f1 riscv: enable using PLIC in S-mode
The previous addition of s-mode support avoided touching the PLIC
registers and only allowed limited use of software interrupts for SMP
IPIs. This enables the PLIC in s-mode mapping the registers with the MMU
and unifying some aspects of the m-mode and s-mode implementations.

Updates #3337
2026-05-28 14:43:42 -06:00
Chris Johns 9e0aeb52e0 spec: Add BSD base and family to Makefile.inc
- A base BSP helps applications support aliased BSPs

- Also add ABI_FLAGS to be consistent with the pkgcfg file.

Closes #5592
2026-05-27 20:52:49 -05:00
Avi Weiss 4b3d5e657c bsp/arm/tms570: Fix typo in ball M17 EMIF macro name
A stray 'l' seems have come in at some point.
2026-05-27 17:14:18 +02:00
Avi Weiss a413333f2f bsp/arm/tms570: explicitly set CS8 and CREAD in printk init
Update to tms570-sci.c (commit af77d28) puts a gate to check
requests for non 8-bit bytes and CREAD not set, we therefore
must expclitily set them now.
2026-05-23 23:17:45 -05:00
Avi Weiss 61a03779d4 bsp/arm/tms570: fix SCI termios ignore framing flags bug
- explicitly reject non-8-bit-character requests and return false
- support 1 and 2 stop bits
- support disabling RX by checking CREAD
2026-05-23 23:17:45 -05:00
Samuel Viegas 58c0c344a2 bsps/sparc/leon3: Reject API raise of IRQs 16-31
- Changed the interrupt attributes so extended vectors
report can_raise as false.

- Changed the bsp_interrupt_raise to return
RTEMS_UNSATISFIED for extended vectors 16-31.

- BSP-specific validation for gr712rc and gr740
were added to exercised the extended vectors, and
check that the right interrupt handler is called.

Updates #4846.
2026-05-23 23:14:11 -05:00