1 /* 2 * Copyright (C) 2021 Alibaba Group Holding Limited 3 */ 4 5 #ifndef _AOS_ADC_CSI_H 6 #define _AOS_ADC_CSI_H 7 8 #include <aos/adc_core.h> 9 #include <drv/adc.h> 10 11 typedef struct { 12 aos_adc_t aos_adc; /* aos adc device */ 13 csi_adc_t csi_adc; /* csi adc device */ 14 } aos_adc_csi_t; 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 /** 21 * Register an CSI ADC device 22 * 23 * @param[in] adc ADC ref to operate. The caller should allocate memory, 24 * init it and set id for the CSI ADC device. 25 * 26 * @return 0: on success; < 0: on failure 27 */ 28 aos_status_t aos_adc_csi_register(aos_adc_csi_t *adc_csi); 29 30 /** 31 * Unregister an CSI ADC device by id 32 * 33 * @param[in] id CSI ADC device id 34 * 35 * @return 0: on success; < 0: on failure 36 */ 37 aos_status_t aos_adc_csi_unregister(uint32_t id); 38 39 #ifdef __cplusplus 40 } 41 #endif 42 43 #endif /* _AOS_ADC_CSI_H */ 44