Forked repo of Platform Drivers- Analog Devices

Committer:
Janani Sunil
Date:
Mon Nov 22 22:26:51 2021 +0530
Revision:
20:26b1a4570f4b
The following changes were made:
1.) Modified udelay() function for generating more accurate smaller usec delays
2.) Implemented the irq_enable and irq_disable functions
3.) Removed the confusion b/w application created peripheral object and interrupt specific object
4.) Created PWM extra init structure and added PWM pin as it's member for multiplatform project compatibility
5.) Added a module for timer and its related header file

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Janani Sunil 20:26b1a4570f4b 1 /***************************************************************************//*
Janani Sunil 20:26b1a4570f4b 2 * @file timer_extra.h
Janani Sunil 20:26b1a4570f4b 3 * @brief Header containing extra types for Timer interface
Janani Sunil 20:26b1a4570f4b 4 ******************************************************************************
Janani Sunil 20:26b1a4570f4b 5 * Copyright (c) 2021 Analog Devices, Inc.
Janani Sunil 20:26b1a4570f4b 6 * All rights reserved.
Janani Sunil 20:26b1a4570f4b 7 *
Janani Sunil 20:26b1a4570f4b 8 * This software is proprietary to Analog Devices, Inc. and its licensors.
Janani Sunil 20:26b1a4570f4b 9 * By using this software you agree to the terms of the associated
Janani Sunil 20:26b1a4570f4b 10 * Analog Devices Software License Agreement.
Janani Sunil 20:26b1a4570f4b 11 ******************************************************************************/
Janani Sunil 20:26b1a4570f4b 12
Janani Sunil 20:26b1a4570f4b 13 #ifndef _TIMER_EXTRA_H_
Janani Sunil 20:26b1a4570f4b 14 #define _TIMER_EXTRA_H_
Janani Sunil 20:26b1a4570f4b 15
Janani Sunil 20:26b1a4570f4b 16 // Platform support needs to be C-compatible to work with other drivers
Janani Sunil 20:26b1a4570f4b 17 #ifdef __cplusplus
Janani Sunil 20:26b1a4570f4b 18 extern "C"
Janani Sunil 20:26b1a4570f4b 19 {
Janani Sunil 20:26b1a4570f4b 20 #endif
Janani Sunil 20:26b1a4570f4b 21
Janani Sunil 20:26b1a4570f4b 22 /*****************************************************************************/
Janani Sunil 20:26b1a4570f4b 23 /***************************** Include Files *********************************/
Janani Sunil 20:26b1a4570f4b 24 /*****************************************************************************/
Janani Sunil 20:26b1a4570f4b 25
Janani Sunil 20:26b1a4570f4b 26 #include "stdio.h"
Janani Sunil 20:26b1a4570f4b 27 #include "stdint.h"
Janani Sunil 20:26b1a4570f4b 28
Janani Sunil 20:26b1a4570f4b 29 /*****************************************************************************/
Janani Sunil 20:26b1a4570f4b 30 /********************** Macros and Constants Definition **********************/
Janani Sunil 20:26b1a4570f4b 31 /*****************************************************************************/
Janani Sunil 20:26b1a4570f4b 32
Janani Sunil 20:26b1a4570f4b 33 /******************************************************************************/
Janani Sunil 20:26b1a4570f4b 34 /********************** Variables and User defined data types *****************/
Janani Sunil 20:26b1a4570f4b 35 /******************************************************************************/
Janani Sunil 20:26b1a4570f4b 36
Janani Sunil 20:26b1a4570f4b 37 /**
Janani Sunil 20:26b1a4570f4b 38 * @struct mbed_timer_desc
Janani Sunil 20:26b1a4570f4b 39 * @brief Structure holding the mbed specific Timer parameters
Janani Sunil 20:26b1a4570f4b 40 */
Janani Sunil 20:26b1a4570f4b 41 typedef struct mbed_timer_desc {
Janani Sunil 20:26b1a4570f4b 42 void *timer; // Object to the mbed Timer class
Janani Sunil 20:26b1a4570f4b 43 } mbed_timer_desc;
Janani Sunil 20:26b1a4570f4b 44
Janani Sunil 20:26b1a4570f4b 45 /******************************************************************************/
Janani Sunil 20:26b1a4570f4b 46 /*****************************Function Declarations****************************/
Janani Sunil 20:26b1a4570f4b 47 /******************************************************************************/
Janani Sunil 20:26b1a4570f4b 48
Janani Sunil 20:26b1a4570f4b 49 /* Function to capture the elapsed time in nanoseconds */
Janani Sunil 20:26b1a4570f4b 50 int32_t get_elapsed_time_in_nsec(struct timer_desc *desc,
Janani Sunil 20:26b1a4570f4b 51 uint64_t *elapsed_time);
Janani Sunil 20:26b1a4570f4b 52
Janani Sunil 20:26b1a4570f4b 53 #ifdef __cplusplus // Closing extern c
Janani Sunil 20:26b1a4570f4b 54 }
Janani Sunil 20:26b1a4570f4b 55 #endif
Janani Sunil 20:26b1a4570f4b 56
Janani Sunil 20:26b1a4570f4b 57 #endif /*_TIMER_EXTRA_H_ */