2025-05-21 11:31:07 +08:00

69 lines
1.5 KiB
C

/*
* bsp_ds90ub948.c
*
* Created on: 2025年4月10日
* Author: 22332
*/
#include "cola_init.h"
#include "cola_device.h"
#include "drv_slave_iic.h"
static cola_device_t g_dev_ds90ub948;
static int bsp_ds90ub948_open(cola_device_t *dev, int oflag){
bsp_drv_slave_iic_init();
return 0;
}
static int bsp_ds90ub948_close(cola_device_t *dev){
bsp_drv_slave_iic_Deinit();
return 0;
}
static int bsp_ds90ub948_read(cola_device_t *dev, int pos, void *buffer, int size){
bsp_drv_slave_iic_read(buffer,size);
return size;
}
static int bsp_ds90ub948_write(cola_device_t *dev, int pos, const void *buffer, int size){
bsp_drv_slave_iic_write(buffer,size);
return size;
}
static int bsp_ds90ub948_config(cola_device_t *dev, void *args, void *var)
{
bsp_drv_slave_iic_cfg(args,var);
return 0;
}
static int bsp_ds90ub948_ctrl(cola_device_t *dev, int cmd, void *args)
{
if(cmd == 0)
bsp_drv_slave_iic_ctrl_task(args);
if(cmd == 1)
bsp_drv_slave_iic_ctrl_buf(args);
return 0;
}
static struct cola_device_ops ds90ub948_Ops ={
.open = bsp_ds90ub948_open,
.close = bsp_ds90ub948_close,
.read = bsp_ds90ub948_read,
.write = bsp_ds90ub948_write,
.config = bsp_ds90ub948_config,
.control= bsp_ds90ub948_ctrl
};
static void bsp_ds90ub948_configuration(void){
g_dev_ds90ub948.name = "DS90UB948";
g_dev_ds90ub948.dops = &ds90ub948_Ops;
cola_device_register(&g_dev_ds90ub948);
}
register_initcall(bsp_ds90ub948_configuration);