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