Commit Graph
839 Commits
Author SHA1 Message Date
ShaunakKDatar fb1d9c8aca bsp/aarch64/raspberrypi: Add I2C Support
- Implements polling-based I2C communication.
- Supports three independent I2C master controllers.
- Adds support for 10-bit addressing mode.
2025-06-25 23:42:14 +05:30
Shaunak Datar d4755476bc bsp/aarch64/raspberrypi4: Add PWM peripheral support
This commit adds support for the PWM peripheral on the aarch64/raspberrypi BSP.
2025-06-20 20:53:28 +05:30
Joel Sherrill 734208a49b bsp/shared/atomics: New directory
Provide missing GCC atomics helpers as part of BSPs where GCC
does not know how to provide it since the CPU's ISA has no
atomic instructions. The implementation provided in
bsps/shared/atomics/__atomic_test_and_set.c should work
on any single core CPU.

The BSPs that need thie function tend to have older cores. This
is the list of BSPs:

arm - csb336, csb337, csb637, edb7312, gumstix, kit637_v6, lpc24xx_ea,
  lpc24xx_ncs_ram, lpc24xx_ncs_rom_ext, lpc24xx_ncs_rom_int,
  lpc24xx_plx800_ram, lpc24xx_plx800_rom_int, lpc32xx_mzx,
  lpc32xx_mzx_stage_1, lpc32xx_mzx_stage_2, lpc32xx_phycore,
  rtl22xx, rtl22xx_t, smdk2410
m68k - av5282, mcf5329
mips - jmr3904
moxie - moxiesim
nios2 - nios2_iss
riscv - grv32i, grv32im, niosvc10lp, noel32im, rv32i, rv32im,
sparc - ut699
2025-06-19 23:30:57 +00:00
Joel Sherrill 4106647891 bsps/arm/*: Add linker args to specify __sync_synchronize variant
GCCC 14 introduced a linking warning about not knowing which
__sync_synchronize implementation to use. The BSPs impacted
are updated in this commit. The suggested correction is to
use -specs to pick up a GCC specific specs file which changes
__sync_synchronize to the desired implementation
__sync_synchronize_MECHANISM. Using this solution ties
the code to GCC 14+ since the spec files are not in GCC 13.
This solution maps __sync_synchronize to a RTEMS specific
__sync_synchronize implementation which avoids using of a
GCC extension and requiring GCC 14+,

Closes #5268
2025-06-19 22:58:18 +00:00
Kinsey Moore 4848d7ab73 aarch64/raspberrypi4: Perform reset using watchdog
This updates the AArch64 Raspberry Pi BSP to use the watchdog to perform
the system reset instead of attempting to use the PSCI reset which isn't
present on the Raspberry Pi platform.
2025-06-10 21:25:35 -05:00
Kinsey Moore ecaa780c85 spec/aarch64/raspberrypi: Rework linker script
This reworks the linker script configuration to be more comprehensible
and to remain within the 1GB guaranteed available on all Pi4 systems and
accounting for the memory dedicated to the GPU and the memory dedicated
to the low level firmware.
2025-06-10 21:25:35 -05:00
Mohd Noor Aman 7f30da6ec4 bsps/aarch64/raspberrypi: Add SMP Support 2025-06-10 21:25:35 -05:00
Amar Takhar 8bf1511496 yamlfmt: Format all yaml files
yamlfmt will become a hard error as our files are already clean except for these
minor issues.
2025-06-07 11:58:28 -04:00
Amar Takhar c87906d13c m68k/uC5282: Fix typo in spcxx01
Introduced in !433

Refs #5259
2025-06-07 11:48:31 -04:00
Joel Sherrill 968a7af3c1 m68k/uC5282: Disable spcxx01
Disable this test until issue #5217 is resolved.

Updates #5230
2025-06-05 23:37:15 +00:00
mez3n 528095cd24 cpukit/rtems: add rtems_barrier_get_number_waiting()
Closes rtems/programs/gsoc#9
Added rtems_get_number_waiting according to the issue
rtems/programs/gsoc#9, including tests and documentation.
2025-05-12 17:00:14 +00:00
Jeremy Lorelli 0017330fc6 spec: Remove missing headers from m68k BSPs
These headers were removed in b30d88cb87
2025-05-09 15:37:47 -07:00
Matteo Concas 7205078179 spec: Install missing header files for GRLIB and SPARC
The following files will be installed during SPARC/GRLIB builds:
- bsps/include/grlib/apbuart-regs.h
- bsps/include/grlib/gptimer-regs.h
- bsps/include/grlib/irqamp-regs.h
- bsps/sparc/include/grlib/io.h

Fix issue #5231
2025-03-25 16:04:40 +01:00
Joel Sherrill 9e05cd72c5 mvme147s: Remove as obsoleted
Updates #5031
2025-03-13 06:12:15 +00:00
Joel Sherrill 807584adfd m68k/shared/fpsp: Remove obsolete m68040 FP Support Code
The Motorola MC68040 did not completely implement IEEE754 in hardware.
The FPSP code was required to complete the support. With no more
MC68040 BSPs in RTEMS, this code can be removed.

Updates #5031
2025-02-12 12:51:58 -06:00
Chris Johns 8d78a68ece Revert "build: Provide LDFLAGS for pkg-config"
This reverts commit 237570e605
2025-02-11 05:49:15 +00:00
Joel Sherrill 5a9484e6cb m68k/mvme147: Remove obsolete BSP family
Updates #5031
2025-02-10 08:49:24 -06:00
Sebastian Huber 237570e605 build: Provide LDFLAGS for pkg-config
Some pkg-config variants perform transformations on the --libs options.
This may lead to completely broken linker options.  Provide the LDFLAGS
as a variable.  Remove "Ldflags:" since this is an unsupported field.

Update #5169.
2025-02-07 12:13:18 -06:00
Joel Sherrill b30d88cb87 m68k/mcf5225x: Remove obsolete BSP family
Updates #5031
2025-02-07 14:19:00 +00:00
Joel Sherrill 46e90be362 m68k/mrm332: Remove obsolete BSP family
Confirmed with Robominds

Updates #5031
2025-02-07 14:15:27 +00:00
Joel Sherrill 2188c428fb m68k/mvme167: Remove obsolete BSP family
Updates #5031
2025-02-07 14:13:06 +00:00
Joel Sherrill 17ae630e9a m68k/mvme162: Remove obsolete BSP family
Updates #5031
2025-02-07 14:10:41 +00:00
Vincenzo Calabretta d2d9bd4aee bsp/stm32h7: Add nucleo-h753zi BSP variant
Support the NUCLEO-H753ZI development board from STMicroelectronics.
2025-02-07 01:24:03 +00:00
Joel Sherrill 6cdc09c48a m68k/mcf52235: Remove obsolete BSP family
Updates #5031
2025-02-07 01:21:36 +00:00
Joel Sherrill 23a4dc74cd m68k/mcf5206elite: Remove obsolete BSP family
Updates #5031
2025-02-07 01:21:00 +00:00
Joel Sherrill 7f86974bf3 m68k/gen68360: Remove obsolete BSP family
Updates #5031
2025-02-07 01:20:24 +00:00
Joel Sherrill 552e481699 m68k/gen68340: Remove obsolete BSP
Updates #5031
2025-02-07 01:19:44 +00:00
Joel Sherrill 0316b3c322 m68k/csb360: Remove obsolete BSP
Updates #5031
2025-02-07 01:18:30 +00:00
Kinsey Moore b9c58102bb bsps/stm32h7/spi: Add DMA support 2025-02-07 00:07:42 +00:00
Kinsey Moore 4de9ddf4a7 bsps/stm32h7: Add DMA support
This patch adds a DMA allocator that can be used by any driver wrapping
a STM32 HAL driver that supports DMA.
2025-02-07 00:07:42 +00:00
alessandronardin 9876b5949f posix/aio: Implemented aio_suspend()
Implemented aio_suspend().
Added test to verify functionality.
2025-02-04 23:34:31 +00:00
Gedare Bloom 203b08fa23 powerpc: remove unused file debugmod.h 2025-02-03 17:18:35 -07:00
Joel Sherrill 802d640038 v850: Remove obsolete architecture
Updates rtems/rtos/rtems#5023
2025-01-29 18:23:45 +00:00
Joel Sherrill ecaa0f8e93 SPARC64: Remove obsolete architecture
Updates rtems/rtos/rtems#5021
2025-01-29 18:23:45 +00:00
Joel Sherrill 00b074b124 SuperH (sh): Remove obsolete architecture
Updates rtems/rtos/rtems#5022
2025-01-29 18:23:45 +00:00
Joel Sherrill 740f736f9e lm32: Remove obsolete architecture
Updates rtems/rtos/rtems#5025
2025-01-29 18:23:45 +00:00
Joel Sherrill 82624328da bin: Remove obsolete architecture
Updates rtems/rtos/rtems#5024
2025-01-29 18:23:45 +00:00
Michal LencandPavel Pisa e6f6eccaef can: add support for CTU CAN FD controller
This commit adds support for CTU CAN FD controller. The controller
can be initialized from BSP by ctucanfd_initialize() function call.
It also implements the dynamic redistribution of hardware transmission
buffers to CAN stack priority classes in order to avoid possible
priority inversion.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
Co-authored-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
2025-01-28 08:25:28 +01:00
Michal LencandPavel Pisa 0cbb9eb9f9 can: add support for a simple virtual CAN controller
This commit adds a support for a simple virtual CAN controller. This
controller can be used to test CAN stack functions and serves as an
inspiration for further controller implementations.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
Co-authored-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
2025-01-28 08:25:28 +01:00
Michal LencandPavel Pisa c3f4e215b1 cpukit: add support for common CAN/CAN FD stack
This adds support for common full-featured CAN/CAN FD stack to RTEMS.
The API is provided in form the form of the POSIX character driver with
each CAN controller (chip) registered as node into “/dev”
namespace.

The stack utilizes FIFO queues (also called edges) organized
into oriented edges between controller side and application side.
Edges, responsible for message transfers from application to controller
and vice versa, can have different priorities and function as priority
classes.

The stack provides run time configuration options to create new
queues with desired priority, direction and filter, making it
suitable for various applications requirements. There is also a
possibility to configure controller’s characteristics (bit rate,
mode, chip specific ioctl calls). Both blocking and nonblocking mode
is supported.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
Co-authored-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
2025-01-28 01:57:28 +00:00
Kinsey Moore c7912a997b spec/pkgconfig: Account for separate compilation and linking
When compilation and linking are performed separately, some platforms
(i.e. RISC-V) may require that ABI flags are provided during the linking
step as well as the compilation step.
2025-01-24 00:18:56 +00:00
Ning Yang c2a1db3cde bsp/aarch64/raspberrypi: Add genet support
- Add genet FDT support. Main reference:
https://www.kernel.org/doc/Documentation/devicetree/bindings/net/brcm%2Cbcmgenet.yaml
- Add genet mmu
- Add raspberrypi4 nocache area
2024-12-16 19:14:59 +00:00
Sebastian Huber d0d2cf2733 build: Improve Makefile.inc
Support relocated BSP installations by letting the user provide
RTEMS_ROOT.

Close #5170.
2024-12-05 04:07:58 +01:00
Chris Johns e14a740a99 spec/cpukit: Add libdl RISCV support
Closes #5144
2024-11-22 00:13:36 +00:00
Kinsey Moore 9e42e61e6e bsps/aarch64/zynqmp: Factor out the CFC-400X management console
This moves the management console implementation into its own file so
that BSPs which do not need it do not carry the code around with them.

Closes #5120
2024-11-22 00:06:16 +00:00
Kinsey Moore 7d1a934884 bsps/shared/flash: Add a JFFS2 flashdev driver
This adds generic JFFS2 interworking code that allows JFFS2 to be used
on top of any flashdev backend. It currently only supports NOR flashdev
backends.
2024-11-21 23:44:37 +00:00
Sebastian Huber f45ccfa167 build: Remove Windows quirk
The current version of gccdeps.py works on Windows.
2024-11-21 04:22:31 +01:00
Sebastian Huber 7d5c08db80 validation: Check bootloader L2C settings
Update #4925.
2024-11-20 15:08:04 +00:00
Sebastian Huber 7ff3438cba validation: Test thread priority change detail
Test the proper serialization of explicit thread priority changes (for
example rtems_task_set_priority()) and thread priority changes carried
out by thread queues (locking protocols such as priority inheritance).

With RTEMS_DEBUG enabled, the new test case fails with an assertion.  It
is fixed in a follow up commit.

Update #5159.
2024-11-20 02:32:38 +01:00
Kinsey Moore b3be636863 bsps/stm32h7/spi: Add IRQ support 2024-11-15 00:47:58 +00:00