RTEMS | bsp/aarch64/raspberrypi: Add Mailbox Support (!915)
Shaunak Datar (@skdatar)
gitlab at rtems.org
Mon Jan 19 14:40:50 UTC 2026
Shaunak Datar commented on a discussion on bsps/aarch64/raspberrypi/start/mailbox.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/915#note_139222
> + while (BCM2835_REG(BCM2711_MBOX_STATUS) & BCM2711_MBOX_FULL) {
> + }
> +
> + BCM2835_REG(BCM2711_MBOX_WRITE) =
> + (data & MBOX_MAIL_DATA_MASK) | (channel & MBOX_MAIL_CHANNEL_MASK);
> +}
> +
> +uint32_t rpi_mbox_read(bcm2711_mbox_channel channel) {
> + uint32_t data;
> + while (1) {
> + while (BCM2835_REG(BCM2711_MBOX_STATUS) & BCM2711_MBOX_EMPTY) {
> + }
> + data = BCM2835_REG(BCM2711_MBOX_READ);
> +
> + if ((data & MBOX_MAIL_CHANNEL_MASK) == channel) {
> + return data & MBOX_MAIL_DATA_MASK;
Yeah that makes sense, will add a timeout parameter. I checked the functionality without the `while(1)` its not consistent.
--
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/915#note_139222
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/20260119/8ce6be2c/attachment.htm>
More information about the bugs
mailing list