RTEMS | bsp/aarch64/raspberrypi: Add support for DMA (!662)

Kinsey Moore (@opticron) gitlab at rtems.org
Tue Aug 19 22:31:53 UTC 2025




Kinsey Moore started a new discussion on bsps/aarch64/raspberrypi/include/bsp/raspberrypi-dma.h: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/662#note_129066

 > + * Allocates and prepares the channel-specific control block, performs required
 > + * cache maintenance (flush control block and source; invalidate destination),
 > + * issues CS reset/abort, and writes CONBLK_AD (with DMA4 address packing via
 > + * DMA4_AD_SHIFT). This function does **not** start the transfer; call
 > + * ::rpi_dma_start_transfer() and then ::rpi_dma_wait().
 > + *
 > + * @param channel              DMA channel to use (0–6 noarmal DMA, 7–10 lite, 11–14 DMA4).
 > + * @param source_address       Source buffer (must be CPU_CACHE_LINE_BYTES aligned).
 > + * @param destination_address  Destination buffer (must be CPU_CACHE_LINE_BYTES aligned).
 > + * @param transfer_length      Number of bytes to copy.
 > + * @retval RTEMS_SUCCESSFUL        on success.
 > + * @retval RTEMS_INVALID_NUMBER    if @a channel is invalid/unsupported or has no base address.
 > + * @retval RTEMS_INVALID_ADDRESS   if @a source_address or @a destination_address are misaligned.
 > + * @retval RTEMS_NO_MEMORY         if control block allocation failed.
 > + */
 > +rtems_status_code rpi_dma_mem_to_mem_init( rpi_dma_channel channel, void *source_address, void *destination_address, uint32_t transfer_length );

Ensure that this does not exceed 80 characters per line.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/662#note_129066
You're receiving this email because of your account on gitlab.rtems.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20250819/959acaa0/attachment-0001.htm>


More information about the bugs mailing list