Commit Graph

662 Commits

Author SHA1 Message Date
Kinsey Moore
7eb3ef09b0 spec/xilinx-zynqmp-rpu: Calculate correct RAM area
There were some problems in the math calculating RAM length and NOCACHE
origin location. These have been resolved in this patch allowing RTEMS
RAM space to be relocated above 0xfe00000 to better accomodate other
elements in the system.
2024-05-21 22:55:13 +00:00
Sebastian Huber
ab8817ca03 rtems: Add get/set interrupt priorities
Add directives to get and set the priority of an interrupt vector.

Implement the directives for the following BSP families:

* arm/lpc24xx
* arm/lpc32xx
* powerpc/mpc55xxevb
* powerpc/qoriq

Implement the directives for the following interrupt controllers:

* GICv2 and GICv3 (arm and aarch64)
* NVIC (arm)
* PLIC (riscv)

Update #5002.
2024-05-10 13:26:22 +00:00
Sebastian Huber
f6c8726cb7 bsps/arm: Move BSP-specific header file 2024-05-10 13:20:45 +00:00
Sebastian Huber
ee7f847432 bsps/arm: Use shared object for ARM920 MMU support 2024-05-10 13:20:45 +00:00
Sebastian Huber
5a3a85ccdd bsps/arm: Move BSP-specific header file installs 2024-05-10 13:20:45 +00:00
Sebastian Huber
dfc147fd33 aarch64/xilinx-zynqmp: Enable errata workarounds
Close #5003.
2024-05-08 12:19:07 +02:00
Ning Yang
00f0d307b4 bsps/aarch64/raspberrypi: Add system timer support
The clock from the ARM timer is derived from the system clock. This clock can
change dynamically e.g. if the system goes into reduced power or in low power
mode. Thus the clock speed adapts to the overall system performance
capabilities. For accurate timing it is recommended to use the system timers.

if BSP_CLOCK_USE_SYSTEMTIMER = 1, use the System Timer, otherwise use the ARM
Timer.
2024-04-30 01:39:06 -04:00
Sebastian Huber
286a80a80d validation: Test global construction on aarch64
Update #3716.
2024-04-30 01:39:06 -04:00
Ning Yang
b7a0e2a89b dev/clock: Move bcm2835-system-timer driver to shared space
This patch moves the bcm2835 system timer driver in the arm/raspberrypi directory to the shared directory and adjusts arm/raspberrypi BSP.
2024-04-30 01:39:05 -04:00
Sebastian Huber
087fc4351a bsps/xil-ttc: Improve clock driver
Make the clock driver parameters configurable.  Use the maximum counter
frequency to get the best time resolution.  Decouple the CPU counter from the
timecounter.  Make the tick catch up handling more robust.  Add a validation
test for the tick catch up.
2024-04-30 01:39:05 -04:00
Sebastian Huber
5a8e99546f bsps/xil-ttc: Add XIL_FATAL_TTC_IRQ_INSTALL 2024-04-30 01:39:05 -04:00
Sebastian Huber
3f4fcc28df build: Install <rtems/score/processormaskimpl.h> 2024-04-30 01:39:05 -04:00
Sebastian Huber
1d668054c0 bsp/qoriq: Do not build unused object 2024-04-30 01:39:05 -04:00
Sebastian Huber
53d092471f dev/serial: Add Zynq UART kernel I/O support
Replace the BSP_CONSOLE_MINOR BSP option for the Xilinx Zynq BSPs with the new
BSP option ZYNQ_UART_KERNEL_IO_BASE_ADDR.  Move the kernel I/O support to a
shared file.
2024-04-04 12:53:53 +02:00
Sebastian Huber
8ad3f92b9a dev/serial: Add ZYNQ_UART_[01]_BASE_ADDR
This helps to provide a shared implementation of the kernel I/O support.
2024-04-04 12:53:51 +02:00
Sebastian Huber
e1cb8830b7 testsuites: Exclude JFFS2 NAND tests 2024-03-20 08:27:40 +01:00
Sebastian Huber
431e335e7e bsps: Add xilinx_zynqmp_lp64_a53 BSP variant
Add a BSP variant without a board-specific name.
2024-03-20 07:40:41 +01:00
Sebastian Huber
1e406690a5 bsps: Add xilinx_zynq_rpu BSP variant
Add a BSP variant without a board-specific name.
2024-03-20 07:40:41 +01:00
Sebastian Huber
8f4b9d6611 xilinx-zynqmp-rpu: Remove URLs from copyrights 2024-03-20 07:40:41 +01:00
Sebastian Huber
5b5ff07016 bsps: Use bsps/arm/xilinx-zynqmp-rpu 2024-03-20 07:40:41 +01:00
Sebastian Huber
99398625f4 bsps: Use bsps/aarch64/xilinx-zynqmp 2024-03-20 07:40:41 +01:00
Sebastian Huber
bc910e1aac arm: Move _CPU_ISR_install_vector()
The use of this function is optional. Newer BSPs do not use it.
2024-03-20 07:40:41 +01:00
Sebastian Huber
a7730cf1b1 aarch64/zynqmp: Fix build item BSP family 2024-03-11 16:43:40 +01:00
Sebastian Huber
283f783d5d aarch64/zynqmp: Fix UART base addresses and IRQ
The base addresses and IRQ numbers for UART 0 and 1 were interchanged.
Fix this and set BSP_CONSOLE_MINOR to 0 for this BSP family.
2024-03-11 14:22:53 +01:00
Sebastian Huber
4b0409f10b Update company name
The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.
2024-02-27 14:10:17 +01:00
Kinsey Moore
cd12bf025d testsuites/jffs2: Add test for empty NOR FS
This adds a test to very that remounting a completely used, but empty
NOR JFFS2 filesystem is possible. Previously, this triggered an edge
condition in the JFFS2 scan code that prevented remount of a correctly
formed and uncorrupted filesystem.
2024-02-26 11:07:53 -06:00
Kinsey Moore
5df1d15e8b spec/zynqmp-rpu: Clean up options
The RAM origin had an unnecessary alignment requirement and the RAM
lenght had a reference that couldn't possibly be used. This removes
those obsolete option specifiers.
2024-02-23 08:36:12 -06:00
Sebastian Huber
fa17765bd4 crc: Add a CRC-24Q implementation 2024-02-16 09:32:04 +01:00
Matthew Joyce
2757b36098 base64: Add decoder 2024-02-16 09:32:04 +01:00
Sebastian Huber
317df86ba3 base64: Move base64 encoding support 2024-02-16 09:32:04 +01:00
Kinsey Moore
8d22b57969 i386: Restore SMP functionality
When the switch to waf occurred, the SMP support in i386 was left out
causing it to accumulate a minor amount of cruft. This enables SMP for
the i386 BSPs that support it and updates them for the API drift that
has occurred since the change.
2024-02-14 08:22:48 -06:00
Christian Mauderer
55a1b9accd bsps/qoriq: Add VME support for MVME2500
This enables the VME support for the MVME2500. Note that the PCIe
support from libbsd is used. So you need the related libbsd patches for
this to work.

If the drivers in libbsd are not enabled, the linker should not pick up
anything from this patch.
2024-01-31 09:54:57 +01:00
Sebastian Huber
3626fe833d fstests/tftpfs: Fix build dependency
Update #4666.
2024-01-18 17:36:16 +01:00
Sebastian Huber
2ee0159ed8 build: Fix target of build script 2024-01-18 17:36:16 +01:00
Sebastian Huber
df378641e6 bsp/tms570: Use TMS570_OSCILLATOR_MAIN
This option replaces BSP_OSCILATOR_CLOCK.  It may be used in PLL setup
calculatios.

Update #4982.
2024-01-15 10:34:08 +01:00
Sebastian Huber
9a961eec67 bsp/tms570: Remove unused BSP options
Update #4982.
2024-01-15 10:34:06 +01:00
Tyler Miller
449d836800 bsp/tms570: Board-specific tms570_emif_sdram_init()
Update #4982.
2024-01-15 10:34:02 +01:00
Tyler Miller
87be7eaba2 bsp/tms570: Board-specific tms570_pinmux_init()
Update #4982.
2024-01-15 10:34:00 +01:00
Tyler Miller
b300b967ee bsp/tms570: Board-specific tms570_pll_init()
Update #4982.
2024-01-15 10:33:57 +01:00
Sebastian Huber
d4c6def68b bsp/tms570: Use shared bsp_start_hook_1()
Update #4982.
2024-01-15 10:33:49 +01:00
Sebastian Huber
75dd824079 bsp/tms570: Add errata SSWF021#45 handling
Update #4982.
2024-01-15 10:33:33 +01:00
Sebastian Huber
8569f0181b bsp/tms570: Enable hardware init for some variants
Update #4982.
2024-01-15 10:33:20 +01:00
Sebastian Huber
eb97cd148c bsp/tms570: Add TMS570LC4357 BSP variants
Update #4982.
2024-01-15 10:33:15 +01:00
Sebastian Huber
437da01f80 bsp/tms570: Add linkcmds.memory
Remove obsolete tms570ls3137_hdk_with_loader BSP variant.  With the new
memory origin/size build options this variant is no longer required.

Update #4982.
2024-01-15 10:33:13 +01:00
Sebastian Huber
1b7a8af575 bsp/tms570: Add variant enable to build
Update #4982.
2024-01-15 10:33:11 +01:00
Sebastian Huber
1dae4f9560 bsp/tms570: Remove obsolete build option
Update #4982.
2024-01-15 10:33:08 +01:00
Sebastian Huber
2110125f7c bsp/tms570: Add bsp_restart()
Update #4982.
2024-01-15 10:32:54 +01:00
Sebastian Huber
58521f15f3 bsp/tms570: Remove empty <bsp/tms570-vim.h>
Update #4982.
2024-01-15 10:32:44 +01:00
Sebastian Huber
72ec63e7d8 bsp/tms570: Remove empty <bsp/tms570-sci.h>
Update #4982.
2024-01-15 10:32:42 +01:00
Sebastian Huber
222c98903f bsp/tms570: Remove empty <bsp/tms570-rti.h>
Update #4982.
2024-01-15 10:32:41 +01:00