Commit Graph

1376 Commits

Author SHA1 Message Date
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
Karel Gardas
673d7861e3 bsps/beagle: fix warning on possibly uninitialized clock control in pwmss. 2023-02-18 23:00:05 +01:00
Karel Gardas
4600dd1d2f bsps/beagle: fix warning on missing cast 2023-02-18 23:00:05 +01:00
Karel Gardas
14026f6b10 bsps/beagle: do not set values already set by spec file(s).
The patch fixes few symbol already defined warnings here.
2023-02-18 23:00:05 +01:00
Sebastian Huber
bb465c8548 doxygen: Add Doxygen files to a group
Update #3707.
2023-02-16 08:27:09 +01:00
Kinsey Moore
2a6aaf87bd bsps/aarch64: Fix off-by-one cache bug
The whole cache invalidation and flushing functions only ended up
flusing the first N-1 levels of cache due to an off by one error. This
resovles that issue and makes consistent the usage of levels as they
relate to caching.
2023-02-14 08:33:53 -06:00
Kinsey Moore
b44e26baa7 bsps/aarch64: Flush cache before disabling MMU
To ensure data consistency, the cache much be flushed before disabling
the MMU. When the MMU is disabled, all accesses are treated as
non-cachced and thus will bypass the cache.
2023-02-14 08:33:52 -06:00
Sebastian Huber
b993111594 bsp/leon3: Move SMP data to start.S
The LEON3_Boot_Cpu global object is only used by start.S.  Move the definition
of this object to start.S and use a local symbol .Lbootcpuindex for it.

Use a compare-and-swap instruction to assign the boot CPU.  This allows a
concurrent initialization.

Close #4845.
2023-02-10 16:15:52 +01:00
Sebastian Huber
519e288a96 bsps/irq: Clarify interrupt vector operations
Clarify that the presence of error conditions is
implementation-defined.

Close #4843.
2023-02-10 16:14:11 +01: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
d9f3dcba10 bsps/xil: Make sleep.h a stub
This makes xil/sleep.h a stub to prevent multiple differing definitions
of sleep functions from toolchain and local headers. The non-standard
sleep definitions were not in use and can be added later if needed.
2023-02-08 14:11:47 -06:00
Ryan Long
9d5354e897 bsps/microblaze: Add device tree support to UART Lite 2023-02-06 14:29:24 -06:00
Ryan Long
3fd8cf2d37 bsps/microblaze: Add device tree support to JFFS2 QSPI 2023-02-06 14:29:24 -06:00
Ryan Long
cbac78afa9 bsps/microblaze: Add device tree support to AXI interrupt controller 2023-02-06 14:29:24 -06:00
Alex White
eb94aaff1d bsps/microblaze: Add device tree support to timer 2023-02-06 14:29:24 -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
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
Karel Gardas
d068cdb384 bsps/stm32h7: import stm32h757i-eval QSPI memory high-level driver 2023-02-05 20:42:24 +01:00
Karel Gardas
f9169dca69 bsps/stm32h7: import MT25TL01G QSPI memory low-level driver 2023-02-05 20:42:24 +01:00
Kinsey Moore
ada805ea2e bsps/nand: Update Xilinx NAND driver
This resovles gcc warnings by updating to the latest Xilinx NAND
controller driver.
2023-01-30 10:44:24 -06:00
Joel Sherrill
29a3ad1ba9 grlib: Fix snprintf() overflow warnings from gcc 12
Updates #4662.
2023-01-30 10:44:20 -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
Alex White
fd2f9d40b5 bsps: Import Xilinx GQSPI driver
This adds Xilinx's driver for the Xilinx GQSPI controller embedded in
the ZynqMP SoC. Within that device alone, it is possible to access this
peripheral from MicroBlaze, ARMv7, and ARMv8 cores. The imported files
are and should be able to remain unmodified. Import information is kept
in bsps/shared/dev/spi/VERSION.
2023-01-27 14:49:27 -06:00
Sebastian Huber
d36070fec8 intr: Add Interrupt Manager implementation group
The shared BSP interrupt controller support code actually implements
parts of the Interrupt Manager.

Update #3706.
2023-01-24 09:56:53 +01:00
Sebastian Huber
6136e28bf9 clockdrv: Add clock driver implementation group
Use standard wording in Clock Driver related files.

Update #3706.
2023-01-24 09:56:53 +01:00
Sebastian Huber
10ee41a8a3 tm27: Avoid function pointer casts
Add TM27_USE_VECTOR_HANDLER to select the interrupt handler type used by
the <tm27.h> implementation.

Close #4820.
2023-01-24 09:56:53 +01:00
Sebastian Huber
45ef2dd3fe bsp/tms570: Fix define redefinition error 2023-01-17 08:31:48 +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
b76f382bd4 bsps/xil: Use the LP64 header for ILP32
Xilinx's upstream ILP32 xil_cache.h header is out of date and broken.
This provides a copy of the LP64 header in place of the ILP32 header
since the LP64 header includes all the correct types to work with either
data model.
2023-01-04 13:11:29 -06: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
Sebastian Huber
0c0b2837a7 bsp/qoriq: Add qoriq_mmu_adjust_and_write_to_tlb1() 2023-01-03 09:01:46 +01:00
Sebastian Huber
0e052bcb3e bsp/qoriq: Add qoriq_mmu_find_free_tlb1_entry() 2023-01-03 09:01:46 +01:00
Sebastian Huber
ad454d1c63 bsp/qoriq: Support message signaled interrupts 2023-01-03 09:01:46 +01:00
Sebastian Huber
62932ec0cc bsp/qoriq: Clear shared message signaled interrupts 2023-01-03 08:24:03 +01:00
Sebastian Huber
ecbb565653 bsp/qoriq: Use only pic_is_ipi() 2023-01-03 08:18:07 +01: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
88b80a5fd0 RISC-V: Always probe for HTIF and remove RISCV_ENABLE_HTIF_SUPPORT
Updates #4779
2022-12-23 09:21:14 +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
Christian Mauderer
26050b5fb4 bsps/atsam: Fix unidirectional SPI transfers
A SPI transfer where the Rx or Tx buffer is set to NULL currently
transfers or overwrites data starting from address 0x00000000 via DMA.

This patch changes the DMA setup so that dummy transfers are done.
Just reading / writing to a single location is simpler than changing the
whole logic of the transfer depending on the passed buffers.
2022-12-15 09:20:52 +01:00
Kinsey Moore
1c189e1aa7 bsps/zynqmp: Fix and update device trees
Add ref-clock-num identifiers to the device tree to ensure that
interfaces use the correct clocks even when some are not used due to
unconnected MII busses. This also adjusts the default ZynqMP PHY
attachment to RGMII-ID which was the default before device trees were
introduced.
2022-12-07 07:38:03 -06: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
0d5e41afde bsps/irq: Add bsp_interrupt_get_dispatch_table_slot()
Update #4769.
2022-12-02 10:25:44 +01:00
Sebastian Huber
71d1acd41d bsps/irq: Rename handler in dispatch table
The name handler table was a bit misleading after the last rework.
Rename it to distach table.  Update the documentation accordingly.

Update #4769.
2022-12-02 10:25:39 +01:00
Alex White
c3e14019c8 bsps/microblaze: Fix console interrupt build errors
This fixes build errors seen when building with console interrupts
enabled. A few places were missing bspopts.h includes, and one of the
UART functions was not defined.
2022-11-29 16:59:26 -06:00
Sebastian Huber
d9c7db505c bsps/riscv: Simplify PLIC support
In uniprocessor configurations there is no need to take interrupt affinities
into account for the interrupt vector enable/disable.
2022-11-23 07:56:12 +01:00