sunxi_hal_lradc.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /* Copyright (c) 2019-2025 Allwinner Technology Co., Ltd. ALL rights reserved.
  2. * Allwinner is a trademark of Allwinner Technology Co.,Ltd., registered in
  3. * the the People's Republic of China and other countries.
  4. * All Allwinner Technology Co.,Ltd. trademarks are used with permission.
  5. * DISCLAIMER
  6. * THIRD PARTY LICENCES MAY BE REQUIRED TO IMPLEMENT THE SOLUTION/PRODUCT.
  7. * IF YOU NEED TO INTEGRATE THIRD PARTY’S TECHNOLOGY (SONY, DTS, DOLBY, AVS OR MPEGLA, ETC.)
  8. * IN ALLWINNERS’SDK OR PRODUCTS, YOU SHALL BE SOLELY RESPONSIBLE TO OBTAIN
  9. * ALL APPROPRIATELY REQUIRED THIRD PARTY LICENCES.
  10. * ALLWINNER SHALL HAVE NO WARRANTY, INDEMNITY OR OTHER OBLIGATIONS WITH RESPECT TO MATTERS
  11. * COVERED UNDER ANY REQUIRED THIRD PARTY LICENSE.
  12. * YOU ARE SOLELY RESPONSIBLE FOR YOUR USAGE OF THIRD PARTY’S TECHNOLOGY.
  13. * THIS SOFTWARE IS PROVIDED BY ALLWINNER"AS IS" AND TO THE MAXIMUM EXTENT
  14. * PERMITTED BY LAW, ALLWINNER EXPRESSLY DISCLAIMS ALL WARRANTIES OF ANY KIND,
  15. * WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION REGARDING
  16. * THE TITLE, NON-INFRINGEMENT, ACCURACY, CONDITION, COMPLETENESS, PERFORMANCE
  17. * OR MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  18. * IN NO EVENT SHALL ALLWINNER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  19. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  20. * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  21. * LOSS OF USE, DATA, OR PROFITS, OR BUSINESS INTERRUPTION)
  22. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  23. * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  24. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  25. * OF THE POSSIBILITY OF SUCH DAMAGE.
  26. */
  27. #ifndef __HAL_LRADC_H__
  28. #define __HAL_LRADC_H__
  29. #include <sunxi_hal_common.h>
  30. #include <interrupt.h>
  31. #include <hal_interrupt.h>
  32. #include <lradc/platform_lradc.h>
  33. #include <lradc/common_lradc.h>
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif
  37. typedef void (*lradc_callback_t)(uint32_t irq_status, uint32_t data);
  38. typedef struct {
  39. lradc_callback_t func;
  40. void *arg;
  41. } lradc_func_data;
  42. /*****************************************************************************
  43. * Enums
  44. *****************************************************************************/
  45. typedef enum{
  46. HAL_ADC_STATUS_ERROR_PARAMETER = -3,
  47. HAL_ADC_STATUS_ERROR_CHANNEL = -2,
  48. HAL_ADC_STATUS_ERROR = -1,
  49. HAL_ADC_STATUS_OK = 0
  50. } hal_lradc_status_t;
  51. /*****************************************************************************
  52. * Functions
  53. *****************************************************************************/
  54. hal_lradc_status_t hal_lradc_init(void);
  55. hal_lradc_status_t hal_lradc_deinit(void);
  56. hal_lradc_status_t hal_lradc_register_callback(lradc_callback_t callback);
  57. #ifdef __cplusplus
  58. }
  59. #endif
  60. #endif /*__HAL_LRADC_H__*/