| /* |
| * Copyright (c) 2013-2017 ARM Limited. All rights reserved. |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| * |
| * Licensed under the Apache License, Version 2.0 (the License); you may |
| * not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an AS IS BASIS, WITHOUT |
| * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| * $Date: 2. Feb 2017 |
| * $Revision: V2.0 |
| * |
| * Project: Common Driver definitions |
| */ |
| |
| /* History: |
| * Version 2.0 |
| * Changed prefix ARM_DRV -> ARM_DRIVER |
| * Added General return codes definitions |
| * Version 1.10 |
| * Namespace prefix ARM_ added |
| * Version 1.00 |
| * Initial release |
| */ |
| |
| #ifndef DRIVER_COMMON_H_ |
| #define DRIVER_COMMON_H_ |
| |
| #include <stddef.h> |
| #include <stdint.h> |
| #include <stdbool.h> |
| |
| #define ARM_DRIVER_VERSION_MAJOR_MINOR(major,minor) (((major) << 8) | (minor)) |
| |
| /** |
| \brief Driver Version |
| */ |
| typedef struct _ARM_DRIVER_VERSION { |
| uint16_t api; ///< API version |
| uint16_t drv; ///< Driver version |
| } ARM_DRIVER_VERSION; |
| |
| /* General return codes */ |
| #define ARM_DRIVER_OK 0 ///< Operation succeeded |
| #define ARM_DRIVER_ERROR -1 ///< Unspecified error |
| #define ARM_DRIVER_ERROR_BUSY -2 ///< Driver is busy |
| #define ARM_DRIVER_ERROR_TIMEOUT -3 ///< Timeout occurred |
| #define ARM_DRIVER_ERROR_UNSUPPORTED -4 ///< Operation not supported |
| #define ARM_DRIVER_ERROR_PARAMETER -5 ///< Parameter error |
| #define ARM_DRIVER_ERROR_SPECIFIC -6 ///< Start of driver specific errors |
| |
| /** |
| \brief General power states |
| */ |
| typedef enum _ARM_POWER_STATE { |
| ARM_POWER_OFF, ///< Power off: no operation possible |
| ARM_POWER_LOW, ///< Low Power mode: retain state, detect and signal wake-up events |
| ARM_POWER_FULL ///< Power on: full operation at maximum performance |
| } ARM_POWER_STATE; |
| |
| #endif /* DRIVER_COMMON_H_ */ |