This adds a basic BSP for RockPro64, which includes a UART,
an ARM timer, and GICv3 support, and utilizes all available
memory as defined by the upstream U-Boot configuration.
Closes#5414
This warning occurs when comparing a signed variable to an unsigned one.
This is frequently an int or ssize_t variable compared to a uint32_t or
size_t. Sometimes the size_t is from a sizeof() use.
This warning occurs when comparing a signed variable to an unsigned one.
This is frequently an int or ssize_t variable compared to a uint32_t or
size_t. Sometimes the size_t is from a sizeof() use.
This warning occurs when comparing a signed variable to an unsigned one.
This is frequently an int or ssize_t variable compared to a uint32_t or
size_t. Sometimes the size_t is from a sizeof() use.
This warning occurs when comparing a signed variable to an unsigned one.
This is frequently an int or ssize_t variable compared to a uint32_t or
size_t. Sometimes the size_t is from a sizeof() use.
This removes the adapters that provide glue code directly from JFFS2 to
backend storage drivers since JFFS2, the NAND driver, and the QSPI NOR
driver all support the flashdev interface.
This changes the signature of the VMEBus DMA IRQ Callback type
(BSP_VMEDmaIRQCallback) to match that expected by BSP_installVME_isr()
when the callback is installed.
grlib has places where a function similar to memcpy() can be
provided by the driver. The signature does not match memcpy()
which led to function cast warnings when memcpy() was sufficient.
Provided a wrapper function to aligned the signatures.
A write to the sctlr_el1 register is a 'context-changing operation'
and thus requires a pipeline flush for the change to actually take
effect on subsequent instructions.
The isb instruction gurantees this, and ensures mmu is enabled
immediately.
Many files with Eric Valette as author only had his email address.
This led to them being missed in previous relicensing passes.
This effort relicensed where possible and made efforts to have the
file follow the RTEMS standard for top of files (SPDX, Doxygen,
and then copyright/license).
Closes#5418.
The DMA interrupt handlers for multiple drivers took two parameters
but the signature expected by the registration function assumed the
handlers had three parameters. The solution was to conditionally add
a third parameter (ignored) and mark it with RTEMS_UNUSED.
For the UART and USART drivers, there was a type defined for the
handler which included the incorrect signature. Changed to use the
DMA handler type.
Implements the required bsp directives for the 'new' style rtems
interrupt system. Previously, uC5282 only supported interrupts through
the BSP_installVME_isr directive.
BSP_installVME_isr still behaves the same, but is instead implemented
using the new IRQ directives. To ensure compatibility with existing
EPICS related code without causing subtle bugs, BSP_installVME_isr will
also poke at the EPORT interrupt settings to enable IRQ1 when installing
a "fake VME" interrupt (vector >= 192).
This also fixes a regression from e9cb088995 that broke clock interrupt
handlers, leading to the BSP crashing shortly after boot.
The ZYNQMP_RPU_CORE_INDEX macro is undefined in the code, making
BSP_ARM_GIC_MULTI_PROCESSOR_SECONDARY never being defined, which makes
the secondary core initialize GIC again. It should be changed to
ZYNQMP_RPU_SPLIT_INDEX.
This change was made to address GCC -Wtype-limits warnings.
In this case, the counter variable was uint16_t but the value
of ALTERA_EPCQ_CONTROLLER2_1US_TIMEOUT_VALUE was too large
for uint16_t.
These changes were made to address GCC -Wtype-limits warnings.
In this case, an unsigned variable was used to contain an
int function return value and check it for < 0.
These changes were made to address GCC -Wtype-limits warnings.
In this case, the array index was an unsigned char and the array
being indexed had 256 entries. There was no way for the index to
be an invalid index.