Commit Graph

490 Commits

Author SHA1 Message Date
Alan Cudmore
4021b87e00 spec: add riscv kendrytek210 variant build options
This patch includes the spec/build options for the riscv kendrytek210
BSP variant. It includes options to allow the frdme310arty console
UART to be used on multiple BSPS, device tree options, memory
options, and other required options for the variant.

Updates #4876
2023-03-28 14:04:04 -05:00
Karel Gardas
8f6d4b7d96 spec: add MPU CTRL option to be usable on ARMV7M based BSPs
The patch also enables usage of the option on imxrt and stm32h7 based BSPs.

Sponsored-By:	Precidata
2023-03-16 15:40:22 +01:00
Kinsey Moore
caffdc4dab bsps/zynqmp: Add JFFS2 NAND adapter
This adds the glue code necessary to allow JFFS2 to operate on top of
NAND memory hosted by the XNandPsu peripheral/driver.
2023-03-15 13:29:12 -05:00
Kinsey Moore
5db68a5859 cpukit/jffs2: Add support for NAND under JFFS2
This adds write buffer and bad block support required for JFFS2
operation on NAND devices. This also adds the minor modifications
necessary for RTEMS support in the Linux header stubs and in wbuf.c.
Memory and NOR backed applications should experience no difference in
operation since they do not expose the callbacks required for write
buffer support.
2023-03-15 13:29:12 -05:00
Sebastian Huber
a0bb541d42 build: Use standard format 2023-03-15 16:01:06 +01:00
Sebastian Huber
03159bd837 build: Remove obsolete default-by-variant 2023-03-15 09:47:20 +01:00
Alex White
725e5ce27f bsps/microblaze: Add AXI GPIO driver 2023-03-14 09:29:16 -05:00
Sebastian Huber
269562cfd2 bsps/riscv: Use medany cmodel for 64-bit variants
Updates #4775.
2023-03-02 15:08:23 +01:00
Sebastian Huber
7629760e49 build: Remove superfluous attribute 2023-02-14 15:21:44 +01:00
Karel Gardas
0328a82c62 bsps/stm32h7: fix compilation failure of stm32h757i-eval-m4 BSP 2023-02-12 20:13:18 +01:00
Joel Sherrill
77e7bd97dc libmisc/serdbg: Remove obsolete serial debug
Closes #2828.
2023-02-09 09:05:58 -06:00
Kinsey Moore
c0fad60c59 bsps/xil: Import full xil_exception.h
This imports the full xil_exception.h instead of an empty stub. This is
required for some Xilinx drivers. The imported files adhere to the
current VERSION file.
2023-02-08 14:11:47 -06:00
Kinsey Moore
a932d5d6e1 spec/bsps: Deduplicate objxilinxsupport
The objxilinxsupport build object was accidentally included twice in
some of the ZynqMP BSPs by two different drivers that required it. This
commit manually deduplicates the inclusions by moving that inclusion to
the BSP. Duplication of object inclusions is considered a bug and can
cause race conditions in the build system.
2023-02-06 17:33:13 -06:00
Alex White
63b21ad5e0 bsps/microblaze: Add device tree getter
This allows drivers to read configuration data from the device tree if
the BSP is built with device tree support.
2023-02-06 14:29:24 -06:00
Sebastian Huber
1d07dfad83 validation: Improve IRQ handler dispatch test
Clarify wording.  Use a function wrapper for the SMP spurious interrupt setup.

Update #3716.
2023-02-06 09:46:45 +01:00
Karel Gardas
f16b8fc32a bsps/stm32h7: allow config and usage of QSPI memory on stm32h757i-eval BSP
The QSPI memory is initialized and used only when the BSP configure file
sets QSPI memory size to non-zero value. Currently QSPI is run in memory
mapped mode which allows future RTEMS binary linkage and upload into QSPI
memory.

Sponsored-By:	Precidata
2023-02-05 20:42:24 +01:00
Alex White
6fa3a3b32a spec: Fix XPS_SYS_CTRL_BASEADDR default value
The default value for XPS_SYS_CTRL_BASEADDR was given as an int rather
than an iterable.
2023-01-27 17:33:00 -06:00
Alex White
098ad421a1 bsps/xilinx-zynqmp: Add JFFS2 GQSPI NOR driver 2023-01-27 14:49:28 -06:00
Alex White
d55c131965 bsps: Add Xilinx GQSPI flash helper
This adds helper functions for working with NOR flash connected to the
Xilinx GQSPI controller. The helper functions are based on Xilinx's
QSPIPSU flash interrupt example.
2023-01-27 14:49:28 -06:00
Kinsey Moore
1da87d6293 spec: Install NandPsu headers correctly
These headers were mistakenly placed in the root of the installed BSP
include directory. They should be in dev/nand.
2023-01-26 13:23:44 -06:00
Sebastian Huber
5156cd6997 build: Add dl11 to libdl test exclude list 2023-01-24 11:40:59 +01:00
Kinsey Moore
81085ca9f4 testsuites/libtest/dl11: Add DL test for TLS
This adds a test verifying basic TLS functionality in loadable modules
now that at least one architecture supports it.
2023-01-20 08:26:35 -06:00
Kinsey Moore
f36d8b14e0 spec: Fix Xilinx support YAML licenses
This should use the CC 4.0 license to match the rest of the tree.
2023-01-19 15:38:31 -06:00
Sebastian Huber
5b124432e2 build: Fix copyright statement format 2023-01-17 10:11:00 +01:00
Sebastian Huber
70e2990c77 build: Remove bogus attribute 2023-01-17 09:46:26 +01:00
Sebastian Huber
f20078acea build: Use enabled by for defaults
Merge the "default" and "default-by-variant" attributes.  Use an
"enabled-by" expression to select the default value based on the enabled
set.  This makes it possible to select default values depending on other
options.  For example you could choose memory settings based on whether
RTEMS_SMP is enabled or disabled.

The change was tested by comparing the output of

  ./waf bspdefaults

before and after the change.
2023-01-17 08:31:48 +01:00
Sebastian Huber
d2664faa39 build: Replace variant patterns with a list
Replace the variant patterns in the default-by-variant list with an
explicit list of matching BSPs.

The change was tested by comparing the output of

  ./waf bspdefaults

before and after the change.
2023-01-17 08:31:48 +01:00
Sebastian Huber
336823191a build: Format build items
Use yaml.dump(data, default_flow_style=False, allow_unicode=True) with a
custom representer for integer default values to format all build items.
2023-01-17 08:31:46 +01:00
Sebastian Huber
cac528f85a build: Add reason to test state definitions 2023-01-17 08:30:21 +01:00
Sebastian Huber
d46366a2e7 riscv: Resurrect RISCV_ENABLE_HTIF_SUPPORT
Low-end configurations may want to have the HTIF support removed.
Enable the option by default.  Fix formatting.  Fix node validity
checks.

Updates #4779.
2023-01-12 08:15:58 +01:00
Kinsey Moore
f65bbb4059 bsps: Move ZynqMP-specific info into the BSP
The address of the nandpsu peripheral is specific to the ZynqMP SoC and
not relevant to other devices that might have one or more instances of
this peripheral.
2023-01-04 13:11:29 -06:00
Kinsey Moore
30ca711d19 bsps: Import Xilinx NAND driver
This adds Xilinx's driver for the Xilinx NAND controller embedded in the
ZynqMP SoC. Within that device alone, it is possible to access this
peripheral from MicroBlaze, ARMv7, and ARMv8 cores. This has been added
to the hardware ZynqMP BSPs since QEMU does not support emulation of
this peripheral. This driver supports polled operation only. The
imported files are and should be able to remain unmodified. Import
information is kept in bsps/shared/dev/nand/VERSION.
2022-12-23 13:06:42 -06:00
Kinsey Moore
50539ba881 bsps: Import Xilinx support code
This support code is necessary for many Xilinx-provided bare metal device
drivers supported on ARM, AArch64, and MicroBlaze platforms. Support for
all of these architectures is kept under bsps/include due to multiple
architecture variants being supported which requires complex logic in
the build system. The imported files are and should be able to remain
unmodified. Import information is kept in bsps/shared/xil/VERSION.
2022-12-23 13:06:42 -06:00
Hesham Almatary
a430dd43d9 spec/build/riscv: Start all riscv/riscv BSPs at 0x80000000
To follow other RISC-V-based OSes conventions. Delete generic
BSPs that start at 0x70000000 as BSPs are now medany by default.

Updates #4775
2022-12-23 09:21:07 +00:00
Hesham Almatary
dd28005490 spec/build/riscv: Default rv64* BSPs to medany cmodel
Currently generic RISC-V BSPs (riscv/riscv) that start with rv64 and not
rv64*_medany will start at 0x70000000. This adds high maintenance overhead
and deviates from almost all other RISC-V-based OSes and baremetal programs
that start at 0x80000000. Further, testing now has to account for an extra
parameter (medany or not) that doubles the number of BSPs need to be
tested.

This commit defaults all RV64 BSPs to use medany code model to allow starting
all BSPs at 0x80000000. BSPs that require different code models and/or
start addresses are custom and need to add their own entries.

Updates #4775
2022-12-23 09:21:02 +00:00
Christian Mauderer
f845b95a16 bsp/atsam: Allow to use custom SDRAM
With the old build system in RTEMS 5 that was possible by just
overwriting BOARD_Sdram_Config and setting a custom
ATSAM_MEMORY_SDRAM_SIZE during building the BSP. In the new build system
that ATSAM_MEMORY_SDRAM_SIZE is set exclusively by the selected SDRAM
chip.

This patch adds the possibility to specify a "custom-0x100000" or
similar as SDRAM type where the number gives the SDRAM size.
2022-12-15 09:20:53 +01:00
Christian Mauderer
7b968a2eb4 bsps/atsam: Add NULL pointer protection 2022-12-15 09:20:52 +01:00
Sebastian Huber
c46fbb9552 config: Add CONFIGURE_RECORD_INTERRUPTS_ENABLED
This enables the tracing of interrupt entry/exit events through an
application configuration option.  The interrupt processing can be
viewed with Trace Compass using rtems-record-lttng from the RTEMS Tools.

Update #4769.
2022-12-02 10:25:44 +01:00
Sebastian Huber
e012671cfd aarch64/raspberrypi: Remove duplicate files
These files are already provided by "../../objirq".
2022-12-01 13:05:19 +01:00
Kinsey Moore
240987228f spec/beagle: Add missing spi.h install
The beagle SPI functions are unusable by applications unless this file
is installed with the BSP. This ensures that the file is installed
properly.
2022-11-28 10:09:40 +11:00
Chris Johns
8436cf9764 aarch64/versal: Add UART interrupt support 2022-11-22 21:14:58 +11:00
Sebastian Huber
7d17b99660 bsps/riscv: RISCV_MAXIMUM_EXTERNAL_INTERRUPTS
Increase RISCV_MAXIMUM_EXTERNAL_INTERRUPTS to 128 to support recent Qemu
versions by default.
2022-11-10 08:55:38 +01:00
Kinsey Moore
7842a333e0 zynqmp: Add support for the CFC-400X
This adds a BSP variant for the ZynqMP BSP family to support the
Innoflight CFC-400X platform. To properly support the CFC-400X, device
trees were added to the ZynqMP platform due to both the optional
management interface as well as alternate physical configuration of the
ethernet interfaces.
2022-11-09 08:01:03 -06:00
Sebastian Huber
e15c5e5623 build: Disable can01 for small memory BSPs 2022-11-07 10:07:50 +01:00
Prashanth S
26d50bdfb6 bsps/arm/beagle/dcan: Added DCAN support 2022-10-30 09:35:54 +01:00
Prashanth S
cd91b37dce cpukit/dev/can: Added CAN support 2022-10-30 09:35:54 +01:00
Sebastian Huber
64fbeaa0d1 score: INTERNAL_ERROR_IDLE_THREAD_STACK_TOO_SMALL
Ensure that the IDLE storage allocator did allocate a suffiently large area.

Update #3835.
Update #4524.
2022-10-14 10:48:23 +02:00
Sebastian Huber
45ee958552 config: Add CONFIGURE_IDLE_TASK_STORAGE_SIZE
By default, allocate the IDLE task storage areas from the RTEMS Workspace.
This avoids having to estimate the thread-local storage size in the default
configuration.

Add the application configuration option CONFIGURE_IDLE_TASK_STORAGE_SIZE to
request a static allocation of the task storage area for IDLE tasks.

Update #3835.
Update #4524.
2022-10-14 10:48:23 +02:00
Sebastian Huber
1ab93ba480 score: INTERNAL_ERROR_IDLE_THREAD_CREATE_FAILED
Add the INTERNAL_ERROR_IDLE_THREAD_CREATE_FAILED fatal error in case the
creation of an idle thread fails.  This may happen due to a failing create
extension provided by the application.
2022-10-14 10:48:22 +02:00
Sebastian Huber
97fce5120c build: Enable RISCV_BOOT_HARTID only for riscv 2022-10-13 06:24:23 +02:00