[PATCH 3/3] Mailbox : Adding functionality to get clock rate
Mudit Jain
muditjain18011995 at gmail.com
Sat Aug 20 14:08:46 UTC 2016
Kindly ignore this. I have rebased and pushed all the changes in one
patch.
Thanks
Mudit
On Sat, Aug 20, 2016 at 6:55 PM, Mudit Jain <muditjain18011995 at gmail.com>
wrote:
> From: Mudit Jain <muditj at nvidia.com>
>
> ---
> c/src/lib/libbsp/arm/raspberrypi/include/vc.h | 8 +++++++
> c/src/lib/libbsp/arm/raspberrypi/misc/vc.c | 26
> ++++++++++++++++++++++
> c/src/lib/libbsp/arm/raspberrypi/misc/vc_defines.h | 12 ++++++++++
> 3 files changed, 46 insertions(+)
>
> diff --git a/c/src/lib/libbsp/arm/raspberrypi/include/vc.h
> b/c/src/lib/libbsp/arm/raspberrypi/include/vc.h
> index 74f7557..e863732 100644
> --- a/c/src/lib/libbsp/arm/raspberrypi/include/vc.h
> +++ b/c/src/lib/libbsp/arm/raspberrypi/include/vc.h
> @@ -144,6 +144,14 @@ typedef struct {
>
> int bcm2835_mailbox_get_board_serial(
> bcm2835_get_board_serial_entries *_entries );
> +
> +typedef struct {
> + uint32_t clock_id;
> + uint32_t clock_rate;
> +} bcm2835_get_clock_rate_entries;
> +
> +int bcm2835_mailbox_get_clock_rate(
> + bcm2835_get_clock_rate_entries *_entries );
> /** @} */
>
> #endif /* LIBBSP_ARM_RASPBERRYPI_VC_H */
> diff --git a/c/src/lib/libbsp/arm/raspberrypi/misc/vc.c
> b/c/src/lib/libbsp/arm/raspberrypi/misc/vc.c
> index c089b36..df92649 100644
> --- a/c/src/lib/libbsp/arm/raspberrypi/misc/vc.c
> +++ b/c/src/lib/libbsp/arm/raspberrypi/misc/vc.c
> @@ -447,3 +447,29 @@ int bcm2835_mailbox_get_board_serial(
>
> return 0;
> }
> +
> +int bcm2835_mailbox_get_clock_rate(
> + bcm2835_get_clock_rate_entries *_entries )
> +{
> + struct {
> + bcm2835_mbox_buf_hdr hdr;
> + bcm2835_mbox_tag_get_clock_rate get_clock_rate;
> + uint32_t end_tag;
> + } buffer BCM2835_MBOX_BUF_ALIGN_ATTRIBUTE;
> + BCM2835_MBOX_INIT_BUF( &buffer );
> + BCM2835_MBOX_INIT_TAG_NO_REQ( &buffer.get_clock_rate,
> + BCM2835_MAILBOX_TAG_GET_CLOCK_RATE );
> + buffer.get_clock_rate.body.req.clock_id = _entries->clock_id;
> + bcm2835_mailbox_buffer_flush_and_invalidate( &buffer, sizeof( &buffer
> ) );
> +
> + if ( bcm2835_mailbox_send_read_buffer( &buffer ) )
> + return -1;
> +
> + _entries->clock_id = buffer.get_clock_rate.body.resp.clock_id;
> + _entries->clock_rate = buffer.get_clock_rate.body.resp.clock_rate;
> +
> + if ( !bcm2835_mailbox_buffer_suceeded( &buffer.hdr ) )
> + return -2;
> +
> + return 0;
> +}
> diff --git a/c/src/lib/libbsp/arm/raspberrypi/misc/vc_defines.h
> b/c/src/lib/libbsp/arm/raspberrypi/misc/vc_defines.h
> index e1a5a5b..48d1658 100644
> --- a/c/src/lib/libbsp/arm/raspberrypi/misc/vc_defines.h
> +++ b/c/src/lib/libbsp/arm/raspberrypi/misc/vc_defines.h
> @@ -217,6 +217,18 @@ typedef struct {
> } bcm2835_mbox_tag_get_vc_memory;
>
> #define BCM2835_MAILBOX_TAG_GET_CLOCKS 0x00010007
> +typedef struct {
> + bcm2835_mbox_tag_hdr tag_hdr;
> + union {
> + struct {
> + uint32_t clock_id;
> + } req;
> + struct {
> + uint32_t clock_id;
> + uint32_t clock_rate;
> + } resp;
> + } body;
> +} bcm2835_mbox_tag_get_clock_rate;
>
> /* Config */
> #define BCM2835_MAILBOX_TAG_GET_CMD_LINE 0x00050001
> --
> 1.9.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20160820/79829f9e/attachment-0002.html>
More information about the devel
mailing list