summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/raspberrypi/misc/mailbox.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/arm/raspberrypi/misc/mailbox.c')
-rw-r--r--c/src/lib/libbsp/arm/raspberrypi/misc/mailbox.c63
1 files changed, 0 insertions, 63 deletions
diff --git a/c/src/lib/libbsp/arm/raspberrypi/misc/mailbox.c b/c/src/lib/libbsp/arm/raspberrypi/misc/mailbox.c
deleted file mode 100644
index 8196781ee5..0000000000
--- a/c/src/lib/libbsp/arm/raspberrypi/misc/mailbox.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * @file
- *
- * @ingroup raspberrypi
- *
- * @brief mailbox support.
- */
-/*
- * Copyright (c) 2015 Yang Qiao
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- *
- * http://www.rtems.org/license/LICENSE
- *
- */
-
-#include <stdint.h>
-#include <stdbool.h>
-#include <bsp.h>
-#include <bsp/raspberrypi.h>
-#include <bsp/mailbox.h>
-
-#define BCM2835_MBOX_DATA_MASK( data ) ( data & 0xFFFFFFF0U )
-#define BCM2835_MBOX_CHANNEL_MASK( data ) ( data & 0xFU )
-
-static inline bool bcm2835_mailbox_is_empty( void )
-{
- return ( BCM2835_REG( BCM2835_MBOX_STATUS ) & BCM2835_MBOX_EMPTY );
-}
-
-static inline bool bcm2835_mailbox_is_full( void )
-{
- return ( BCM2835_REG( BCM2835_MBOX_STATUS ) & BCM2835_MBOX_FULL );
-}
-
-unsigned int raspberrypi_mailbox_read( unsigned int channel )
-{
- unsigned int raw;
- unsigned int read_channel;
-
- while ( 1 ) {
- while ( bcm2835_mailbox_is_empty() ) ;
-
- raw = BCM2835_REG( BCM2835_MBOX_READ );
- read_channel = BCM2835_MBOX_CHANNEL_MASK( raw );
-
- if ( read_channel == channel )
- return BCM2835_MBOX_DATA_MASK( raw );
- }
-}
-
-void raspberrypi_mailbox_write(
- unsigned int channel,
- unsigned int data
-)
-{
- while ( bcm2835_mailbox_is_full() ) ;
-
- BCM2835_REG( BCM2835_MBOX_WRITE ) =
- BCM2835_MBOX_DATA_MASK( data ) |
- BCM2835_MBOX_CHANNEL_MASK( channel );
-}