Commit Graph

1423 Commits

Author SHA1 Message Date
Sebastian Huber
bc31fb65d2 arm/xilinx-zynq: Do not provide legacy API
The header file <rtems/irq.h> provides a legacy API.  Do not provide it
by default through <bsp/irq.h>.
2023-05-26 06:56:11 +02:00
Sebastian Huber
da2b49e7b7 bsps/arm: Use interrupt entry for IPI
Avoid a dynamic memory allocation for the inter-processor interrupt.
2023-05-26 06:56:11 +02:00
Sebastian Huber
eff408b64f bsps/arm: Use interrupt entry for clock driver
Avoid a dynamic memory allocation for the clock driver interrupt.
2023-05-26 06:56:11 +02:00
Sebastian Huber
363fafb780 bsps/arm: Use interrupt entry for <tm27.h>
Avoid a dynamic memory allocation for the <tm27.h> interrupts.  Replace
assert() with _Assert().
2023-05-26 06:56:11 +02:00
Sebastian Huber
49720a90d8 arm/xilinx-zynq: Improve Doxygen file comments 2023-05-26 06:56:11 +02:00
Sebastian Huber
ebe4224dce bsps/arm: Improve Doxygen groups 2023-05-26 06:56:11 +02:00
Sebastian Huber
f69326d0c2 bsps: Improve Doxygen file comments 2023-05-26 06:56:11 +02:00
Christian Mauderer
6f034c18e8 imx_iomux: Don't set reserved bits in PAD_CTL
On most i.MX* the upper bits in SW_PAD_CTL are reserved. On some chips,
like the i.MXRT1166, they are a domain write protection. Setting them to
1 can have unexpected side effects.

The device tree uses these bits for some flags. Make sure that they are
not accidentally written to some value.
2023-05-22 09:45:42 +02:00
Christian Mauderer
97819b8a31 bsps/imxrt: Move board specific files
Move the files that are board specific and not specific to the chip
family into a separate folder.
2023-05-22 09:45:42 +02:00
Christian Mauderer
c1a949745f bsps/imxrt: Make chip start code chip specific
Some parts of the startup code don't apply for all chips. Make that part
chip specific.
2023-05-22 09:45:42 +02:00
Christian Mauderer
dd68ed6075 bsps/imxrt: Support more chip variants in header
The different variants of the i.MXRT have some minimal differences in
the fsl_flexspi_nor_config.h. Make sure that the header supports the
different chips.
2023-05-22 09:45:42 +02:00
Christian Mauderer
d941dd0dad bsps/imxrt: Remove unmaintained defines
The defines for the different clock frequencies in the
fsl_clock_config.h do not represent the clock frequencies that have been
set up in the registers. Remove them to avoid someone trusting in
correct values.
2023-05-22 09:45:42 +02:00
Christian Mauderer
bb2e2d0c30 bsps/shared: Fix header for fsl-edma
If a different chip variant is used in the i.mxrt BSP, a different
header would have to be included. Make sure that the fsl-edma driver
uses a header that doesn't have to be adapted.
2023-05-22 09:45:42 +02:00
Christian Mauderer
5e78c76c79 bsps/imxrt: Get clock for IMXRT11xx in drivers
The mcux_sdk has a different interface for getting the clock for
IMXRT11xx than for getting it in IMXRT10xx. Adapt simple drivers to
support that interface.
2023-05-22 09:45:42 +02:00
Christian Mauderer
f3df09352c bsps/imxrt1052: PLL config based on speed grade 2023-05-22 09:45:42 +02:00
Christian Mauderer
f467635161 bsps/imxrt: Adapt to new mcux-sdk version
Remove the old NXP MCUXpresso SDK and adapt the BSP so that it uses the
new mcux-sdk.
2023-05-22 09:45:36 +02:00
Christian Mauderer
4cb2b07402 bsps/imxrt: (Re-)Apply RTEMS patches to new lib
Reapply patches used in the old version of the NXP library and apply
patches necessary for the new version of the library.
2023-05-22 09:43:48 +02:00
Christian Mauderer
38ad41ecce bsp/imxrt: Update support library from mcux-sdk
This imports new files from the mcux-sdk support library. NXP now offers
the library as a git repository instead of a zip package. The git
repository supports multiple CPUs from the i.MXRT family:

  https://github.com/nxp-mcuxpresso/mcux-sdk.git

The imported files are from revision

  2b9354539e6e4f722749e87b0bdc22966dc080d9

This revision is the same as MCUXpresso 2.13.0 with small bug fixes.

For importing the files, a script has been used, that parses the
mcux-sdk cmake files and creates the yaml files for RTEMS:

https://raw.githubusercontent.com/c-mauderer/nxp-mcux-sdk/d21c3e61eb8602b2cf8f45fed0afa50c6aee932f/export_to_RTEMS.py
2023-05-22 09:43:48 +02:00
Sebastian Huber
bcef89f236 Update company name
The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.
2023-05-20 11:05:26 +02:00
Alex White
9b7a1da804 bsps/microblaze: Add device tree support to GPIO 2023-05-19 12:32:18 -05:00
Alex White
59f9ed28d8 bsps/microblaze: Remove GPIO build system options
The number of GPIO devices along with each of their particular
configurations is application-specific. Encoding this information as
build options also introduced a lot of clutter.
2023-05-19 12:32:18 -05:00
Aaron Nyholm
94a7d17b09 aarch64/versal: Fix uart interrupt issues 2023-05-16 12:48:53 +10:00
Karel Gardas
bf53ff2de2 bsps/amd64: add a new EFI-based variant of AMD64 BSP
The new amd64efi BSP supports:
- multiboot2 boot format. Runs well with GRUB.
- console based on either EFI simple text output or GOP-based framebuffer
- clock based on EFI event/timer API
- early console using either hard-wired PC-AT serial or just memory buffer
- with EFI support disabled the BSP is more or less equivalent to amd64 BSP
  with multiboot2 support
2023-04-29 20:41:23 +02:00
Karel Gardas
8804422a48 bsps/shared: import FreeBSD libefi library
The library is imported in minimalist version just to support future
amd64efi BSP.

The FreeBSD tree commit id with imported libefi version is:
ce7b20e5129cf0f269951b313d336a9c7d54d790
2023-04-29 20:41:23 +02:00
Chris Johns
3e4fa73935 bsps/powerpc: Fix warnings with PPC_SPECIAL_PURPOSE_REGISTER 2023-04-24 09:13:45 +10:00
Maldonado, Sergio E. (GSFC-580.0)
fe6a5d0f7a bsps/microblaze: Fix UART transmit interrupt 2023-04-19 09:55:43 -05:00
Maldonado, Sergio E. (GSFC-580.0)
c627a13239 bsps/microblaze: Add support for multiple UARTs 2023-04-19 09:55:43 -05:00
Maldonado, Sergio E. (GSFC-580.0)
1fbfc4eeac bsps/microblaze: Allow copying FDT from U-Boot 2023-04-19 09:55:43 -05:00
Kinsey Moore
7e119562ae bsps/aarch64: Enable MMU during remaps
The MMU must be enabled during mapping changes and TLB invalidations.
When this is not the case, TLB updates do not occur correctly in all
cases. This is especially apparent when changing a block entry to a
table entry when remapping small memory ranges in an otherwise
contiguous block.
2023-04-18 08:28:35 -05:00
Chris Johns
407c87cd88 bsps/powerpc: Fix warnings with PPC_SPECIAL_PURPOSE_REGISTER 2023-04-11 14:55:02 +10:00
Chris Johns
25e1a11402 bsps/motorola_powerpc: Change defines from BSP names to avoid clash
- Change mvme2100 to mot_pcc_mvme2100 to avoid clashing with the
  RTEMS_BSP value for the BSP. You cannot have a define that is the
  BSP name.
2023-04-11 14:54:54 +10:00
Chris Johns
2138ce43c5 bsps/mvme2700: Add MVME2700 BSP 2023-04-06 08:41:16 +10:00
Sebastian Huber
675a741023 bsp/qoriq: Build VME Tundra Tsi148 driver 2023-04-05 14:24:39 +02:00
Sebastian Huber
e9127eeef4 bsps/vme: Remove quirk
printk() supports long long integers.
2023-04-05 14:21:49 +02:00
Sebastian Huber
64fe53cb51 bsps/vme: Include missing header file 2023-04-05 14:19:07 +02:00
Sebastian Huber
32fe5724a8 bsps: Mark argument as unused
Update #4862.
2023-04-05 14:18:12 +02:00
Alan Cudmore
26853a0624 bsps/riscv: add riscv/kendrytek210 BSP variant source changes
This patch adds support for the Kendryte K210 RISC-V BSP variant.
The SoC uses the existing Interrupt Controller, Timer, and console UART.
It only needs SoC specific initialization and an embedded device tree binary
similar to the polarfire SoC BSP.

Updates #4876
2023-03-28 14:04:04 -05:00
Alan Cudmore
ca1c4e70f5 bsps/riscv: add device tree source and device tree blob header for k210 bsp variant
This patch adds the k210 device tree source and the corresponding
device tree blob encoded in the header which is used for the
embedded device tree blob for the Kendryte K210 BSP variant.

Updates #4876
2023-03-28 14:04:04 -05:00
Kinsey Moore
7163014e3f bsps/xqspipsu: Add support for reading ECC
This adds a helper function to read the ECC status for an ECC unit in
SPI-attached NOR memory.
2023-03-22 13:30:08 -05:00
Kinsey Moore
ddafdfe9ba bsps/zynqmp: Use correct include path
The existing include path only works from inside the RTEMS build. This
fixes the include path to work both in the RTEMS build and with builds
of external apps since this file gets installed with the BSP.
2023-03-22 13:30:07 -05:00
Sebastian Huber
a60b816fa7 bsps/arm: Fix wording 2023-03-17 07:25:34 +01:00
Sebastian Huber
11cc51ef27 bsps/riscv: Use per-CPU mtimecmp in clock driver
Use the mtimecmp from the PLIC/CLINT initialization in the clock driver.  This
register is defined by the device tree and does not assume a fixed mapping.
2023-03-17 07:25:34 +01:00
Sebastian Huber
cbddf5decd bsps/riscv: Fix riscv_get_hart_index_by_phandle()
Take a non-zero RISCV_BOOT_HARTID into account.
2023-03-17 07:25:34 +01:00
Sebastian Huber
e5233057be bsps/riscv: Make SMP start more robust
In SMP configurations, check that we run on a configured processor.  If not,
then there is not much that can be done since we do not have a stack available
for this processor.  Just loop forever in this case.  Do this in assemlby to
ensure that no stack memory is used.
2023-03-17 07:25:23 +01:00
Karel Gardas
139bc390b5 score/arm: enhance ARMV7M MPU setup with capability to set control register
Due to API change, the patch also fixes affected BSPs and uses
value provided by MPU CTRL spec option there.

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
10ff982834 bsps/xnandpsu: Allow use of both chip selects
By default, the Xilinx NAND driver does not probe the second chip
select. This alteration allows the second half of chips to be
detected when present.
2023-03-15 13:29:12 -05:00
Alex White
725e5ce27f bsps/microblaze: Add AXI GPIO driver 2023-03-14 09:29:16 -05:00
Karel Gardas
1a4e78b3a0 bsps/stm32h7: fix propagation of configured HSE freq. value into the code
Sponsored-By:	Precidata
2023-03-10 16:18:32 +01:00
Kinsey Moore
d08dfc3d63 bsps/aarch64: Disable interrupts during MMU remap
Interrupts must be disabled during MMU remapping since the majority of
RTEMS including interrupts expects normal memory mapping semantics such
as unaligned accesses.
2023-02-27 12:31:48 -06:00